:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #273449;--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--accent-2: #22c55e;--danger: #ef4444;--border: #334155}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:12px 16px;background:var(--panel-2);color:var(--text)}button.primary{background:var(--accent);color:#04283a;font-weight:600}button.success{background:var(--accent-2);color:#04240f;font-weight:600}button.danger{background:var(--danger);color:#2b0606;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}input,select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;width:100%}.capture{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#000}.capture video,.capture .preview-img{flex:1;width:100%;object-fit:cover;min-height:0}.capture .bar{display:flex;gap:12px;align-items:center;justify-content:center;padding:16px;background:#0f172ae6}.capture .status{position:absolute;top:0;left:0;right:0;padding:10px 14px;display:flex;justify-content:space-between;background:#0f172acc;font-size:14px}.login{max-width:360px;margin:15vh auto;padding:24px;background:var(--panel);border-radius:16px;display:flex;flex-direction:column;gap:14px}.shutter{width:72px;height:72px;border-radius:50%;background:#fff;border:4px solid var(--accent)}.file-input{display:none}.file-button{white-space:nowrap}.error{color:var(--danger);font-size:14px}.toast{color:var(--accent-2);font-size:14px}.dash{max-width:1000px;margin:0 auto;padding:20px 16px 60px}.dash h1{font-size:22px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer}.card img{width:100%;height:130px;object-fit:cover;background:var(--panel-2)}.card .body{padding:10px 12px}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--muted)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:24px}.summary .panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto;z-index:10}.modal{background:var(--panel);border-radius:14px;width:100%;max-width:560px;padding:18px;display:flex;flex-direction:column;gap:12px}.modal.receipt-modal{max-width:min(1280px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:hidden}.receipt-modal-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.25fr);gap:18px;min-height:0}.receipt-form-pane{display:flex;flex-direction:column;gap:12px;min-width:0;max-height:calc(100vh - 84px);overflow:auto;padding-right:4px}.receipt-image-pane{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-width:0;height:calc(100vh - 84px);padding:0;background:#000;border:1px solid var(--border);overflow:hidden}.receipt-image-pane span{color:var(--muted);font-size:12px;padding-bottom:8px}.modal img.orig{width:100%;max-height:320px;object-fit:contain;background:#000;border-radius:8px}.receipt-image-pane img.orig{flex:1;max-height:none;min-height:0;border-radius:0}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#000000f0;display:flex;flex-direction:column}.zoom-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#0f172ae6}.zoom-controls span{min-width:56px;text-align:center;color:var(--text)}.lightbox-scroll{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px}.lightbox-scroll img{object-fit:contain;transition:width .12s ease-out}@media (max-width: 760px){.modal.receipt-modal{max-width:560px;max-height:none;overflow:visible}.receipt-modal-grid{display:flex;flex-direction:column-reverse}.receipt-form-pane{max-height:none;overflow:visible;padding-right:0}.receipt-image-pane{height:auto}.receipt-image-pane img.orig{max-height:320px}.zoom-controls{flex-wrap:wrap}}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}
