:root,:root[data-theme=dark]{color-scheme:dark;--bg: #0f0f0f;--surface: #1a1a1a;--surface-raised: #242424;--border-subtle: #2e2e2e;--border-control: #767676;--ink: #ffffff;--ink-muted: #8f8f8f;--accent: #dafa9c;--on-accent: #0f0f0f;--accent-text: #dafa9c;--focus: #dafa9c;--positive: var(--accent-text);--info: #7ab6ff;--warning: #f5c451;--danger: #ff8a63;--shadow-float: 0 12px 32px #000000b3}:root[data-theme=light]{color-scheme:light;--bg: #f4f5f3;--surface: #e9ebe7;--surface-raised: #ffffff;--border-subtle: #dcdfd9;--border-control: #80837c;--ink: #0f0f0f;--ink-muted: #5c605a;--accent: #c9f06f;--on-accent: #0f0f0f;--accent-text: #3f6a08;--focus: #1f5fb0;--positive: var(--accent-text);--info: #1f5fb0;--warning: #8a5a00;--danger: #b83d12;--shadow-float: 0 12px 32px #0f0f0f33}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f4f5f3;--surface: #e9ebe7;--surface-raised: #ffffff;--border-subtle: #dcdfd9;--border-control: #80837c;--ink: #0f0f0f;--ink-muted: #5c605a;--accent: #c9f06f;--on-accent: #0f0f0f;--accent-text: #3f6a08;--focus: #1f5fb0;--positive: var(--accent-text);--info: #1f5fb0;--warning: #8a5a00;--danger: #b83d12;--shadow-float: 0 12px 32px #0f0f0f33}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 120px;--space-10: 240px;--radius-sm: 4px;--radius-md: 8px;--radius-full: 999px;--font-sans: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;--font-code: ui-monospace, SFMono-Regular, Menlo, monospace}.display{font-family:var(--font-sans);font-size:64px;line-height:60px;font-weight:700;letter-spacing:-.03em}.headline{font-family:var(--font-sans);font-size:40px;line-height:44px;font-weight:700;letter-spacing:-.02em}.title{font-family:var(--font-sans);font-size:28px;line-height:34px;font-weight:500;letter-spacing:-.01em}.lead{font-family:var(--font-sans);font-size:20px;line-height:30px;font-weight:400}.body{font-family:var(--font-sans);font-size:17px;line-height:26px;font-weight:400}.body-strong{font-family:var(--font-sans);font-size:17px;line-height:26px;font-weight:500}.small{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:400}.caption{font-family:var(--font-sans);font-size:13px;line-height:18px;font-weight:500}.ui{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:400}.ui-strong{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:500}.figure{font-family:var(--font-sans);font-size:40px;line-height:40px;font-weight:700;letter-spacing:-.02em}.policy-title{font-family:var(--font-sans);font-size:24px;line-height:30px;font-weight:600}.policy-body{font-family:var(--font-sans);font-size:16px;line-height:26px;font-weight:400}.code{font-family:var(--font-code);font-size:13px;line-height:20px;font-weight:400}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:20px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}code,pre{font-family:var(--font-code);font-size:13px;line-height:20px}.ink-muted{color:var(--ink-muted)}.caption{font-size:13px;line-height:18px;font-weight:500}.num{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:var(--space-5) var(--space-4);gap:var(--space-5)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:17px;line-height:20px;padding:0 var(--space-2)}.brand:hover{text-decoration:none}.brand svg{width:20px;height:20px;flex:none}.brand-mark-c{fill:var(--ink)}.brand-mark-square{fill:var(--accent)}.brand-scope{display:block;padding:0 var(--space-2);margin-top:calc(-1 * var(--space-4));color:var(--ink-muted);font-size:13px;line-height:18px}.nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-link{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--ink-muted)}.nav-link:hover{text-decoration:none;color:var(--ink)}.nav-link[aria-current=page]{color:var(--ink);background:var(--surface)}.nav-count{font-size:13px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.sidebar-foot{display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-2);color:var(--ink-muted);font-size:13px;line-height:18px}.sidebar-user{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{display:block;color:var(--ink);font-weight:500;font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis}.sidebar-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.canvas{min-width:0;padding:var(--space-5) var(--space-6) var(--space-8)}.topbar{display:none}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.page-title{font-size:24px;line-height:30px;font-weight:600;letter-spacing:-.01em}.page-subtitle{color:var(--ink-muted);margin-top:var(--space-1)}.page-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.crumbs{display:flex;gap:var(--space-2);color:var(--ink-muted);font-size:13px;line-height:18px;margin-bottom:var(--space-2)}.section{margin-top:var(--space-6)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.section-title{font-size:16px;line-height:22px;font-weight:500}.section-meta{color:var(--ink-muted);font-size:13px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.panel{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-4);min-width:0}.panel-title{font-size:14px;line-height:20px;font-weight:500;margin-bottom:var(--space-3)}.kv{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:var(--space-1) var(--space-3);margin:0}.kv dt{color:var(--ink-muted);line-height:24px}.kv dd{margin:0;line-height:24px;overflow-wrap:anywhere}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border-radius:var(--radius-md);overflow:hidden}.kpi{padding:var(--space-3) var(--space-4);border-left:1px solid var(--border-subtle);min-width:0;color:inherit}a.kpi:hover{text-decoration:none;background:var(--surface-raised)}.kpi:nth-child(4n+1){border-left:0}.kpi:nth-child(n+5){border-top:1px solid var(--border-subtle)}.kpi-label{display:block;color:var(--ink-muted);font-size:13px;line-height:18px}.kpi-value{display:block;font-size:24px;line-height:32px;font-weight:500;font-variant-numeric:tabular-nums}.kpi-value.is-warning{color:var(--warning)}.kpi-value.is-danger{color:var(--danger)}.table-wrap{background:var(--surface);border-radius:var(--radius-md);overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-weight:500;font-size:13px;line-height:18px;color:var(--ink-muted);padding:var(--space-3) var(--space-3);white-space:nowrap;vertical-align:bottom}.table td{padding:10px var(--space-3);border-top:1px solid var(--border-subtle);vertical-align:top;line-height:20px}.table th:first-child,.table td:first-child{padding-left:var(--space-4)}.table th:last-child,.table td:last-child{padding-right:var(--space-4)}.table th.num,.table td.num{text-align:right;font-variant-numeric:tabular-nums}.table tr[data-href]{cursor:pointer}.table tbody tr[data-href]:hover{background:var(--surface-raised)}.table .cell-main{display:block;color:var(--ink);font-weight:500}.table .cell-sub{display:block;color:var(--ink-muted);font-size:13px;line-height:18px}.table .cell-ellipsis{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table tfoot td{font-weight:500;border-top:1px solid var(--border-control)}.table .link{color:var(--ink)}.table-empty td{color:var(--ink-muted);text-align:center;padding:var(--space-5)}.table .placeholder{display:inline-block;height:14px;width:60%;border-radius:2px;background:var(--surface-raised)}.table-tools{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-3)}.table-tools .spacer{flex:1}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);color:var(--ink-muted);font-size:13px}.status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status:before{content:"";width:8px;height:8px;border-radius:var(--radius-full);background:var(--ink-muted);flex:none}.status[data-tone=positive]:before{background:var(--positive)}.status[data-tone=info]:before{background:var(--info)}.status[data-tone=warning]:before{background:var(--warning)}.status[data-tone=danger]:before{background:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap;transition:opacity .15s ease}.btn:hover{text-decoration:none;background:var(--surface-raised)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:transparent;font-weight:500}.btn-primary:hover{background:var(--accent);opacity:.9}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:transparent}.btn-quiet{border-color:transparent;color:var(--ink-muted);padding:0 var(--space-2)}.btn-quiet:hover{color:var(--ink)}.btn-sm{height:28px;font-size:13px;padding:0 var(--space-2)}.input,.select,.textarea{height:32px;padding:0 var(--space-2);border:1px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);min-width:0}.textarea{height:auto;min-height:96px;padding:var(--space-2);resize:vertical;line-height:20px}.input::placeholder{color:var(--ink-muted)}.input.is-invalid,.select.is-invalid{border-color:var(--danger)}.input-search{width:260px;max-width:100%}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field-label{font-weight:500;font-size:13px;line-height:18px}.field-help{color:var(--ink-muted);font-size:13px;line-height:18px}.field-error{color:var(--danger);font-size:13px;line-height:18px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.form-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.input-euro{width:110px;text-align:right;font-variant-numeric:tabular-nums}.input-currency{width:72px;text-transform:uppercase}.notice{display:flex;gap:var(--space-3);align-items:baseline;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface)}.notice[data-tone=danger]{color:var(--danger)}.notice[data-tone=positive]{color:var(--positive)}.notice[data-tone=warning]{color:var(--warning)}.notice .btn{margin-left:auto;color:var(--ink)}.inline-msg{font-size:13px;line-height:18px}.inline-msg[data-tone=danger]{color:var(--danger)}.inline-msg[data-tone=positive]{color:var(--positive)}.pre{margin:0;padding:var(--space-3) var(--space-4);background:var(--surface-raised);border-radius:var(--radius-sm);overflow:auto;max-height:480px;white-space:pre-wrap;overflow-wrap:anywhere}.code-inline{padding:1px 4px;background:var(--surface-raised);border-radius:2px;overflow-wrap:anywhere}.tags{display:flex;flex-wrap:wrap;gap:4px}.tag{display:inline-block;padding:0 6px;border-radius:2px;background:var(--surface-raised);font-size:13px;line-height:20px;white-space:nowrap}details.disclosure>summary{cursor:pointer;color:var(--ink-muted);list-style:none}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary:before{content:"+ "}details.disclosure[open]>summary:before{content:"− "}.chart{width:100%;height:auto;display:block}.chart .grid-line{stroke:var(--border-subtle);stroke-width:1}.chart .baseline{stroke:var(--border-control);stroke-width:1}.chart .bar{fill:var(--accent)}.chart .bar-empty{fill:var(--surface-raised)}.chart .tick{fill:var(--ink-muted);font-size:12px;font-family:var(--font-sans)}.chart .bar-label{fill:var(--ink-muted);font-size:12px;font-family:var(--font-sans);font-variant-numeric:tabular-nums}.chart-tooltip{color:var(--ink-muted);font-size:13px;min-height:18px;margin-top:var(--space-2)}.login{min-height:100vh;display:grid;place-items:center;padding:var(--space-4)}.login-card{width:100%;max-width:360px;background:var(--surface);border-radius:var(--radius-md);padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.login-card .brand{padding:0}@media(max-width:64rem){.shell{grid-template-columns:1fr}.sidebar{display:none;position:fixed;inset:0;z-index:20;height:auto;background:var(--bg);padding-top:var(--space-7);overflow-y:auto}.sidebar[data-open=true]{display:flex}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 var(--space-4);background:var(--bg)}.topbar .brand{padding:0}.canvas{padding:var(--space-4) var(--space-4) var(--space-7)}.grid-2,.grid-3{grid-template-columns:1fr}.kv{grid-template-columns:1fr;gap:0}.kv dt{line-height:18px;font-size:13px;margin-top:var(--space-2)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi,.kpi:nth-child(n+5){border-top:1px solid var(--border-subtle)}.kpi:nth-child(-n+2){border-top:0}.kpi,.kpi:nth-child(4n+1){border-left:1px solid var(--border-subtle)}.kpi:nth-child(odd){border-left:0}.input-search{width:100%}.table td,.table th{white-space:nowrap}.btn,.input,.select{min-height:40px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
