:root{--bg:#0f0f14;--surface:#1a1a28;--side:#13131f;--line:#2a2a40;--text:#e8e8f0;--muted:#888fa0;--purple:#7c3aed;--green:#10b981;--amber:#f59e0b;--livre:#2a2a40;--danger:#f87171;--input-bg:#10101a;--control-bg:#151522;--btn-secondary:#171726;--collapse-bg:#141422;--accent-soft:#ddd6fe;--tab-active:#e9d5ff;--outline-fg:#ddd6fe;--pay-selected-fg:#d1fae5;--sum-open:#c4b5fd;--on-primary:#fff;}
html[data-theme="light"]{--bg:#f1f5f9;--surface:#ffffff;--side:#e8ecf4;--line:#c8d0e0;--text:#0f172a;--muted:#64748b;--purple:#6d28d9;--green:#059669;--amber:#d97706;--livre:#cbd5e1;--danger:#dc2626;--input-bg:#f8fafc;--control-bg:#e2e8f0;--btn-secondary:#eef2f7;--collapse-bg:#f8fafc;--accent-soft:#5b21b6;--tab-active:#5b21b6;--outline-fg:#5b21b6;--pay-selected-fg:#065f46;--sum-open:#6d28d9;--on-primary:#fff;}
*{box-sizing:border-box;}
html,body{margin:0;height:100%;overflow:hidden;font-family:Outfit,system-ui,sans-serif;background:var(--bg);color:var(--text);}
.topbar{height:44px;min-height:44px;background:var(--surface);border-bottom:.5px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:10px;}
.home{color:var(--muted);display:flex;align-items:center;text-decoration:none;padding:4px;border-radius:6px;}
.home:hover{color:var(--text);background:rgba(255,255,255,.05);}
.home:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(124,58,237,.28);background:rgba(124,58,237,.12);color:var(--text);}
.top-logo{display:flex;align-items:center;pointer-events:none;}
.top-logo img{height:24px;width:auto;opacity:.9;}
.brand{flex:1;text-align:center;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.badge{background:rgba(124,58,237,.2);color:var(--accent-soft);border:.5px solid var(--purple);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;white-space:nowrap;}
.theme-top-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;padding:0;border-radius:8px;border:.5px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;flex-shrink:0;}
.theme-top-btn:hover{color:var(--text);border-color:var(--purple);}
.theme-top-btn:focus-visible{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px rgba(124,58,237,.28);color:var(--text);}
html[data-theme="dark"] .theme-top-btn .icon-dark{display:none;}
html[data-theme="light"] .theme-top-btn .icon-light{display:none;}
.toggle{display:inline-flex;border:.5px solid var(--line);border-radius:999px;overflow:hidden;background:var(--bg);}
.toggle button{border:none;background:transparent;color:var(--muted);font-family:inherit;font-size:11px;font-weight:600;padding:6px 12px;cursor:pointer;}
.toggle button.active{background:var(--purple);color:var(--on-primary);}
.toggle button:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(124,58,237,.28);}
.btn-mini{border:.5px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:8px 10px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.btn-mini:focus-visible{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px rgba(124,58,237,.22);}
.btn-mini:disabled{opacity:.55;cursor:not-allowed;}
.btn-mini-danger{border:.5px solid rgba(248,113,113,.55);background:transparent;color:var(--danger);}
.btn-mini-danger:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(248,113,113,.25);}
.btn-modal{width:100%;border:.5px solid var(--line);border-radius:8px;background:var(--btn-secondary);color:var(--text);padding:10px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.btn-modal:hover{border-color:var(--purple);}
.btn-modal:focus-visible{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px rgba(124,58,237,.22);}
.btn-green,.btn-purple,.btn-outline{width:100%;border:none;border-radius:6px;padding:10px;font-weight:600;cursor:pointer;font-family:inherit;}
.btn-green{background:#059669;color:var(--on-primary);}
.btn-purple{background:var(--purple);color:var(--on-primary);}
.btn-outline{background:transparent;color:var(--outline-fg);border:1px solid var(--purple);}
.btn-green:focus-visible,.btn-purple:focus-visible,.btn-outline:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(124,58,237,.35);}
.btn-danger{width:100%;border:.5px solid var(--line);border-radius:6px;padding:10px;font-weight:600;cursor:pointer;font-family:inherit;background:transparent;color:var(--danger);}
.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(248,113,113,.35);}
.pdv{height:100vh;display:flex;flex-direction:column;overflow:hidden;}
.shell{flex:1;display:grid;grid-template-columns:1fr 340px;min-height:0;}
.center{padding:8px;display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;}
.right{background:var(--side);min-height:0;padding:8px;display:flex;flex-direction:column;gap:8px;border-left:.5px solid var(--line);overflow:auto;}
.title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 2px;}
.field-group{display:grid;gap:6px;padding:10px;border:.5px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);}
.field-group .title{margin:0;}
.form{display:grid;gap:6px;}
.row-split{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.help{font-size:11px;color:var(--muted);line-height:1.35;}
.empty{text-align:center;padding:14px;color:var(--muted);font-size:12px;font-weight:600;}
.form input,.form textarea,.form select{width:100%;padding:8px 10px;border-radius:6px;border:.5px solid var(--line);background:var(--bg);color:var(--text);font-family:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;}
.form textarea{resize:vertical;min-height:56px;max-height:120px;}
.form input:focus,.form textarea:focus,.form select:focus,.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px rgba(124,58,237,.28);background:var(--surface);}
.actions{display:grid;gap:8px;margin-top:auto;}
.pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:.5px solid var(--line);font-size:12px;font-weight:700;white-space:nowrap;background:var(--btn-secondary);color:var(--text);}
.pill.ok{border-color:rgba(34,197,94,.55);background:rgba(34,197,94,.14);color:color-mix(in srgb, var(--text) 75%, #22c55e);}
.pill.bad{border-color:rgba(239,68,68,.65);background:rgba(239,68,68,.14);color:color-mix(in srgb, var(--text) 70%, #ef4444);}
.kcell{font-weight:800;color:var(--text);white-space:nowrap;}
.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:.5px solid var(--line);border-radius:10px;overflow:hidden;}
.tbl th,.tbl td{padding:10px 12px;border-bottom:.5px solid var(--line);vertical-align:top;font-size:12px;}
.tbl thead th{text-align:left;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--btn-secondary);}
.tbl tr:last-child td{border-bottom:none;}
.tbl-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.tbl-actions .btn-mini{padding:8px 10px;}
.opt-tools{display:grid;grid-template-columns:1fr 120px 90px;gap:6px;align-items:end;}
.opt-tools .btn-mini{width:100%;}
.opt-list{display:grid;gap:6px;}
.opt-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:.5px solid var(--line);border-radius:10px;background:var(--surface);}
.opt-item-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;}
.opt-item-name{font-weight:800;white-space:nowrap;}
.opt-item-val{color:var(--muted);font-weight:700;white-space:nowrap;}
.opt-item-actions{display:flex;gap:6px;flex-shrink:0;}
.details{border:.5px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);padding:10px;}
.details>summary{cursor:pointer;list-style:none;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
.details>summary::-webkit-details-marker{display:none;}
.details[open]>summary{color:var(--text);}
@media (max-width: 900px){.shell{grid-template-columns:1fr;}.right{border-left:none;border-top:.5px solid var(--line);}}
