:root{--bg: #e6e8ed;--surface: #fbfbfc;--surface-2: #f3f4f7;--ink: #1a2332;--muted: #5c6778;--line: #d3d7e0;--line-strong: #c2c7d1;--sidebar: #1c2533;--sidebar-text: #d5dbe6;--sidebar-muted: #93a0b5;--sidebar-line: #2d3a4e;--accent: #0e5f5c;--danger: #8d2f2f;--ok: #1d6b45;--focus: #0e5f5c;--topbar: #f7f8fa;--font: "Segoe UI", "Segoe UI Variable Text", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%}body:has(.app){overflow:hidden}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--font);font-size:13px;line-height:1.4}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.skip{position:absolute;left:8px;top:-40px;background:#fff;padding:6px 8px;z-index:20}.skip:focus{top:8px}.app{display:grid;grid-template-columns:252px minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.sidebar{background:var(--sidebar);color:var(--sidebar-text);border-right:1px solid #121820;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.brand{display:flex;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--sidebar-line)}.brand strong{display:block;color:#fff;font-size:14px}.brand small{color:var(--sidebar-muted)}.brand-mark{width:28px;height:28px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:650;font-size:12px}.nav{flex:1;min-height:0;padding:8px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.nav::-webkit-scrollbar{width:0;height:0;display:none}.nav-link,.nav-group summary{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#e7edf6;padding:7px 8px;border-radius:2px;text-decoration:none;min-width:0}.nav-link>span,.nav-group summary .nav-label>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-kbd{flex:none;color:#d5deec;background:#2c3b50;font-size:11px;font-weight:650;line-height:1.45;letter-spacing:0;border:1px solid #46556c;padding:1px 5px;border-radius:2px}.nav-link:focus-visible,.nav-group summary:focus-visible,.nav-link.is-key-current,.nav-group summary.is-key-current{outline:2px solid #d5dbe6;outline-offset:-2px;background:#243044}.nav-link:hover,.nav-group summary:hover{background:#31445e;color:#fff;text-decoration:none}.nav-link.is-active{background:#3d5678;color:#fff;font-weight:650}.nav-group{margin-top:6px}.nav-group summary{cursor:pointer;color:#c5d0e0;font-size:12px;font-weight:650;letter-spacing:.03em;text-transform:uppercase}.nav-group summary::-webkit-details-marker{display:none}.nav-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.nav-chevron{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #f2f6fb;flex:none}.nav-group[open]>summary .nav-chevron{transform:rotate(90deg)}.nav-children{display:grid;gap:1px;padding:2px 0 8px 12px}.nav-children .nav-link{padding-left:10px}.workspace{min-width:0;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.topbar{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 10px;background:var(--topbar);border-bottom:1px solid var(--line)}.context-menus,.topbar-end{display:flex;gap:6px;align-items:center}.context-menus{min-width:0;flex:1}.topbar-end{margin-left:auto}.search-btn,.icon-btn,.btn,.menu summary,.row-actions button,.menu-link{border:1px solid var(--line-strong);background:var(--surface);min-height:28px;padding:0 8px;cursor:pointer;border-radius:2px}.btn-primary,.search-btn{background:var(--accent);border-color:var(--accent);color:#fff}.search-btn{display:inline-flex;align-items:center;gap:8px;min-width:180px}.search-btn kbd,kbd{font-family:inherit;font-size:11px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);padding:0 4px}.search-btn kbd{border-color:transparent;background:#ffffff29;color:#fff}.menu{position:relative}.menu summary{list-style:none;display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;min-width:140px;padding:4px 8px}.menu summary::-webkit-details-marker{display:none}.menu-kicker{color:var(--muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.menu-value{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:240px;max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--line-strong);padding:4px;box-shadow:0 8px 18px #141c2814}.topbar-end .menu-panel{right:0;left:auto}.menu-panel button,.menu-link{width:100%;text-align:left;background:transparent;border:0;min-height:32px;display:flex;justify-content:space-between;gap:8px;align-items:center}.menu-panel button:hover,.menu-link:hover{background:var(--surface-2);text-decoration:none}.menu-panel .is-current{background:#e7f2f1}.menu-empty{margin:8px;color:var(--muted)}.menu-panel small{color:var(--muted)}.crumbs{padding:6px 12px 0}.crumbs ol{display:flex;gap:6px;list-style:none;margin:0;padding:0;color:var(--muted)}.crumbs li:not(:last-child):after{content:"/";margin-left:6px}.flash{margin:8px 12px 0;padding:6px 8px;background:#e7f2ea;border:1px solid #c9dfd1}.flash.is-error{background:#f8ecec;border-color:#e3c8c8}.content{padding:10px 12px 16px;overflow:auto;flex:1;min-height:0}.banner{margin:0 0 10px;padding:6px 8px;background:#f7f1e4;border:1px solid #e4d7b8;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form{display:inline}.page-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:10px}.page-head h1,.panel h2,.empty h2,.dialog-head h2{margin:0;font-size:18px;font-weight:650}.kicker{margin:0 0 2px;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.page-desc,.form-note,.muted{color:var(--muted)}.page-actions,.form-actions,.empty-actions{display:flex;gap:6px;align-items:center}.page-desc{margin:2px 0 0}.panel{background:var(--surface);border:1px solid var(--line);padding:12px}.panel h2{font-size:14px;margin-bottom:8px}.panel-head{display:flex;justify-content:space-between;align-items:baseline}.sheet-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.stack{display:grid;gap:10px}.kv{display:grid;grid-template-columns:140px minmax(0,1fr);margin:0}.kv dt,.kv dd{margin:0;padding:6px 0;border-bottom:1px solid var(--line)}.kv dt{color:var(--muted)}.kv dd{display:flex;flex-direction:column}.table-wrap{overflow:auto;border:1px solid var(--line);background:var(--surface)}.data{width:100%;border-collapse:collapse}.data th,.data td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data th{font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:var(--surface-2)}.row-actions{display:flex;gap:8px;justify-content:flex-end;white-space:nowrap}.row-actions form{display:inline}.row-actions button{border:0;background:transparent;color:var(--accent);padding:0;min-height:0}.tag{margin-left:6px;font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--accent)}.status.is-on{color:var(--ok)}.status.is-off{color:var(--danger)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.span-2{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:4px}.field label{color:var(--muted)}.field abbr{text-decoration:none;color:var(--danger)}.input,textarea.input{width:100%;border:1px solid var(--line-strong);background:#fff;min-height:30px;padding:4px 8px;border-radius:2px}textarea.input{min-height:72px;resize:vertical}.field-error{margin:0;color:var(--danger)}.check{display:flex;gap:6px;align-items:center;color:var(--ink)}.form-actions{margin-top:12px}.form-note{margin:10px 0 0}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:10px}.filters .field{min-width:150px}.filters .btn{margin-bottom:1px}.empty{background:var(--surface);border:1px solid var(--line);padding:28px 16px;text-align:center}.empty p{color:var(--muted)}.empty-actions{display:flex;justify-content:center;margin-top:10px}.pager{display:flex;gap:10px;align-items:center;margin-top:8px}.statusbar{display:flex;gap:14px;align-items:center;min-height:28px;padding:0 10px;background:var(--surface-2);border-top:1px solid var(--line);color:var(--muted)}.statusbar-fill{flex:1}.dialog{position:fixed;inset:0;background:#161c2647;display:grid;place-items:start center;padding-top:12vh;z-index:40}.dialog[hidden]{display:none}.dialog-card{width:min(560px,calc(100% - 24px));background:var(--surface);border:1px solid var(--line-strong);padding:12px}.dialog-wide{width:min(640px,calc(100% - 24px))}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.search-results{list-style:none;margin:8px 0 0;padding:0;max-height:280px;overflow:auto}.search-results button{width:100%;text-align:left;border:0;background:transparent;min-height:32px;display:flex;justify-content:space-between;padding:4px 6px}.search-results button[aria-selected=true],.search-results button:hover{background:var(--surface-2)}.shortcut-group{margin-top:10px}.shortcut-group h3{margin:0 0 4px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.shortcut-group dl{margin:0}.shortcut-group div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid var(--line)}.shortcut-group dt,.shortcut-group dd{margin:0}#shortcut-dialog .dialog-card{max-height:70vh;overflow:auto}tr.is-key-current td{background:var(--surface-2)}main tr.is-selected td{background:#e7f2f1}.key-input{width:11rem}.calc-display{width:100%;text-align:right;margin-bottom:8px}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-grid .btn{justify-content:center}.backdrop{display:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-width:960px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:25;width:min(260px,86vw);height:100vh;transform:translate(-105%)}.app.sidebar-open .sidebar{transform:none}.app.sidebar-open~.backdrop,.backdrop.is-open{display:block;position:fixed;inset:0;background:#00000040;border:0;z-index:24}.sheet-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.context-menus{flex-wrap:wrap}.search-btn{min-width:0}}.gate{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.gate-card{width:min(380px,100%);background:var(--surface);border:1px solid var(--line);padding:16px}.gate-brand{margin-bottom:14px}.gate-brand strong{color:var(--ink)}.gate-brand small{color:var(--muted)}.gate-card h1{margin:12px 0 4px;font-size:18px}.gate-card>p,.gate-note{margin:0 0 12px;color:var(--muted)}.gate form{display:grid;gap:10px}.gate .btn-primary{justify-content:center}.money{text-align:right;font-variant-numeric:tabular-nums}.voucher-lines .input{min-width:7rem}.voucher-lines select.input{min-width:12rem}#voucher-difference.is-ok{color:var(--ok)}#voucher-difference.is-bad,.tag.is-bad{color:var(--danger)}.muted{color:var(--muted)}.audit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0}.audit div{margin:0}.audit dt{color:var(--muted)}.audit dd{margin:0}.page-actions form{display:inline-flex}.voucher-section{margin-top:14px}.voucher-section h2{margin:0;font-size:14px}.balance-bar{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap}.invoice-lines .input{min-width:5.5rem}.invoice-lines .item-name{min-width:12rem}.gate .flash{margin:0 0 12px}.qty{text-align:right;font-variant-numeric:tabular-nums}@media print{html,body,.app,.workspace{height:auto;overflow:visible}.sidebar,.topbar,.crumbs,.statusbar,.page-actions,.filters,.backdrop,.skip{display:none!important}.app,.workspace,.content,.page-body{display:block!important}.content{overflow:visible}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
