
:root{--bg:#f3f4f6;--card:#fff;--text:#111827;--muted:#6b7280;--border:#d1d5db;--dark:#111827;--soft:#f9fafb;--danger:#b91c1c;--ok:#166534;--warn:#9a3412}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}button{cursor:pointer}
.container{width:min(1180px,calc(100% - 24px));margin:auto}
.topbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
h1{font-size:1.35rem;margin:0}.topbar p{margin:2px 0 0;color:var(--muted);font-size:.88rem}
.layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);gap:16px;padding-top:16px;padding-bottom:28px}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px;margin-bottom:16px}.sticky{position:sticky;top:86px}
.section-head h2,.card h2{margin:0 0 4px;font-size:1.05rem}.section-head p{margin:0 0 14px;color:var(--muted);font-size:.9rem}
.inline-form{display:flex;gap:8px}input,select{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fff;min-width:0}
input[type=text]{flex:1}.primary,.secondary,.danger-btn{border-radius:10px;padding:10px 13px;border:1px solid var(--border)}
.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.secondary{background:#fff;color:var(--text)}
.danger-btn{background:#fff;color:var(--danger);border-color:#fecaca}.full{width:100%}.hidden{display:none!important}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--soft);border-radius:999px;padding:7px 10px}
.chip button{border:0;background:transparent;color:var(--danger);font-size:1rem;padding:0}
.ticket-photo{margin-bottom:14px}.photo-btn{display:inline-flex;border:1px dashed var(--border);border-radius:12px;padding:11px 13px;background:var(--soft);cursor:pointer}
.photo-btn input{display:none}#photoPreview{display:block;max-width:100%;max-height:280px;border-radius:12px;margin-top:10px;border:1px solid var(--border)}
.manual-entry{display:grid;grid-template-columns:minmax(160px,1fr) 80px 105px 105px auto;gap:8px;align-items:end;margin-bottom:14px}
.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:.76rem;color:var(--muted)}
.table-head,.item-main{display:grid;grid-template-columns:minmax(160px,1fr) 70px 100px 100px 76px;gap:8px;align-items:center}.table-head{font-size:.76rem;color:var(--muted);padding:0 2px 8px}
.item{border-top:1px solid #e5e7eb;padding:13px 0}.item:first-child{border-top:0}.item-main input{width:100%}
.item-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.assign-btn{border:1px solid var(--border);background:#fff;border-radius:999px;padding:7px 10px;font-size:.84rem}
.assign-btn.on{background:var(--dark);border-color:var(--dark);color:#fff}.splitbox{margin-top:10px;border:1px solid #e5e7eb;background:#fafafa;border-radius:12px;padding:10px}
.split-top{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.split-top strong{font-size:.86rem}
.quantity-row{display:grid;grid-template-columns:1fr 80px 100px;gap:8px;align-items:center;margin-top:8px}.quantity-row input{width:100%}
.muted{color:var(--muted);font-size:.86rem}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eceff1}
.total-row strong{font-size:1.25rem}.payer-summary{margin-top:10px}.payer-line{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eceff1}
.actions{display:grid;gap:8px;margin-top:14px}.good{color:var(--ok)}.warn{color:var(--warn)}.empty{padding:14px 0;color:var(--muted);font-size:.9rem}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sticky{position:static}.manual-entry{grid-template-columns:1fr 72px 1fr 1fr}.manual-entry button{grid-column:1/-1}}
@media(max-width:650px){.container{width:min(100% - 16px,1180px)}.table-head{display:none}.item-main{grid-template-columns:minmax(130px,1fr) 58px 84px 84px}.item-main .delete{grid-column:1/-1;width:100%}.quantity-row{grid-template-columns:1fr 72px 90px}.card{border-radius:14px;padding:13px}}

.ocr-panel{margin-top:10px}
.ocr-status{margin:8px 0 0}
.ocr-status.loading{font-weight:600}
.ocr-status.ok{color:#166534;font-weight:600}
.ocr-status.error{color:#b42318;font-weight:600}
