:root{--brand:#c8102e;--brand-strong:#a00c24;--brand-soft:#fdecef;--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f3f6;--border:#e2e5ea;--text:#1c2330;--muted:#5e6776;--ok:#157f3b;--ok-soft:#e5f5ea;--warn:#9a6200;--warn-soft:#fff4dc;--bad:#b42318;--bad-soft:#fdecea;--info:#1d5fbf;--info-soft:#e8f0fc;--radius:10px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--brand-soft:#3a1219;--bg:#12151b;--surface:#1a1e26;--surface-2:#222733;--border:#2e3442;--text:#e7e9ee;--muted:#9aa3b2;--ok:#4ccb7a;--ok-soft:#173424;--warn:#f0b44c;--warn-soft:#3a2c10;--bad:#ff7b6e;--bad-soft:#3d1a17;--info:#7fb0ff;--info-soft:#172a47;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}a{color:var(--brand)}.muted{color:var(--muted);margin:.2rem 0 0}.mono{letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.right{text-align:right}.nowrap{white-space:nowrap}.shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:1rem;height:100vh;padding:1.25rem .75rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.6rem;padding:0 .5rem;font-weight:700;display:flex}.brand-logo{background:var(--brand);color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;font-size:.85rem;display:grid}.brand small{color:var(--muted);font-size:.78rem;font-weight:400;display:block}.nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.nav a{color:var(--text);border-radius:8px;padding:.5rem .75rem;text-decoration:none}.nav a:hover{background:var(--surface-2)}.nav a.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.session{border-top:1px solid var(--border);padding:.75rem .5rem 0;font-size:.85rem}.session strong{display:block}.content{width:100%;max-width:1200px;padding:1.75rem 2rem 3rem}.topbar{display:none}@media (width<=860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:20;width:260px;box-shadow:var(--shadow);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:.75rem;padding:.75rem 16px;display:flex;position:sticky;top:0}.content{padding:1.25rem 16px 3rem}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1.25rem}.card>h2{margin-bottom:.9rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}@media (width<=860px){.grid-2{grid-template-columns:1fr}}.stats{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.15rem;padding:.9rem 1rem;display:flex}.stat-label{color:var(--muted);font-size:.82rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.4rem}.stat-hint{color:var(--muted);font-size:.78rem}.stat.highlight{border-color:var(--brand);background:var(--brand-soft)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .8rem}th{background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:.8rem;font-weight:600}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.9rem;display:flex}.toolbar input,.toolbar select{width:auto;min-width:180px}.pager{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.form{flex-direction:column;gap:.9rem;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;display:grid}.field{flex-direction:column;gap:.3rem;display:flex}.field-label{font-size:.85rem;font-weight:600}.field-hint{color:var(--muted);font-size:.78rem}.check{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.check input{width:auto}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.85rem;display:inline-flex}.chip input{width:auto;margin:0}.chip:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.picklist{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.25rem;max-height:180px;padding:.4rem .6rem;display:flex;overflow-y:auto}input,select,textarea{width:100%;font:inherit;color:inherit;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.55rem .7rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:#0000}textarea{resize:vertical;min-height:70px}.form-actions{justify-content:flex-end;gap:.5rem;display:flex}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-strong)}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--surface);border-color:var(--bad);color:var(--bad)}.btn-sm{padding:.3rem .65rem;font-size:.85rem}.btn-lg{padding:.8rem 1.4rem;font-size:1.05rem}.btn-block{width:100%}.btn-icon{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:.2rem .4rem;font-size:1.5rem;line-height:1}.link{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.badge{white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-neutral{background:var(--surface-2);color:var(--muted)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-info{background:var(--info-soft);color:var(--info)}.alert{border-radius:8px;padding:.7rem .9rem;font-size:.9rem}.alert-error{background:var(--bad-soft);color:var(--bad)}.alert-success{background:var(--ok-soft);color:var(--ok)}.alert-info{background:var(--info-soft);color:var(--info)}.modal{background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);border:0;border-radius:14px;padding:0;box-shadow:0 20px 50px #00000040}.modal-wide{width:min(820px,100vw - 32px)}.modal::backdrop{background:#0f141e73}.modal-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.modal-body{padding:1.25rem}.auth-page{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);border-radius:16px;padding:2rem}.auth-card .brand{justify-content:center;margin-bottom:1.25rem;padding:0}.auth-card h1{text-align:center;margin-bottom:1.25rem;font-size:1.25rem}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.88rem;display:flex}.demo-hint{color:var(--muted);border-top:1px dashed var(--border);margin-top:1.25rem;padding-top:.75rem;font-size:.8rem}.benefit-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.benefit-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.benefit-pct{color:var(--brand);font-size:2.2rem;font-weight:800;line-height:1}.conditions{color:var(--muted);flex-direction:column;gap:.2rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.benefit-card .btn{margin-top:auto}.coupon-ticket{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.coupon-ticket .qr{border:1px solid var(--border);background:#fff;border-radius:12px;padding:14px}.coupon-code{letter-spacing:.08em;font-size:2.6rem;font-weight:800}.pos{max-width:560px}.pos input.code-input{text-transform:uppercase;letter-spacing:.08em;text-align:center;font-size:1.6rem;font-weight:700}.pos input.amount-input{text-align:right;font-size:1.4rem}.verdict{border:2px solid;border-radius:14px;margin-top:1rem;padding:1.25rem}.verdict-ok{border-color:var(--ok);background:var(--ok-soft)}.verdict-bad{border-color:var(--bad);background:var(--bad-soft)}.verdict h2{margin-bottom:.6rem;font-size:1.3rem}.verdict-ok h2{color:var(--ok)}.verdict-bad h2{color:var(--bad)}.verdict dl{grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:0 0 1rem;display:grid}.verdict dt{color:var(--muted)}.verdict dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.verdict .total{font-size:1.35rem}.bars{flex-direction:column;gap:.35rem;display:flex}.bar-row{grid-template-columns:90px 1fr 110px;align-items:center;gap:.6rem;font-size:.85rem;display:grid}.bar-track{background:var(--surface-2);border-radius:4px;height:14px;overflow:hidden}.bar-fill{background:var(--brand);border-radius:4px;height:100%}.error-list{max-height:260px;font-size:.85rem;overflow-y:auto}@media print{.sidebar,.topbar,.actions,.toolbar{display:none!important}.shell{display:block}.content{padding:0}}.company-heading{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:1.5rem 0 .5rem;display:flex}.company-heading h2{margin:0;font-size:1.1rem}tr.total td{border-top:2px solid var(--border);font-weight:600}
