:root{font-family:Inter,system-ui,sans-serif;color:#18221d;background:#eef3ef;--green:#174d37;--red:#a93333}*{box-sizing:border-box}body{margin:0}main{max-width:900px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}small{color:#537064}h1{margin:.2rem 0;font-size:1.65rem}.filters,.summary,.card,.panel{background:#fff;border-radius:16px;padding:16px;box-shadow:0 5px 18px #254c3510}.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}label{font-size:.8rem;color:#52635b}input,select,button{width:100%;margin-top:5px;padding:11px;border:1px solid #cbd7d0;border-radius:10px;background:#fff;font:inherit}button{background:var(--green);color:#fff;font-weight:700;border:0}.secondary{background:#dce7e0;color:var(--green)}.danger{background:#a93333;margin-top:18px}nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.hidden{display:none!important}form{display:grid;gap:14px}.client-check{padding:12px;border-radius:10px;background:#eef3ef}.client-check.ok{background:#e0f3e7;color:#17653c}.client-check.bad,#formError,#error{color:var(--red);background:#faeaea}.summary{display:grid;grid-template-columns:1fr 1fr;margin:14px 0}.summary div{display:flex;flex-direction:column}.summary strong{font-size:1.45rem}.card{margin:10px 0;cursor:pointer;transition:transform .12s}.card:active{transform:scale(.985)}.top{display:flex;justify-content:space-between}.pending{color:var(--red)}.paid,#formSuccess{color:var(--green)}.meta{color:#607069;line-height:1.5}.amount{font-weight:800}.modal{position:fixed;inset:0;background:#0b2118aa;z-index:20;padding:18px;display:flex;align-items:center;justify-content:center}.detail{position:relative;background:#fff;border-radius:18px;padding:20px;width:min(620px,100%);max-height:92vh;overflow:auto}.close{position:absolute;right:12px;top:8px;width:40px;background:#edf2ef;color:#24372e;font-size:24px}.detail-photo{width:100%;max-height:56vh;object-fit:contain;border-radius:12px;background:#e8ecea}.detail-grid{display:grid;grid-template-columns:120px 1fr;gap:9px;margin-top:16px}.detail-grid b{color:#607069}@media(min-width:760px){.filters{grid-template-columns:repeat(6,1fr)}form{grid-template-columns:1fr 1fr}form>button,.client-check,#formError,#formSuccess{grid-column:1/-1}}
.photo-preview{background:#eef3ef;border-radius:14px;padding:12px}.photo-preview #photoPreview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-preview img{width:100%;height:130px;object-fit:contain;border-radius:9px;background:#fff}.photo-preview>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-preview .danger{margin-top:5px}.photo-preview p{margin:8px 0;color:#52635b}@media(min-width:760px){.photo-preview{grid-column:1/-1}}
.detail-photos{display:grid;gap:10px}.detail-photos img{width:100%;max-height:56vh;object-fit:contain;border-radius:12px;background:#e8ecea}
.panel form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.panel form .full-row{grid-column:1/-1}.panel form label small{display:block;margin-top:5px}.panel form input,.panel form select{min-width:0}
.paste-zone{border:2px dashed #9db7a8;border-radius:12px;padding:13px;text-align:center;color:var(--green);background:#f5f9f6;font-weight:700;outline:none}.paste-zone:focus{border-color:var(--green);background:#e8f3ec}.paste-zone small{display:block;margin-top:4px;font-weight:400}.paste-zone img{display:none}
.photo-upload>span{font-size:.8rem;color:#52635b}.photo-upload>small{display:block;margin-top:5px;color:#537064}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-actions button,.photo-actions .paste-zone{height:46px;margin-top:5px;padding:11px}.photo-actions .paste-zone{border:1px solid #cbd7d0;background:#fff;font-weight:500;white-space:nowrap;overflow:hidden}.photo-actions .paste-zone:focus{border:2px solid var(--green);background:#fff}
.paste-zone:empty::before{content:attr(data-placeholder);color:var(--green);pointer-events:none}.paste-zone:focus:empty::before{content:""}
#formSuccess.saving{color:#b77900;background:#fff4cc;border-radius:10px;padding:11px;font-weight:700}#formSuccess.saved{color:#17653c;background:#e0f3e7;border-radius:10px;padding:11px;font-weight:700}#saveReceipt:disabled{opacity:.65;cursor:wait}
.ocr-status{grid-column:1/-1;margin:0;padding:10px;border-radius:10px}.ocr-status.reading{color:#9a6900;background:#fff4cc}.ocr-status.done{color:#17653c;background:#e0f3e7}.ocr-status.warning{color:#8a5b00;background:#fff4cc}
.claim-section{margin-top:16px;padding:14px;border-radius:14px;background:#f0f5f2}.claim-section form{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}.claim-section textarea{width:100%;min-height:68px;margin-top:5px;padding:11px;border:1px solid #cbd7d0;border-radius:10px;font:inherit}.claim-pending,.claim-approved,.claim-rejected{padding:11px;border-radius:10px;font-weight:700}.claim-pending{color:#8a5b00;background:#fff4cc}.claim-approved{color:#17653c;background:#e0f3e7}.claim-rejected{color:#a93333;background:#faeaea}#claimMessage{margin:0}
#photoPreview img,#detailPhoto img{cursor:pointer}.image-viewer{position:fixed!important;inset:0!important;z-index:100;background:#07100df5}.image-viewer #viewerCanvas{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;padding:0!important;display:block!important}.image-viewer #viewerImage{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;object-fit:contain!important;z-index:101}.image-viewer #closeViewer{position:fixed!important;right:14px;top:14px;width:52px;height:52px;z-index:104;margin:0;border-radius:50%;font-size:34px;padding:4px;background:#ffffffed;color:#18352a}.image-viewer .viewer-arrow{position:fixed!important;top:50%;transform:translateY(-50%);width:42px;height:56px;z-index:103;margin:0;border-radius:12px;font-size:34px;padding:4px;background:#ffffffd9;color:#18352a}.image-viewer #previousImage{left:6px}.image-viewer #nextImage{right:6px}
.danger-zone{margin-top:28px;padding:16px;border:1px solid #e4b6b6;border-radius:14px;background:#fff4f4}.danger-zone h3{margin:0;color:#8f2828}.danger-zone p{color:#7a4b4b}.danger-zone .danger{margin-top:4px}
.result-photo{width:100%;height:150px;object-fit:contain;background:#eef3ef;border-radius:10px;margin-top:10px;cursor:zoom-in}.select-receipt{width:24px;height:24px;margin:0 8px 0 0;vertical-align:middle}.bulk-actions{position:sticky;bottom:8px;z-index:8;background:#fff;border:1px solid #e4b6b6;border-radius:14px;padding:12px;box-shadow:0 5px 18px #254c3530}.bulk-actions p{margin:0 0 8px}.bulk-actions button{margin:0}
