:root{--ink: #20242a;--ink-2: #5b626b;--ink-3: #8a9099;--brand: #223f69;--brand-hover: #17355c;--brand-soft: #7d9bc2;--brand-tint: #eef2f8;--brand-tint-border: #d4deec;--brand-on-dark: #a9c3e2;--accent: #b88b5a;--accent-hover: #9c7245;--accent-tint: #f6efe5;--accent-tint-border: #e6d7c2;--ok: #2f6b46;--ok-text: #2a5e3e;--ok-tint: #eaf3ed;--ok-tint-border: #cbe0d3;--warn: #8a6410;--warn-text: #7a5a0f;--warn-text-2: #6d5210;--warn-tint: #fbf3df;--warn-tint-border: #ecdcb4;--crit: #a33327;--crit-text: #932e23;--crit-text-2: #7a2b21;--crit-tint: #fbecea;--crit-tint-border: #efcdc8;--crit-field-bg: #fdf7f6;--bg: #f7f2e9;--bg-2: #fbf8f2;--bg-3: #fdfbf7;--surface: #fff;--line: #e7e1d6;--line-soft: #f0ebe1;--line-strong: #d4ccbf;--skeleton: #efeae1;--font-sans: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-script: "Parisienne", "Brush Script MT", cursive;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--r-tag: 6px;--r-ctl: 10px;--r-card: 14px;--r-card-sm: 12px;--r-pill: 999px;--h-primary: 52px;--h-field: 48px;--h-secondary: 44px;--h-chip: 40px;--shadow: 0 1px 2px rgba(32, 36, 42, .06);--shadow-float: 0 -6px 24px rgba(32, 36, 42, .12);--shadow-drawer: 0 8px 32px rgba(32, 36, 42, .16);--sidebar-w: 212px;--bottomnav-h: 68px;--topbar-h: 69px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-hover)}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.t-screen{font:700 26px/1.15 var(--font-sans);letter-spacing:-.02em}.t-section{font:700 18px/1.25 var(--font-sans)}.t-card{font:600 15px/1.35 var(--font-sans)}.t-help{font:500 13px/1.45 var(--font-sans);color:var(--ink-2)}.t-label{font:500 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.t-meta{font:500 12.5px/1.4 var(--font-mono);color:var(--ink-2)}.t-meta-3{font:500 12.5px/1.4 var(--font-mono);color:var(--ink-3)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.crit{color:var(--crit-text)}.ok{color:var(--ok)}.warn{color:var(--warn-text)}.brand{color:var(--brand)}.right{text-align:right}.nowrap{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.wrap{flex-wrap:wrap}.g1{gap:var(--s-1)}.g2{gap:var(--s-2)}.g3{gap:var(--s-3)}.g4{gap:var(--s-4)}.g6{gap:var(--s-6)}.grow{flex:1;min-width:0}.grid-2,.grid-4,.grid-5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.grid-3,.split{display:grid;grid-template-columns:1fr;gap:var(--s-3)}@media (min-width: 640px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.split{grid-template-columns:1.5fr 1fr}.split-even{grid-template-columns:1fr 1fr}}@media (max-width: 1023px){.desktop-only{display:none!important}}@media (min-width: 1024px){.mobile-only{display:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h-secondary);padding:0 20px;border-radius:var(--r-ctl);font:600 15px/1 var(--font-sans);white-space:nowrap;border:1px solid transparent;transition:background .12s,border-color .12s,color .12s;text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{background:var(--line);color:var(--ink-3);border-color:transparent;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff;height:var(--h-primary);padding:0 22px}.btn-primary:hover:not(:disabled){background:var(--brand-hover);color:#fff}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink);height:var(--h-field)}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-text{color:var(--brand);padding:0 12px;height:var(--h-field)}.btn-text:hover:not(:disabled){color:var(--brand-hover)}.btn-danger{background:var(--surface);border-color:var(--crit-tint-border);color:var(--crit);height:var(--h-field)}.btn-danger:hover:not(:disabled){background:var(--crit-tint)}.btn-sm{height:40px;padding:0 16px;font-size:13.5px}.btn-lg{height:54px;font-size:16px}.btn-block{width:100%}.btn-pill{border-radius:var(--r-pill)}.btn-tile{height:64px;border-radius:var(--r-card-sm);font-size:14.5px}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:999px;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chip{display:inline-flex;align-items:center;gap:6px;height:var(--h-chip);padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);font:500 13.5px/1 var(--font-sans);color:var(--ink-2);white-space:nowrap}.chip:hover{background:var(--bg)}.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.chip.is-crit{background:var(--crit-tint);border-color:var(--crit-tint-border);color:var(--crit-text)}.chip.is-link{border-color:transparent;color:var(--brand);background:transparent;padding:0 8px}.chip .caret{color:var(--ink-3);font-size:11px}.chip.is-active .caret{color:var(--line-strong)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--page-x, 18px));padding:0 var(--page-x, 18px)}.chips.scroll::-webkit-scrollbar{display:none}.tag{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:var(--r-tag);font:600 12px/1.2 var(--font-sans);white-space:nowrap;border:1px solid var(--line);background:var(--bg);color:var(--ink-2)}.tag.ok{background:var(--ok-tint);color:var(--ok);border-color:var(--ok-tint-border)}.tag.warn{background:var(--warn-tint);color:var(--warn-text);border-color:var(--warn-tint-border)}.tag.crit{background:var(--crit-tint);color:var(--crit-text);border-color:var(--crit-tint-border)}.tag.brand{background:var(--brand-tint);color:var(--brand-hover);border-color:var(--brand-tint-border)}.tag.sm{padding:4px 8px;font-size:11.5px}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-pill);font:600 11.5px/1.2 var(--font-sans);border:1px solid var(--line-strong);color:var(--ink-2);white-space:nowrap}.pill.crit{border-color:var(--crit-tint-border);color:var(--crit-text)}.pill.warn{border-color:var(--warn-tint-border);color:var(--warn-text)}.count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:1px 7px;border-radius:var(--r-pill);font:600 11.5px/1.4 var(--font-sans)}.count.crit{background:var(--crit-tint);color:var(--crit-text)}.count.warn{background:var(--warn-tint);color:var(--warn-text)}.count.solid{background:var(--crit);color:#fff}.dot{width:8px;height:8px;border-radius:999px;flex:none;background:var(--line)}.dot.crit{background:var(--crit)}.dot.warn{background:var(--warn)}.dot.ok{background:var(--ok)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-sm)}.card.pad{padding:14px 16px}.card.pad-lg{padding:18px 20px}.card.crit{border-color:var(--crit-tint-border)}.card.warn{border-color:var(--warn-tint-border)}.card.accent-crit{border-left:4px solid var(--crit);border-color:var(--crit-tint-border);border-left-color:var(--crit)}.card.accent-warn{border-left:4px solid var(--warn);border-color:var(--warn-tint-border);border-left-color:var(--warn)}.card.is-selected{background:var(--brand-tint)}.card.clickable{cursor:pointer;text-align:left;width:100%;display:block;color:inherit}.card.clickable:hover{border-color:var(--line-strong)}.card-title{font:700 16px/1.3 var(--font-sans)}.card-rows{display:flex;flex-direction:column}.card-rows>*{padding:12px 14px;border-bottom:1px solid var(--line-soft)}.card-rows>*:last-child{border-bottom:0}.card-rows>.total{background:var(--bg-2)}.list-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:14px;display:flex;flex-direction:column;gap:7px;min-height:72px;text-align:left;width:100%;color:inherit}.list-card:hover{border-color:var(--line-strong)}.list-card.crit{border-color:var(--crit-tint-border)}.list-card.warn{border-color:var(--warn-tint-border)}.list-card.accent-crit{border-left:4px solid var(--crit)}.list-card.done{opacity:.7}.list-card .head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.list-card .name{font:600 15.5px/1.3 var(--font-sans)}.list-card .foot{display:flex;justify-content:space-between;border-top:1px solid var(--line-soft);padding-top:8px;font:500 14px/1.3 var(--font-mono);font-variant-numeric:tabular-nums}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left;color:inherit}.stat.crit{border-color:var(--crit-tint-border)}.stat .label{font:500 11.5px/1.2 var(--font-mono);letter-spacing:.05em;color:var(--ink-2);text-transform:uppercase}.stat .value{font:600 22px/1.2 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .hint{font:500 12px/1.3 var(--font-sans);color:var(--ink-2)}.stat.crit .label,.stat.crit .value,.stat.crit .hint{color:var(--crit-text)}.stat.lg .value{font-size:24px}@media (max-width: 480px){.stat .value{font-size:18px}.stat.lg .value{font-size:20px}}.callout{border-left:4px solid var(--ink-2);background:var(--bg);border-radius:0 var(--r-ctl) var(--r-ctl) 0;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.callout .title{font:700 14.5px/1.3 var(--font-sans)}.callout .body{font:400 13.5px/1.5 var(--font-sans)}.callout.crit{border-color:var(--crit);background:var(--crit-tint)}.callout.crit .title{color:var(--crit-text)}.callout.crit .body{color:var(--crit-text-2)}.callout.warn{border-color:var(--warn);background:var(--warn-tint)}.callout.warn .title{color:var(--warn-text)}.callout.warn .body{color:var(--warn-text-2)}.callout.ok{border-color:var(--ok);background:var(--ok-tint)}.callout.ok .title{color:var(--ok)}.callout.ok .body{color:var(--ok-text)}.action-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ink-2);border-radius:var(--r-card-sm);padding:14px 16px;display:flex;flex-direction:column;gap:6px;text-align:left;color:inherit;width:100%}.action-card.crit{border-color:var(--crit-tint-border);border-left-color:var(--crit)}.action-card.crit .title{color:var(--crit-text)}.action-card.warn{border-color:var(--warn-tint-border);border-left-color:var(--warn)}.action-card.warn .title{color:var(--warn-text)}.action-card .title{font:700 15px/1.35 var(--font-sans)}.action-card .body{font:400 13px/1.5 var(--font-sans);color:var(--ink-2)}.action-card .link{font:600 13px/1.3 var(--font-sans);color:var(--brand)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field .label{font:600 13px/1.3 var(--font-sans)}.field .req{color:var(--crit)}.field .help{font:500 12.5px/1.4 var(--font-sans);color:var(--ink-2)}.field .error{font:500 12.5px/1.4 var(--font-sans);color:var(--crit)}.control{height:var(--h-field);width:100%;border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);padding:0 14px;font:400 15px/1 var(--font-sans);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:10px}.control::placeholder{color:var(--ink-3)}.control:focus,.control:focus-within{outline:none;border:1.5px solid var(--ink)}.control.is-error{border:1.5px solid var(--crit);background:var(--crit-field-bg)}.control.is-readonly{background:var(--bg);color:var(--ink-2)}.control.tall{height:var(--h-primary)}.control.money{font:600 17px/1 var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.control.money-lg{font-size:19px;height:var(--h-primary)}textarea.control{height:auto;min-height:80px;padding:12px 14px;resize:vertical;line-height:1.5;display:block}select.control{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235b626b' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.control-wrap{position:relative;display:flex;align-items:center}.control-wrap .control{padding-right:40px}.control-wrap .suffix{position:absolute;right:14px;font:500 13px/1 var(--font-mono);color:var(--ink-2);pointer-events:none}.control-wrap .suffix-btn{position:absolute;right:12px;font:600 13px/1 var(--font-sans);color:var(--ink-2)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r-ctl);padding:18px;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--bg-2);text-align:center;width:100%;color:inherit}.dropzone:hover{border-color:var(--ink-2)}.dropzone.is-error{border-color:var(--crit);background:var(--crit-field-bg)}.dropzone .t{font:600 14px/1.3 var(--font-sans)}.dropzone .s{font:500 12.5px/1.3 var(--font-mono);color:var(--ink-3)}.file-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r-ctl);padding:10px 12px}.file-row .thumb{width:34px;height:34px;border-radius:6px;background:var(--line);flex:none}.form-actions{display:flex;gap:10px}.form-actions .btn{flex:1}.form-actions .btn-secondary{flex:0 0 auto}.check{display:inline-flex;align-items:center;gap:8px;font:500 13px/1.3 var(--font-sans);color:var(--ink-2);cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--brand);margin:0}.seg{display:flex;border:1px solid var(--line-strong);border-radius:var(--r-ctl);overflow:hidden}.seg button{flex:1;height:44px;font:600 13.5px/1 var(--font-sans);color:var(--ink-2);border-right:1px solid var(--line-strong)}.seg button:last-child{border-right:0}.seg button.is-active{background:var(--ink);color:#fff}.steps{display:flex;gap:6px}.steps span{flex:1;height:5px;border-radius:3px;background:var(--line)}.steps span.done{background:var(--brand)}.tabs{display:flex;gap:16px;border-bottom:1px solid var(--line);font:600 14px/1 var(--font-sans);color:var(--ink-2);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{display:inline-flex;align-items:center;gap:6px;padding:8px 0 10px;border-bottom:2px solid transparent;white-space:nowrap;color:inherit;margin-bottom:-1px}.tabs button.is-active{border-bottom-color:var(--brand);color:var(--ink)}.tabs.lg{gap:20px;font-size:14.5px}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.table-scroll{overflow-x:auto}.tbl{width:100%;min-width:860px;border-collapse:collapse;font:400 14px/1.4 var(--font-sans)}.tbl th{padding:12px 18px;background:var(--bg-2);border-bottom:1px solid var(--line);font:500 11.5px/1.2 var(--font-mono);letter-spacing:.04em;color:var(--ink-2);text-align:left;text-transform:uppercase;white-space:nowrap}.tbl td{padding:14px 18px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr.clickable:hover{background:var(--bg-2)}.tbl tbody tr.is-selected{background:var(--brand-tint)}.tbl th.num,.tbl td.num{text-align:right}.tbl td.strong{font-weight:600}.tbl td.date{font:500 13px/1.3 var(--font-mono)}.tbl td.total{font-weight:600}.tbl-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font:500 13px/1.3 var(--font-sans);color:var(--ink-2);border-top:1px solid var(--line-soft);gap:12px;flex-wrap:wrap}.pager{display:flex;gap:6px;font:500 13px/1 var(--font-mono)}.pager button{border:1px solid var(--line-strong);border-radius:8px;padding:8px 12px;color:var(--ink)}.pager button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.kv{display:flex;flex-direction:column;gap:9px;font:400 14px/1.4 var(--font-sans)}.kv>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-soft);padding-bottom:9px}.kv>div:last-child{border-bottom:0;padding-bottom:0}.kv .k{color:var(--ink-2)}.kv .v{font-weight:600;text-align:right}.kv .v.mono{font:500 14px/1.4 var(--font-mono)}.kv .v.big{font:600 16px/1.3 var(--font-mono)}.bar{height:12px;background:var(--skeleton);border-radius:3px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--brand)}.bar.thin{height:6px}.bar>span.soft{background:var(--brand-soft)}.notif{display:flex;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line-soft);text-align:left;width:100%;color:inherit;background:var(--surface)}.notif.unread{background:var(--bg-3)}.notif.resolved{opacity:.6}.notif .dot{margin-top:7px}.notif .t{font:600 15px/1.3 var(--font-sans)}.notif .b{font:400 13.5px/1.5 var(--font-sans);color:var(--ink-2)}.notif .a{font:600 14px/1.3 var(--font-sans);color:var(--brand)}.notif .time{font:500 11.5px/1.3 var(--font-mono);color:var(--ink-3);white-space:nowrap}.empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.empty .icon{width:40px;height:40px;border:1.5px dashed var(--line-strong);border-radius:10px}.empty .t{font:600 15px/1.3 var(--font-sans)}.empty .b{font:400 13.5px/1.55 var(--font-sans);color:var(--ink-2);max-width:340px}.empty .btn{margin-top:4px}.skel{background:var(--skeleton);border-radius:6px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.page{--page-x: 18px;padding:16px var(--page-x) calc(var(--bottomnav-h) + 24px);display:flex;flex-direction:column;gap:16px;max-width:1232px;margin:0 auto;width:100%}.page.has-sticky{padding-bottom:calc(var(--bottomnav-h) + 110px)}@media (min-width: 640px){.page{--page-x: 24px}}@media (min-width: 1024px){.page{padding:24px var(--page-x) 48px;gap:20px}.page.has-sticky{padding-bottom:48px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-head .title{font:700 22px/1.2 var(--font-sans);letter-spacing:-.01em}.page-head .sub{font:500 12.5px/1.4 var(--font-mono);color:var(--ink-3);margin-top:3px}.page-head .actions{display:flex;gap:8px;flex-wrap:wrap}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-head .t{font:700 17px/1.25 var(--font-sans)}.section-head .more{font:600 13px/1.3 var(--font-sans);color:var(--brand)}.back{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--font-sans);color:var(--ink-2);height:40px;padding-right:8px}.back:hover{color:var(--ink)}.sticky-foot{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 18px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;z-index:30;box-shadow:var(--shadow)}.sticky-foot .note{text-align:center;font:500 12.5px/1.3 var(--font-sans);color:var(--ink-3)}@media (min-width: 1024px){.sticky-foot{position:sticky;bottom:0;margin:0 calc(-1 * var(--page-x));border-radius:0;left:auto;right:auto}}.has-bottomnav .sticky-foot{bottom:var(--bottomnav-h)}@media (min-width: 1024px){.has-bottomnav .sticky-foot{bottom:0}}.toasts{position:fixed;left:16px;right:16px;bottom:calc(var(--bottomnav-h) + 16px);z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none}@media (min-width: 1024px){.toasts{left:auto;right:24px;bottom:24px;width:420px}}.toast{pointer-events:auto;display:flex;gap:10px;align-items:center;background:var(--ink);color:#fff;border-radius:var(--r-card-sm);padding:14px 16px;box-shadow:var(--shadow-drawer);font:600 14px/1.4 var(--font-sans)}.toast .ic{width:20px;height:20px;border-radius:999px;background:var(--ok);flex:none}.toast.crit .ic{background:var(--crit)}.toast.warn .ic{background:var(--warn)}.toast .act{color:var(--brand-on-dark);font-weight:600;white-space:nowrap}.toast.offline{background:var(--surface);color:var(--crit-text);border:1px solid var(--crit-tint-border)}.toast.offline .act{color:var(--brand)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#20242a52;z-index:40;animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}}.sheet{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);border-radius:20px 20px 0 0;padding:18px;display:flex;flex-direction:column;gap:14px;z-index:50;box-shadow:var(--shadow-float);max-height:92vh;overflow-y:auto;animation:up .2s ease-out;padding-bottom:calc(18px + env(safe-area-inset-bottom))}@keyframes up{0%{transform:translateY(24px);opacity:0}}.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line);align-self:center}.sheet .title{font:700 17px/1.3 var(--font-sans)}@media (min-width: 1024px){.sheet{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:520px;border-radius:var(--r-card);border:1px solid var(--line);animation:fade .15s}.sheet .grab{display:none}}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(100vw,460px);background:var(--surface);border-left:1px solid var(--line);z-index:50;display:flex;flex-direction:column;box-shadow:var(--shadow-drawer);animation:slide .2s ease-out}@keyframes slide{0%{transform:translate(24px);opacity:0}}.drawer .drawer-head{padding:20px 20px 0;display:flex;flex-direction:column;gap:14px}.drawer .drawer-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1}.drawer .drawer-foot{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;gap:10px}.drawer .drawer-foot .btn{flex:1}.drawer .drawer-foot .btn-secondary{flex:0 0 auto}.x{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font:600 15px/1 var(--font-sans);color:var(--ink-2)}.x:hover{background:var(--bg);color:var(--ink)}@media (min-width: 1024px){.drawer.inline{position:sticky;top:var(--topbar-h);height:calc(100dvh - var(--topbar-h));align-self:flex-start;width:420px;flex:none;box-shadow:none;animation:none;z-index:auto}}.shell{min-height:100dvh;display:flex}.sidebar{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 18px 12px;display:flex;flex-direction:column;gap:10px}.topbar .status{display:none}.topbar .bar-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar .t{font:700 19px/1.2 var(--font-sans)}.topbar .s{font:500 12.5px/1.3 var(--font-mono);color:var(--ink-3)}.avatar{width:40px;height:40px;border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font:600 12px/1 var(--font-sans);position:relative;background:var(--surface);color:var(--ink)}.avatar.filled{background:var(--line);border-color:transparent;color:var(--ink-2);width:32px;height:32px}.avatar .badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:999px;background:var(--crit);color:#fff;font:600 10px/16px var(--font-sans);text-align:center}.bottomnav{position:fixed;left:0;right:0;bottom:0;height:var(--bottomnav-h);background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:30}.bottomnav a,.bottomnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;font:600 11px/1.2 var(--font-sans);color:var(--ink-3);position:relative}.bottomnav a.is-active,.bottomnav button.is-active{color:var(--brand)}.bottomnav .ic{width:22px;height:22px;display:block}.bottomnav .badge{position:absolute;top:0;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--crit);color:#fff;font:600 10px/16px var(--font-sans);text-align:center}@media (min-width: 1024px){.sidebar{display:flex;flex-direction:column;gap:22px;width:var(--sidebar-w);flex:none;background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100dvh}.sidebar .logo{display:flex;align-items:center;gap:10px;padding:0 6px;font:700 15px/1.2 var(--font-sans)}.sidebar .logo i{width:30px;height:30px;border-radius:8px;background:var(--brand);display:flex;align-items:center;justify-content:center}.sidebar .logo i:before{content:"Zu";font:400 19px/1 var(--font-script);color:#f8f2e8;padding-bottom:4px}.sidebar nav{display:flex;flex-direction:column;gap:2px;font:500 14px/1.2 var(--font-sans);color:var(--ink-2);flex:1;min-height:0;overflow-y:auto;margin:0 -4px;padding:0 4px}.sidebar nav a{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:8px;color:inherit}.sidebar nav a:hover{background:var(--bg);color:var(--ink)}.sidebar nav a.is-active{background:var(--brand-tint);color:var(--brand-hover);font-weight:600}.sidebar>div:last-child{flex:none}.sidebar .user{margin-top:0;border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;gap:10px;text-align:left;width:100%}.sidebar .user .n{font:600 13px/1.3 var(--font-sans)}.sidebar .user .r{font:500 11.5px/1.3 var(--font-mono);color:var(--ink-3)}.topbar{padding:14px 24px;flex-direction:row;align-items:center;justify-content:space-between}.topbar .bar-row{flex:1}.bottomnav{display:none}}.today-badge{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);font:600 12.5px/1 var(--font-mono);color:var(--ink-2);white-space:nowrap}.logo-mark{width:52px;height:52px;border-radius:14px;background:var(--brand);display:flex;align-items:center;justify-content:center}.logo-mark:before{content:"Zu";font:400 34px/1 var(--font-script);color:#f8f2e8;padding-bottom:6px}.menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-sm);box-shadow:var(--shadow-drawer);min-width:220px;padding:6px;z-index:60;display:flex;flex-direction:column}.menu button,.menu a{text-align:left;padding:10px 12px;border-radius:8px;font:500 14px/1.3 var(--font-sans);color:var(--ink);display:flex;justify-content:space-between;gap:12px}.menu button:hover,.menu a:hover{background:var(--bg)}.menu .sep{height:1px;background:var(--line-soft);margin:4px 0}.menu .hd{padding:8px 12px 4px;font:500 11px/1 var(--font-mono);letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}.more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.more-grid a{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:var(--r-card-sm);color:var(--ink);background:var(--surface)}.more-grid a .n{font:600 15px/1.3 var(--font-sans)}.more-grid a .d{font:500 12px/1.3 var(--font-mono);color:var(--ink-3)}.shift-grid{display:grid;grid-template-columns:120px repeat(7,minmax(88px,1fr));font:400 13px/1.3 var(--font-sans);min-width:760px}.shift-grid>div{padding:10px 8px;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);min-height:56px}.shift-grid .h{background:var(--bg-2);font:500 11.5px/1.2 var(--font-mono);letter-spacing:.04em;color:var(--ink-2);text-transform:uppercase;display:flex;flex-direction:column;gap:2px;min-height:0}.shift-grid .p{font:600 13.5px/1.3 var(--font-sans);display:flex;flex-direction:column;gap:2px}.shift-grid .p small{font:500 11.5px/1.3 var(--font-mono);color:var(--ink-3)}.shift{display:block;width:100%;text-align:left;border-radius:6px;padding:6px 8px;font:500 12px/1.3 var(--font-mono);background:var(--brand-tint);color:var(--brand-hover);border:1px solid var(--brand-tint-border)}.shift.off{background:var(--bg);color:var(--ink-2);border-color:var(--line)}.shift.v-sabah{background:#e8f0fe;color:#1d4ed8;border-color:#c7dbfb}.shift.v-aksam{background:#efe9fb;color:#5b3ba8;border-color:#dccbf3}.shift.v-diger{background:var(--warn-tint);color:var(--warn-text);border-color:var(--warn-tint-border)}.shift.izin{background:var(--crit-tint);color:var(--crit-text);border-color:var(--crit-tint-border)}.shift.conflict{background:var(--crit-tint);color:var(--crit-text);border-color:var(--crit-tint-border);box-shadow:inset 0 0 0 1px var(--crit)}.shift.draft{border-style:dashed}.shift-legend{display:flex;flex-wrap:wrap;gap:12px;font:500 12px/1 var(--font-mono);color:var(--ink-2)}.shift-legend span{display:inline-flex;align-items:center;gap:6px}.shift-legend i{width:12px;height:12px;border-radius:3px;border:1px solid;display:inline-block}.settings-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line-soft);color:var(--ink);min-height:56px}.settings-list a:last-child{border-bottom:0}.settings-list .n{font:600 15px/1.3 var(--font-sans)}.settings-list .d{font:500 12.5px/1.3 var(--font-mono);color:var(--ink-3)}.settings-list .v{font:500 13.5px/1.3 var(--font-mono);color:var(--ink-2);white-space:nowrap}.doc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#14100cb8;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));animation:fade .12s ease}.doc-modal{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-drawer);width:100%;max-width:720px;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.doc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line)}.doc-title{font:600 14px/1.3 var(--font-sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-body{flex:1;min-height:0;overflow:auto;background:var(--bg-2);display:flex;align-items:center;justify-content:center}.doc-body img{max-width:100%;max-height:78vh;object-fit:contain;display:block}.doc-body iframe{width:100%;height:78vh;border:0;background:#fff}.doc-msg{display:flex;align-items:center;gap:10px;padding:40px;color:var(--ink-2);font:500 14px/1.4 var(--font-sans)}@keyframes fade{0%{opacity:0}to{opacity:1}}
