:root{color:#f5f5f2;font-synthesis:none;text-rendering:optimizelegibility;--surface:#191b1d;--surface-raised:#222528;--line:#34383c;--muted:#a7adb2;--accent:#f3bc45;--accent-text:#211704;--success:#58c78b;--danger:#f06d70;background:#0e0f10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#0e0f10;min-width:320px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{touch-action:manipulation}.centered,.login-page{place-items:center;min-height:100vh;padding:20px;display:grid}.login-page{background:radial-gradient(circle at top,#30260f 0,#0e0f10 44%)}.login-card{border:1px solid var(--line);background:#191b1df5;border-radius:20px;gap:18px;width:min(100%,420px);padding:28px;display:grid;box-shadow:0 20px 60px #00000059}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:clamp(1.8rem,7vw,2.4rem)}h2{margin-bottom:18px;font-size:1.15rem}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:4px;font-size:.78rem;font-weight:800}.muted{color:var(--muted)}label{color:#d5d8da;gap:8px;font-size:.9rem;display:grid}input,select,textarea{border:1px solid var(--line);color:#fff;background:#101214;border-radius:10px;outline:none;width:100%;min-height:48px;padding:11px 13px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f3bc4521}textarea{resize:vertical;min-height:92px}.button{cursor:pointer;border:0;border-radius:10px;min-height:48px;padding:11px 18px;font-weight:800}.button:disabled{cursor:not-allowed;opacity:.48}.button.primary{color:var(--accent-text);background:var(--accent)}.button.secondary{color:#fff;border:1px solid var(--line);background:var(--surface-raised)}.button.danger{color:#fff;background:#a8383d}.text-button{min-height:42px;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:8px 2px}.app-shell{min-height:100vh}.app-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e0f10f0;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px max(16px,50vw - 380px);display:flex;position:sticky;top:0}.app-header div{gap:3px;display:grid}.app-header strong{color:var(--accent);letter-spacing:.08em}.app-header span{color:var(--muted);font-size:.78rem}.content{width:min(100%,760px);margin:0 auto;padding:18px 14px 48px}.app-nav{flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 14px 0;display:flex}.app-nav button{border:1px solid var(--line);color:#fff;background:var(--surface);cursor:pointer;border-radius:9px;padding:10px 16px}.app-nav button.active{color:var(--accent-text);border-color:var(--accent);background:var(--accent)}.panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-bottom:14px;padding:18px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-heading h2{margin-bottom:0}.inline-form{grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-bottom:20px;display:grid}.lookup-panel h2:not(:first-child){margin-top:24px}.full-button{width:100%;margin-bottom:24px}.full-button.no-margin,.inline-form.compact{margin-bottom:0}.qr-reader{background:#050505;border-radius:10px;width:100%;min-height:0;margin-bottom:14px;display:none;overflow:hidden}.qr-reader.active{min-height:240px;max-height:52vh;display:block}.qr-reader video{object-fit:cover;max-width:100%;max-height:52vh;width:100%!important}.scanner-panel .button{width:100%}.message{border-radius:9px;margin:12px 0 0;padding:12px;line-height:1.4}.message.error{color:#ffd9da;background:#391d20;border:1px solid #723a3d}.message.success{color:#d9ffea;background:#173526;border:1px solid #296245}.global-message{margin:0 0 14px}.recovery-panel{border-color:var(--accent);width:min(100% - 28px,900px);margin:14px auto}.recovery-panel h2{margin-top:0}.recovery-panel dl{gap:7px;margin:12px 0 16px;display:grid}.recovery-panel dl div{justify-content:space-between;gap:12px;display:flex}.recovery-panel dt{color:var(--muted)}.recovery-panel dd{text-align:right;overflow-wrap:anywhere;margin:0}.status{letter-spacing:.05em;border-radius:999px;padding:7px 9px;font-size:.72rem;font-weight:900}.status-active{color:#d7ffe9;background:#215c3d}.status-inactive{color:#e7e8e9;background:#50555a}.status-blocked{color:#ffe0e1;background:#7d3034}.status-lost{color:#ffe9c3;background:#714b1e}.status-replaced{color:#e8ddff;background:#514079}.status-explanation{color:#ffc8ca;margin:16px 0 0;font-weight:700}.balance-row{justify-content:space-between;align-items:end;gap:12px;margin-top:24px;display:flex}.balance-row div{gap:5px;display:grid}.balance-row span{color:var(--muted);font-size:.85rem}.balance-row strong{font-size:clamp(2rem,10vw,3rem);line-height:1}.token-box{background:var(--surface-raised);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:18px;padding:10px 12px;display:grid}.token-box span{color:var(--muted);font-size:.8rem}.token-box code{overflow-wrap:anywhere}.card-qr{gap:12px;margin-top:14px;display:grid}.card-qr>.button{width:100%}.card-qr-content{background:#fff;border-radius:10px;justify-items:center;gap:10px;padding:14px;display:grid}.card-qr-content .muted{color:#555;margin-bottom:0}.card-qr-content .message{width:100%;margin-top:0}.card-qr-content img{width:230px;max-width:100%;height:230px;image-rendering:pixelated;display:block}.card-qr-caption{color:#111;text-align:center;justify-items:center;gap:5px;display:grid}.card-qr-caption code{overflow-wrap:anywhere;color:#333;max-width:100%}.operation-form{gap:14px;display:grid}.operation-form h2{margin-bottom:2px}.payment-form{border-color:#523035}.transaction-list{background:var(--line);border-radius:10px;gap:1px;display:grid;overflow:hidden}.transaction{background:var(--surface-raised);justify-content:space-between;align-items:center;gap:14px;padding:13px;display:flex}.transaction div{gap:4px;display:grid}.transaction div span,.transaction time{color:var(--muted);font-size:.78rem}.transaction time{text-align:right}.transaction-side{justify-items:end;gap:8px;display:grid}.refund-button{min-height:36px;padding:7px 10px;font-size:.78rem}.refunded-label{font-weight:800;color:var(--success)!important}.refund-dialog{border:1px solid var(--accent);background:var(--surface-raised);border-radius:10px;gap:14px;margin-top:16px;padding:16px;display:grid}.refund-dialog h3{margin:0}.refund-dialog dl{gap:7px;margin:0;display:grid}.refund-dialog dl div{justify-content:space-between;gap:12px;display:flex}.refund-dialog dt{color:var(--muted)}.refund-dialog dd{text-align:right;overflow-wrap:anywhere;margin:0}.refund-actions{grid-template-columns:1fr 1.5fr;gap:8px;display:grid}.replacement-panel{border-color:#665529;gap:14px;display:grid}.replacement-panel p{margin-bottom:0}.replacement-confirmation{text-align:center;background:var(--surface-raised);border-radius:9px;padding:14px;line-height:1.6}.replacement-success{border-color:var(--success);gap:10px;display:grid}.replacement-success h2,.replacement-success p{margin-bottom:0}.replacement-success>div{background:var(--surface-raised);border-radius:9px;justify-content:space-between;gap:12px;padding:12px;display:flex}.replacement-success span{color:var(--muted)}.credit{color:var(--success)}.debit{color:var(--danger)}.admin-tools{gap:12px;display:grid}.admin-tools h2,.admin-tools p{margin-bottom:0}.admin-tools form{border-top:1px solid var(--line);gap:12px;padding-top:8px;display:grid}.batch-confirm{border:1px solid var(--accent);background:var(--surface-raised);border-radius:10px;gap:12px;margin-top:14px;padding:14px;display:grid}.batch-confirm p{margin:0}.batch-confirm>div,.batch-downloads{grid-template-columns:1fr 1fr;gap:8px;display:grid}.batch-result{gap:5px;display:grid}.batch-list{gap:8px;display:grid}.batch-list h2{margin-bottom:8px}.batch-list-item{border:1px solid var(--line);color:#fff;text-align:left;background:var(--surface-raised);cursor:pointer;border-radius:10px;grid-template-columns:1fr auto;gap:5px 12px;padding:13px;display:grid}.batch-list-item span,.batch-list-item time,.batch-list-item small{color:var(--muted)}.batch-list-item time{text-align:right}.batch-list-item small{grid-column:1/-1}.batch-detail>p{margin:12px 0 0}.batch-downloads{margin:18px 0 10px}.batch-detail h3{margin:22px 0 10px}.print-preparation{border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;margin-top:22px;padding:16px}.print-preparation>h3{margin:0 0 14px}.print-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.print-settings-grid label{gap:6px;display:grid}.print-settings-grid label>span{color:var(--muted);font-size:.78rem}.print-settings-grid input,.print-settings-grid select{width:100%}.print-checkbox{align-items:center;padding-top:22px;gap:8px!important;display:flex!important}.print-checkbox input{width:20px;height:20px}.imposition-result{gap:16px;margin-top:16px;display:grid}.imposition-stats{background:var(--surface);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;display:grid}.imposition-stats span{color:var(--muted);gap:3px;font-size:.78rem;display:grid}.imposition-stats strong{color:var(--text)}.sheet-preview{border:2px solid var(--muted);background:#fff;width:min(100%,520px);margin-inline:auto;position:relative;overflow:hidden}.sheet-preview-card{color:#fff;background:#18151d;border:1px solid #f27a20;place-items:center;font:600 clamp(5px,1.2vw,9px)/1 monospace;display:grid;position:absolute;overflow:hidden}.print-downloads{margin-bottom:0}.batch-cards{gap:8px;display:grid}.batch-card{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;padding:12px}.batch-card>div:first-child{grid-template-columns:1fr auto;gap:5px 12px;display:grid}.batch-card code{overflow-wrap:anywhere;color:var(--muted);grid-column:1/-1}.batch-card .card-qr-content{background:#fff}.status-archived{color:#e8ddff;background:#514079}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.metric{background:var(--surface-raised);border-radius:10px;gap:8px;min-width:0;padding:14px;display:grid}.metric span{color:var(--muted);font-size:.8rem}.metric strong{overflow-wrap:anywhere;font-size:1.15rem}.report-filters{gap:10px;margin-bottom:18px;display:grid}.report-transactions{background:var(--line);border-radius:10px;gap:1px;display:grid;overflow:hidden}.report-transaction{background:var(--surface-raised);grid-template-columns:1fr 1.2fr .8fr 1.2fr 1fr 1fr;align-items:center;gap:10px;padding:12px;display:grid}.report-transaction time,.report-transaction span,.report-transaction code{overflow-wrap:anywhere;color:var(--muted);font-size:.78rem}.report-transaction div{gap:3px;display:grid}.report-transaction div span{font-size:.72rem}.pagination{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.user-list{gap:12px;margin-top:18px;display:grid}.user-row{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;gap:12px;padding:14px;display:grid}.user-row>div{gap:4px;display:grid}.user-row>div span{color:var(--muted);font-size:.8rem}.checkbox-label{align-items:center;gap:8px;display:flex}.checkbox-label input{width:22px;min-height:22px}.password-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}@media (width>=640px){.content{padding-top:26px}.panel{padding:22px}.operation-form{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-form h2,.operation-form .button{grid-column:1/-1}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}}@media (width<=380px){.content{padding-inline:10px}.panel{padding:15px}.inline-form{grid-template-columns:1fr}.inline-form .button{width:100%}.transaction{align-items:flex-start}.token-box,.password-form,.batch-confirm>div,.batch-downloads{grid-template-columns:1fr}}@media (width<=639px){.print-settings-grid,.imposition-stats{grid-template-columns:1fr}.print-checkbox{padding-top:4px}.report-transaction{grid-template-columns:repeat(2,minmax(0,1fr))}.report-transaction>:nth-child(2n){text-align:right}}
