:root{--bg:#f5f5f7;--side:#efeff2;--panel:#fff;--sunken:#f2f2f7;--hover:#e9e9ee;--line:#e5e5ea;--line-2:#d1d1d6;--card-line:#0000000d;--fill:#7676801f;--fill-2:#76768033;--seg-on:#fff;--glass:#ffffffd1;--fg:#1d1d1f;--fg-2:#6e6e73;--fg-3:#8e8e93;--ink:#1d1d1f;--ink-fg:#fff;--accent:#007aff;--chart-accent:#0a84ff;--chart-ok:#30d158;--chart-warn:#ff9f0a;--chart-bad:#ff453a;--accent-2:#99c7ff;--accent-soft:#e5f1ff;--accent-fg:#0066d6;--ok:#248a3d;--ok-soft:#e4f6e8;--warn:#c93400;--warn-soft:#fff1e0;--bad:#d70015;--bad-soft:#ffebec;--on-color:#fff;--switch-on:#34c759;--av-s:60%;--av-l:90%;--av-fg-l:32%;--tg-bg:#dce7f2;--tg-bubble:#fff;--tg-link:#2a7ac7;--backdrop:#00000052;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 0 0 .5px #0000000a, 0 4px 16px #00000014;--shadow-lg:0 0 0 .5px #0000000f, 0 12px 40px #00000029;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, system-ui, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--ease:cubic-bezier(.25, .8, .25, 1);--spring:cubic-bezier(.34, 1.36, .64, 1);--t-fast:.15s;--t-med:.25s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--side:#161618;--panel:#1c1c1e;--sunken:#2c2c2e;--hover:#2c2c2e;--line:#38383a;--line-2:#48484a;--card-line:#ffffff0f;--fill:#7676803d;--fill-2:#76768057;--seg-on:#636366;--glass:#242426d1;--fg:#f5f5f7;--fg-2:#aeaeb2;--fg-3:#8e8e93;--ink:#f5f5f7;--ink-fg:#000;--accent:#0a84ff;--accent-2:#0a4f99;--accent-soft:#0a84ff2e;--accent-fg:#409cff;--ok:#30d158;--ok-soft:#30d15826;--warn:#ff9f0a;--warn-soft:#ff9f0a26;--bad:#ff453a;--bad-soft:#ff453a26;--on-color:#fff;--switch-on:#30d158;--av-s:28%;--av-l:24%;--av-fg-l:80%;--tg-bg:#0f1a26;--tg-bubble:#1c2733;--tg-link:#6ab3f3;--backdrop:#0000008c;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 0 0 .5px #ffffff0f, 0 8px 24px #00000073;--shadow-lg:0 0 0 .5px #ffffff1a, 0 18px 50px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--side:#161618;--panel:#1c1c1e;--sunken:#2c2c2e;--hover:#2c2c2e;--line:#38383a;--line-2:#48484a;--card-line:#ffffff0f;--fill:#7676803d;--fill-2:#76768057;--seg-on:#636366;--glass:#242426d1;--fg:#f5f5f7;--fg-2:#aeaeb2;--fg-3:#8e8e93;--ink:#f5f5f7;--ink-fg:#000;--accent:#0a84ff;--accent-2:#0a4f99;--accent-soft:#0a84ff2e;--accent-fg:#409cff;--ok:#30d158;--ok-soft:#30d15826;--warn:#ff9f0a;--warn-soft:#ff9f0a26;--bad:#ff453a;--bad-soft:#ff453a26;--on-color:#fff;--switch-on:#30d158;--av-s:28%;--av-l:24%;--av-fg-l:80%;--tg-bg:#0f1a26;--tg-bubble:#1c2733;--tg-link:#6ab3f3;--backdrop:#0000008c;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 0 0 .5px #ffffff0f, 0 8px 24px #00000073;--shadow-lg:0 0 0 .5px #ffffff1a, 0 18px 50px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--fg);font:400 14px/1.5 var(--font);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.modal-open{overflow:hidden}h1,h2,h3,p{margin:0}h1{letter-spacing:-.022em;text-wrap:balance;font-size:28px;font-weight:700;line-height:1.18}h2{letter-spacing:-.015em;font-size:16px}h2,h3{font-weight:600}h3{letter-spacing:-.01em;font-size:14px}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}a{color:var(--accent-fg)}hr{border:.5px solid var(--line)}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);letter-spacing:0;font-size:12px}.muted{color:var(--fg-3)}.soft{color:var(--fg-2)}.small{font-size:12.5px}.ellipsis,.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;min-width:0;overflow:hidden}.grow{flex:1;min-width:0}[hidden]{display:none!important}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px;border-radius:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.i{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.i.sm{width:14px;height:14px}.i.lg{width:20px;height:20px}.app{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.side{border-right:1px solid var(--line);background:var(--side);flex-direction:column;gap:18px;height:100vh;padding:16px 10px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;min-width:0;padding:4px 8px;display:flex}.logo{color:#fff;background:linear-gradient(#2f8bff,#0066e0);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.brand b,.logo{font-size:14px;font-weight:600}.brand b{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.brand small{color:var(--fg-3);font-size:12px;line-height:1.2;display:block}.brand>div{min-width:0}.nav{flex-direction:column;gap:2px;display:flex}.nav-label{color:var(--fg-3);padding:14px 10px 4px;font-size:11.5px;font-weight:600}.nav a{height:32px;color:var(--fg);transition:background var(--t-fast),color var(--t-fast);border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-weight:500;text-decoration:none;display:flex}.nav a .i{color:var(--accent)}.nav a:hover{background:var(--fill)}.nav a.active,.nav a.router-link-exact-active{background:var(--fill-2)}.nav .badge{margin-left:auto}.side-foot{flex-direction:column;gap:2px;margin-top:auto;display:flex}.side-btn{width:100%;height:34px;color:var(--fg-2);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.side-btn:hover{background:var(--hover);color:var(--fg)}.user-chip{text-align:left;width:100%;min-width:0;transition:background var(--t-fast);background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.user-chip:hover,.user-chip[aria-expanded=true]{background:var(--fill)}.user-chip b{font-size:13px;font-weight:600;display:block}.user-mini{background:0 0;border:0;border-radius:50%;padding:2px;display:inline-grid}.user-mini:hover{box-shadow:0 0 0 3px var(--fill)}.user-chip small{color:var(--fg-3);font-size:12px;display:block}.main{min-width:0}.page{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:28px 32px 72px;display:flex}.mobile-top,.tabbar{display:none}.mobile-top{align-items:center;gap:10px}.mobile-top,.page-head{justify-content:space-between}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.page-head .eyebrow{color:var(--fg-3);margin-bottom:4px;font-size:13px}.page-name{text-transform:capitalize}.page-head .sub{color:var(--fg-2);margin-top:4px}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions,.btn{align-items:center}.btn{background:var(--fill);height:32px;color:var(--fg);white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),opacity var(--t-fast),transform 60ms;border:0;border-radius:10px;justify-content:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--fill-2)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent);filter:brightness(1.08)}.btn.danger{background:var(--bad);color:var(--on-color)}.btn.danger:hover{opacity:.9;background:var(--bad)}.btn.ghost{color:var(--accent);background:0 0}.btn.ghost:hover{background:var(--fill)}.btn.danger-text{color:var(--bad)}.btn.sm{border-radius:8px;height:28px;padding:0 11px;font-size:13px}.btn.lg{border-radius:12px;height:40px;padding:0 18px;font-size:14.5px}.btn.block{width:100%}.btn .spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.icon-btn{width:30px;height:30px;color:var(--fg-3);transition:background var(--t-fast),color var(--t-fast);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--fill);color:var(--fg)}.icon-btn.sm{width:26px;height:26px}.icon-btn:disabled{opacity:.4;cursor:default}.link-btn{color:var(--fg-3);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:13px;text-decoration:none;display:inline-flex}.link-btn:hover{color:var(--fg)}.done-btn{border:1.5px solid var(--line-2);background:var(--panel);width:30px;height:30px;color:var(--fg-3);transition:all var(--t-fast);border-radius:50%;flex:none;place-items:center;display:inline-grid}button.done-btn:hover{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}.done-btn.is-done{background:var(--ok);color:var(--panel);border-color:#0000}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.label{color:var(--fg-2);font-size:12.5px;font-weight:500}.hint{color:var(--fg-3);font-size:12.5px}.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select,.field textarea,.input{border:1px solid var(--line-2);background:var(--panel);width:100%;height:36px;transition:border-color var(--t-fast),box-shadow var(--t-fast);border-radius:10px;outline:none;min-width:0;padding:0 12px}.field select,select.input{appearance:none;text-overflow:ellipsis;cursor:pointer;background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%238e8e93%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.6%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20d%3D%22m3%204.5%203%203%203-3%22%2F%3E%3C%2Fsvg%3E);background-position:right 12px center;background-repeat:no-repeat;background-size:12px;padding-right:34px}.field select:disabled,select.input:disabled{cursor:default;opacity:.6}.field textarea,textarea.input{resize:vertical;height:auto;padding:9px 11px;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.input.sm{height:32px}.field .invalid,.input.invalid{border-color:var(--bad)}.affix{gap:3px;min-width:0;display:flex;position:relative}.affix input{padding-right:62px!important}.affix .affix-sel{background:var(--sunken);width:95px;color:var(--fg-2);cursor:pointer;border:0;border-radius:6px;padding:0 6px;font-size:12.5px;font-weight:500}.affix.locked{display:block}.affix.locked .affix-sel{cursor:default;pointer-events:none;width:auto;padding:0 10px;position:absolute;top:4px;bottom:4px;right:4px}.affix.locked input{padding-right:64px!important}.prefix{position:relative}.prefix input{padding-left:26px!important}.prefix span{color:var(--fg-3);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.grid2{grid-template-columns:1fr 1fr}.grid2,.grid3{gap:12px;display:grid}.grid3{grid-template-columns:repeat(3,1fr)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.nowrap{flex-wrap:nowrap}.stack{flex-direction:column;gap:12px;display:flex;overflow:scroll}.seg{background:var(--fill);border-radius:10px;flex-wrap:wrap;gap:2px;padding:2px}.seg,.seg button{display:inline-flex}.seg button{height:28px;color:var(--fg-2);white-space:nowrap;transition:background var(--t-med) var(--ease),color var(--t-fast),box-shadow var(--t-med);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500}.seg button.on,.seg button:hover:not(.on){color:var(--fg)}.seg button.on{background:var(--seg-on);box-shadow:0 0 0 .5px #0000000a,0 3px 8px #0000001f,0 3px 1px #0000000a}.seg.full{flex-wrap:nowrap;width:100%;display:flex}.seg.full button{flex:1;padding:0 6px}.seg .count{color:var(--fg-3);font-weight:400}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-2);background:var(--panel);height:30px;color:var(--fg-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast);border-radius:99px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip.day{border-radius:10px;justify-content:center;width:38px;padding:0}.chip.static{cursor:default}.chip .x{color:var(--fg-3);background:0 0;border:0;margin-right:-4px;padding:0;display:inline-grid}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:2px 0 0}.check small{color:var(--fg-3);font-size:12.5px;display:block}.switch{flex:none;width:44px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch span{background:var(--fill-2);transition:background var(--t-med) var(--ease);border-radius:99px;position:absolute;inset:0}.switch span:after{content:"";width:22px;height:22px;transition:transform var(--t-med) var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029}.switch input:checked+span{background:var(--switch-on)}.switch input:checked+span:after{transform:translate(18px)}.switch input:disabled+span{opacity:.5}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.tabs{background:var(--fill);scrollbar-width:none;border-radius:11px;gap:2px;width:fit-content;max-width:100%;padding:2px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{height:30px;color:var(--fg-2);white-space:nowrap;transition:background var(--t-med) var(--ease),color var(--t-fast),box-shadow var(--t-med);background:0 0;border:0;border-radius:9px;padding:0 14px;font-size:13.5px;font-weight:500}.tabs button:hover:not(.on){color:var(--fg)}.tabs button.on{background:var(--seg-on);color:var(--fg);box-shadow:0 0 0 .5px #0000000a,0 3px 8px #0000001f,0 3px 1px #0000000a}.card{background:var(--panel);border:1px solid var(--card-line);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px}.card-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 10px;display:flex}.card-body{padding:4px 18px 18px}.card-sub{color:var(--fg-3);margin-top:2px;font-size:12.5px}.section-title{justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;display:flex}.divider{border:0;border-top:1px solid var(--line);margin:0}.empty{text-align:center;color:var(--fg-3);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.empty .i{width:22px;height:22px}.empty b{color:var(--fg);font-weight:600}.empty span{max-width:420px}.badge{background:var(--bad);min-width:18px;height:18px;color:var(--on-color);place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.badge,.pill{border-radius:99px}.pill{white-space:nowrap;background:var(--sunken);height:22px;color:var(--fg-2);align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.pill.dot:before{content:"";opacity:.9;background:currentColor;border-radius:50%;width:6px;height:6px}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.accent{background:var(--accent-soft);color:var(--accent-fg)}.pill.muted{background:var(--sunken);color:var(--fg-3)}.av{width:var(--s,26px);height:var(--s,26px);background:hsl(var(--h) var(--av-s) var(--av-l));color:hsl(var(--h) 45% var(--av-fg-l));font-size:calc(var(--s,26px)*.4);letter-spacing:0;border-radius:50%;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid}.av.photo{background:var(--sunken);overflow:hidden}.av img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.av-stack{display:inline-flex}.av-stack .av+.av{box-shadow:0 0 0 2px var(--panel);margin-left:-6px}.person{align-items:center;gap:8px;min-width:0;display:inline-flex}.person>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meter{background:var(--sunken);border-radius:99px;height:6px;display:flex;overflow:hidden}.meter>span{background:var(--chart-accent);transition:width .6s var(--ease);border-radius:99px}.meter.ok>span{background:var(--chart-ok)}.meter.warn>span{background:var(--chart-warn)}.meter.bad>span{background:var(--chart-bad)}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis.two{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{flex-direction:column;padding:16px;position:relative;overflow:hidden}.kpi,.kpi-label{gap:6px;display:flex}.kpi-label{color:var(--fg-2);align-items:center;font-size:13px;font-weight:500}.kpi-value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.15}.kpi-value small{color:var(--fg-3);letter-spacing:-.01em;margin-left:3px}.kpi-sub,.kpi-value small{font-size:14px;font-weight:500}.kpi-sub{color:var(--fg-2);font-variant-numeric:tabular-nums}.kpi-foot{color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:auto;font-size:12.5px;display:flex}.kpi.is-bad{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.kpi.is-bad:before{content:"";background:var(--bad);width:3px;position:absolute;top:0;bottom:0;left:0}.kpi.is-bad .kpi-value{color:var(--bad)}.ok-text{color:var(--ok)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}.dash{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.col{flex-direction:column;gap:16px;min-width:0;display:flex}.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;gap:16px;display:grid}.xlist{flex-direction:column;display:flex}.xrow{border-top:1px solid var(--line);transition:background var(--t-fast);grid-template-columns:42px minmax(0,1fr) 136px 118px auto;align-items:center;gap:14px;padding:10px 16px;display:grid}.xrow:first-child{border-top:0}.xrow:hover{background:color-mix(in srgb,var(--hover) 55%,transparent)}.dchip{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:42px;height:44px;line-height:1.05;display:flex}.dchip b{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.dchip span{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);margin-top:2px;font-size:10.5px}.dchip.overdue{background:var(--bad-soft);border-color:#0000}.dchip.overdue,.dchip.overdue span{color:var(--bad)}.dchip.today{background:var(--warn-soft);border-color:#0000}.dchip.today,.dchip.today span{color:var(--warn)}.dchip.paid{background:var(--sunken);color:var(--fg-3);border-color:#0000}.xmain,.xtitle{min-width:0}.xtitle{align-items:center;gap:6px;font-weight:500;display:flex}.xtitle>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.xtitle .i{color:var(--fg-3);width:13px;height:13px}.xmeta{color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:6px;margin-top:1px;font-size:12.5px;display:flex}.dot-sep:before{content:"·"}.xamt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.xamt .cur{color:var(--fg-3);margin-left:4px;font-size:11px;font-weight:600}.xrow.paid .xamt{color:var(--fg-2)}.pillcell{justify-content:flex-start;display:flex}.xact{justify-content:flex-end;align-items:center;gap:2px;display:flex}.group-h{color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:16px 16px 6px;font-size:12px;font-weight:600;display:flex}.group-h:first-child{border-top:0;padding-top:12px}.group-h+.xrow{border-top:0}.group-h .num{text-transform:none;letter-spacing:0}.list{flex-direction:column;display:flex}.list-row{border-top:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:10px 16px;display:flex}.list-row:first-child{border-top:0}.list-row.clickable{cursor:pointer;transition:background var(--t-fast)}.list-row.clickable:hover{background:color-mix(in srgb,var(--hover) 55%,transparent)}.list-row .grow b{font-weight:500}.list-row .grow b,.list-row .grow small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-row .grow small{color:var(--fg-3);font-size:12.5px}.boxed{border:1px solid var(--line);border-radius:10px}.boxed .list-row{padding:10px 12px}.table-wrap{padding:0 10px 10px 0;overflow-x:auto}.toolbar-end{margin-left:auto;display:inline-flex}table.table{border-collapse:collapse;width:100%;font-size:13.5px}table.table th{text-align:left;color:var(--fg-3);white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 16px 8px;font-size:12px;font-weight:500}table.table td{border-top:1px solid var(--line);vertical-align:middle;padding:10px 16px}table.table tr:first-child td{border-top:0}table.table tbody tr.clickable{cursor:pointer}table.table tbody tr.clickable:hover td{background:color-mix(in srgb,var(--hover) 55%,transparent)}table.table .r{text-align:right}table.table .c{text-align:center}table.matrix tr.grp td{background:var(--sunken);color:var(--fg-2);padding-top:8px;padding-bottom:8px;font-size:12px;font-weight:600}table.matrix td.c .pill{justify-content:center;min-width:34px}.emoji{background:var(--sunken);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.duty{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.duty:first-child{border-top:0;padding-top:2px}.dmain{flex:1;min-width:0}.dtitle{overflow-wrap:anywhere;font-weight:500;line-height:1.35}.dwho{color:var(--fg-2);align-items:center;gap:6px;min-width:0;margin-top:2px;font-size:13px;display:flex}.duty.done .dtitle{color:var(--fg-3);text-decoration:line-through;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2)}.rot{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rot li{border-top:1px dashed var(--line);align-items:center;gap:10px;min-width:0;padding:7px 0;font-size:13.5px;display:flex}.rot li:first-child{border-top:0}.rot li .n{width:18px;color:var(--fg-3);font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.rot li.current{font-weight:600}.rot li.current .n{color:var(--accent-fg)}.rot li.off{color:var(--fg-3)}.qedit{border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.qedit-row{border-top:1px solid var(--line);background:var(--panel);align-items:center;gap:10px;padding:6px 6px 6px 10px;display:flex}.qedit-row:first-child{border-top:0}.qedit-row .n{width:18px;color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:12px}.qedit-row .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.qedit-empty{text-align:center;color:var(--fg-3);padding:14px;font-size:13px}.emoji-pick{flex-wrap:wrap;gap:6px;display:flex}.emoji-pick button{border:1px solid var(--line-2);background:var(--panel);border-radius:10px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.emoji-pick button.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft)}.units-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;display:grid}.unit-card .card-head{padding-bottom:8px}.unit-stats{color:var(--fg-3);flex-wrap:wrap;gap:12px;font-size:12.5px;display:flex}.member-row{border-top:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:7px 16px;font-size:13.5px;display:flex}.member-row.clickable{cursor:pointer}.member-row.clickable:hover{background:color-mix(in srgb,var(--hover) 55%,transparent)}.member-row .t{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:12px}.status-dot{background:var(--fg-3);border-radius:50%;flex:none;width:8px;height:8px}.status-dot.ok{background:var(--ok)}.status-dot.warn{background:var(--warn)}.status-dot.bad{background:var(--bad)}.status-dot.neutral{box-shadow:inset 0 0 0 1.5px var(--fg-3)}.status-dot.muted,.status-dot.neutral{background:var(--line-2)}.report-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sunken);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.55}.rate-row{grid-template-columns:minmax(0,1fr) 60px;align-items:center;gap:4px 12px;font-size:13px;display:grid}.rate-row .meter{grid-column:1/-1}.heat{grid-template-rows:repeat(1,1fr);grid-auto-columns:minmax(4px,40px);grid-auto-flow:column;align-items:end;gap:4px;height:140px;padding:0 2px;display:grid}.heat .bar-col{cursor:default;flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:4px;height:100%;display:flex}.heat-labels{color:var(--fg-3);text-align:center;font-variant-numeric:tabular-nums;grid-auto-columns:minmax(4px,40px);grid-auto-flow:column;gap:4px;padding:6px 2px 0;font-size:11px;display:grid}.heat-labels .today{color:var(--accent);font-weight:600}.heat .bar-col i{background:var(--chart-accent);min-height:2px;transition:height .5s var(--ease);border-radius:3px 3px 0 0;display:block}.heat .bar-col.low i{background:var(--chart-warn)}.heat .bar-col.bad i{background:var(--chart-bad)}.heat .bar-col.none i{background:var(--line)}.cal-grid{border-radius:inherit;align-items:stretch;display:flex;overflow:hidden}.cal-names{z-index:1;background:var(--panel);flex:none;padding:6px 0 14px;position:relative}.cal-names:after{content:"";pointer-events:none;background:linear-gradient(to right,rgba(0,0,0,var(--cal-shade,.1)),transparent);opacity:0;width:14px;transition:opacity var(--t-fast);position:absolute;top:0;bottom:0;right:-14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cal-names{--cal-shade:.25}}:root[data-theme=dark] .cal-names{--cal-shade:.25}.cal-grid.scrolled .cal-names:after{opacity:1}.cal-scroll{overscroll-behavior-x:none;flex:1;min-width:0;padding:6px 16px 14px 0;overflow-x:auto}table.roster{border-collapse:separate;border-spacing:0 4px;font-size:13px}table.roster th{vertical-align:bottom;height:62px;color:var(--fg-3);text-align:center;min-width:38px;padding:0 2px 2px;font-weight:500}table.roster th b{color:var(--fg);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;display:block}table.roster th small{font-size:11.5px;display:block}table.roster th.today b{color:var(--accent)}table.roster td{text-align:center;height:38px;padding:0 2px}.cal-names tbody tr.hover td{font-weight:600}table.roster tfoot td{height:30px;font-size:13px}table.roster td>.rcell{margin:0 auto;display:block}table.roster .name{text-align:left;min-width:200px;max-width:240px;padding:0 12px 0 16px;font-size:14px}.rcell{background:var(--fill);width:38px;height:38px;transition:transform 80ms,background var(--t-fast);border:0;border-radius:10px;padding:0;font-size:15px}.rcell.work{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 35%,transparent)}.rcell.off{background:var(--fill)}.rcell.away{background:var(--warn-soft)}.rcell.changed{box-shadow:inset 0 0 0 2px var(--accent)}.rcell.off.changed{box-shadow:inset 0 0 0 2px var(--fg-3)}.rcell:not(:disabled):hover{transform:scale(1.08)}.rcell:disabled{cursor:default}.rcell.busy{opacity:.4}.set-row{align-items:center;gap:14px;display:flex}.set-row b{font-weight:600;display:block}.set-row small{color:var(--fg-3);margin-top:1px;font-size:12.5px;display:block}.cyc-head{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;display:flex}.cyc-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cyc-wd{color:var(--fg-3);text-align:center;padding-bottom:2px;font-size:11.5px;font-weight:600}.cyc-cell{background:var(--accent-soft);height:50px;color:var(--accent-fg);transition:background var(--t-fast),color var(--t-fast),transform 80ms;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1.1;display:flex}.cyc-cell b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.cyc-cell small{opacity:.8;font-size:10.5px}.cyc-cell:hover{filter:brightness(.97)}.cyc-cell:active{transform:scale(.96)}.cyc-cell.off{background:var(--fill);color:var(--fg-3)}.cyc-cell.off b{text-decoration:line-through;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2)}.cyc-cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.cyc-cell.past:not(.off){opacity:.7}.legend{color:var(--fg-2);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;background:var(--accent);border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.chart{height:200px;margin-left:48px;position:relative}.chart-plot{inset:0 0 24px}.chart-plot,.gl{position:absolute}.gl{border-top:1px dashed var(--line);left:0;right:0}.gl.base{border-top:1px solid var(--line-2)}.gl span{color:var(--fg-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;top:-8px;right:calc(100% + 8px)}.bars{gap:10%;padding:0 3%;position:absolute;inset:0}.bar-col,.bars{align-items:flex-end;display:flex}.bar-col{flex:1;justify-content:center;height:100%;position:relative}.bar-col:focus-visible{outline:none}.bar{background:var(--chart-accent);width:100%;max-width:40px;min-height:2px;transition:height .6s var(--ease),filter var(--t-fast);border-radius:4px 4px 0 0}.bar-col:focus-visible .bar,.bar-col:hover .bar{filter:brightness(1.08)}.bar-col:focus-visible .bar{outline:2px solid var(--accent);outline-offset:2px}.bar-labels{gap:10%;height:18px;padding:0 3%;display:flex;position:absolute;bottom:0;left:0;right:0}.bar-labels span{text-align:center;color:var(--fg-3);flex:1;font-size:12px}.bar-labels span.cur{color:var(--fg);font-weight:600}.cats{flex-direction:column;gap:11px;display:flex}.cat-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;font-size:13px;display:grid}.cat-row .v{font-variant-numeric:tabular-nums;color:var(--fg-2)}.cat-row .meter{grid-column:1/-1}.tip{z-index:95;pointer-events:none;background:var(--ink);color:var(--ink-fg);white-space:pre-line;box-shadow:var(--shadow-lg);font-variant-numeric:tabular-nums;border-radius:8px;max-width:280px;padding:8px 10px;font-size:12.5px;line-height:1.45;position:fixed}.summary{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.summary>div{border-left:1px solid var(--line);min-width:0;padding:14px 18px}.summary>div:first-child{border-left:0}.summary .l{color:var(--fg-3);font-size:12.5px}.summary .v{letter-spacing:-.02em;margin-top:2px;font-size:18px;font-weight:600}.summary .v,.summary .v2{font-variant-numeric:tabular-nums}.summary .v2{color:var(--fg-2);font-size:13px}.summary .v.bad{color:var(--bad)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search{flex:1;min-width:200px;max-width:300px;position:relative}.search .i{color:var(--fg-3);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search input{height:32px!important;padding-left:32px!important}.toolbar input.input,.toolbar select.input{width:auto;max-width:220px;height:32px}.settings{grid-template-columns:minmax(0,1fr);gap:16px;max-width:920px;display:grid}.set-sec{grid-template-columns:240px minmax(0,1fr);gap:24px;padding:20px;display:grid}.set-sec>header p{color:var(--fg-3);margin-top:4px;font-size:13px}.set-body{flex-direction:column;gap:16px;min-width:0;display:flex}.steps{counter-reset:s;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.steps li{background:var(--sunken);counter-increment:s;color:var(--fg-2);border-radius:12px;padding:14px;font-size:13px}.steps li:before{content:counter(s);background:var(--panel);width:22px;height:22px;box-shadow:0 0 0 1px var(--line);border-radius:50%;place-items:center;margin-bottom:8px;font-size:12px;display:grid}.steps b,.steps li:before{color:var(--fg);font-weight:600}.steps b{margin-bottom:2px;display:block}.code{font-family:var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:12px}.note{color:var(--fg-2);background:var(--sunken);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.note .i{color:var(--fg-3);margin-top:2px}.note.warn{background:var(--warn-soft)}.note.warn,.note.warn .i{color:var(--warn)}.tree-dept{font-weight:600}.tree-proj{padding-left:34px!important}.tg-screen{background:var(--tg-bg);border-radius:12px;align-items:flex-start;gap:6px;padding:16px}.tg-msg,.tg-screen{flex-direction:column;display:flex}.tg-msg{gap:4px;width:100%;max-width:380px}.tg-bubble{background:var(--tg-bubble);color:var(--fg);overflow-wrap:anywhere;border-radius:12px 12px 12px 4px;padding:8px 11px 6px;font-size:13.5px;line-height:1.42;box-shadow:0 1px 1px #00000014}.tg-bubble .from{color:var(--tg-link);margin-bottom:2px;font-size:13px;font-weight:600}.tg-bubble .tg-mention,.tg-bubble a{color:var(--tg-link);text-decoration:none}.tg-bubble code{font-family:var(--mono);font-size:12.5px}.tg-bubble blockquote{border-left:3px solid var(--tg-link);margin:4px 0;padding-left:8px}.tg-bubble .time{float:right;color:var(--fg-3);margin:6px 0 -2px 10px;font-size:11px}.tg-btns{gap:4px;display:flex}.tg-btn{background:color-mix(in srgb,var(--tg-bubble) 55%,transparent);color:var(--fg);text-align:center;border-radius:8px;flex:1;padding:7px;font-size:13px;font-weight:500}.tpl-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.tpl-list{flex-direction:column;gap:2px;display:flex}.tpl-list .grp{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);padding:12px 10px 4px;font-size:11px;font-weight:600}.tpl-list button{text-align:left;color:var(--fg-2);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-weight:500;display:flex}.tpl-list button:hover{background:var(--hover);color:var(--fg)}.tpl-list button.on{background:var(--panel);color:var(--fg);box-shadow:0 0 0 1px var(--line),var(--shadow-sm)}.tpl-editor{grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:16px;display:grid}.tpl-toolbar{border:1px solid var(--line-2);background:var(--sunken);border-bottom:0;border-radius:8px 8px 0 0;flex-wrap:wrap;gap:4px;padding:6px;display:flex}.tpl-toolbar button{min-width:28px;height:26px;color:var(--fg-2);background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:13px}.tpl-toolbar button:hover{background:var(--panel);color:var(--fg)}.tpl-text{border:1px solid var(--line-2);width:100%;min-height:240px;font-family:var(--mono);background:var(--panel);resize:vertical;border-radius:0 0 8px 8px;outline:none;padding:10px 12px;font-size:13px;line-height:1.55}.tpl-text:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.var-chip{border:1px dashed var(--line-2);background:var(--panel);height:26px;color:var(--fg-2);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.var-chip:hover{border-color:var(--accent);color:var(--accent-fg)}.var-chip code{font-family:var(--mono);color:var(--accent-fg);font-size:11.5px}.backdrop{z-index:60;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);width:min(540px,100%);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;max-height:calc(100vh - 48px);display:flex}.modal.wide{width:min(680px,100%)}.modal.xwide{width:min(860px,100%)}.m-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 4px 20px;display:flex}.m-head h2{font-size:16px}.m-body{flex-direction:column;gap:14px;padding:12px 20px 8px;display:flex;overflow-y:auto}.m-foot{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 20px 18px;display:flex}.m-foot .left{margin-right:auto}.form-error{color:var(--bad);background:var(--bad-soft);border-radius:8px;padding:8px 10px;font-size:13px}.lead{color:var(--fg-2)}.menu{z-index:70;background:var(--glass);min-width:220px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:saturate(1.8)blur(24px);border:0;border-radius:13px;padding:5px;position:fixed}.menu button{text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;height:32px;padding:0 10px;font-size:13.5px;display:flex}.menu button:focus-visible,.menu button:hover{background:var(--accent);color:#fff;outline:none}.menu button:focus-visible .i,.menu button:hover .i{color:#fff}.menu button .i{color:var(--fg-2)}.menu button.danger:focus-visible,.menu button.danger:hover{background:var(--bad);color:#fff}.menu button.danger,.menu button.danger .i{color:var(--bad)}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.toasts{z-index:90;pointer-events:none;flex-direction:column;gap:8px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast,.toasts{align-items:center;display:flex}.toast{pointer-events:auto;background:var(--ink);color:var(--ink-fg);box-shadow:var(--shadow-lg);border-radius:14px;gap:14px;max-width:calc(100vw - 32px);padding:11px 16px;font-size:13.5px}.toast.error{background:var(--bad);color:var(--on-color)}.toast button{color:inherit;opacity:.8;background:0 0;border:0;padding:0;font-weight:600}.toast button:hover{opacity:1}.profile-hero{align-items:center;gap:18px;padding:22px;display:flex}.profile-hero h2{letter-spacing:-.02em;font-size:20px}.avatar-edit{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;position:relative}.avatar-edit:after{content:"";opacity:0;transition:opacity var(--t-fast);background:#00000059;border-radius:50%;position:absolute;inset:0}.avatar-edit:focus-visible:after,.avatar-edit:hover:after{opacity:1}.avatar-edit .cam{z-index:1;background:var(--accent);color:#fff;width:28px;height:28px;box-shadow:0 0 0 3px var(--panel);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.avatar-edit .cam .i{width:15px;height:15px}.kv{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:12px 16px;margin:0;display:grid}.kv dt{color:var(--fg-3);font-size:13px}.kv dd{min-width:0;margin:0}.live-clock{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600}.ucard{z-index:70;background:var(--glass);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:saturate(1.8)blur(24px);border-radius:20px;flex-direction:column;gap:4px;padding:12px;display:flex;position:fixed}.ucard-row{height:42px;color:var(--fg);text-align:left;width:100%;transition:background var(--t-fast),color var(--t-fast);background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:0 14px;font-size:15px;display:flex}.ucard-row .i{width:20px;height:20px}.ucard-row:focus-visible,.ucard-row:hover{background:var(--accent);color:#fff;outline:none}.ucard-row.danger{color:var(--bad)}.ucard-row.danger:focus-visible,.ucard-row.danger:hover{background:var(--bad-soft);color:var(--bad)}.ucard-sec{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:8px 2px 12px;display:flex}.ucard-label{color:var(--fg-3);padding-left:2px;font-size:12.5px}.ucard .seg button{height:30px;font-size:13.5px}.auth{place-items:center;min-height:100vh;padding:24px 16px;display:grid;position:relative}.auth-lang{position:absolute;top:16px;right:16px}.auth-card{flex-direction:column;gap:18px;width:min(380px,100%);display:flex}.auth-card .logo{border-radius:12px;width:44px;height:44px;font-size:18px}.auth-card h1{font-size:22px}.auth-card p{color:var(--fg-2)}.auth-card form{flex-direction:column;gap:12px;display:flex}.loading-screen{min-height:70vh;color:var(--fg-3);place-items:center;display:grid}.skeleton{background:linear-gradient(90deg,var(--sunken),var(--hover),var(--sunken));background-size:200% 100%;border-radius:10px;animation:1.4s ease-in-out infinite shimmer}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.97)translateY(4px)}}@keyframes up{0%{opacity:0;transform:translateY(8px)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--t-med) ease}.fade-enter-from,.fade-leave-to{opacity:0}.modal-enter-active{transition:opacity .16s}.modal-leave-active{transition:opacity .12s}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-active .modal{animation:pop .18s var(--ease)}.toast-enter-active{animation:up .2s var(--ease)}.toast-leave-active{transition:opacity .25s,transform .25s}.toast-leave-to{opacity:0;transform:translateY(6px)}.menu-enter-active{animation:.12s ease-out pop}html[data-motion=full] .card{transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-med)}html[data-motion=full] .card.lift:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}html[data-motion=full] .stagger>*{animation:rise .45s var(--ease) both}html[data-motion=full] .stagger>:nth-child(2){animation-delay:40ms}html[data-motion=full] .stagger>:nth-child(3){animation-delay:80ms}html[data-motion=full] .stagger>:nth-child(4){animation-delay:.12s}html[data-motion=full] .stagger>:nth-child(5){animation-delay:.16s}html[data-motion=full] .stagger>:nth-child(n+6){animation-delay:.2s}html[data-motion=full] .page-enter-active{animation:rise .3s var(--ease)}html[data-motion=subtle] .page-enter-active{animation:.18s fade}html[data-motion=off] *,html[data-motion=off] :after,html[data-motion=off] :before{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}@media (width<=1180px){.dash{grid-template-columns:minmax(0,1fr)}.dash>.col:last-child{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;display:grid}.tpl-editor{grid-template-columns:minmax(0,1fr)}}@media (width<=1020px){.kpis,.kpis.three,.kpis.two,.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary>div:nth-child(3){border-left:0}.summary>div:nth-child(n+3){border-top:1px solid var(--line)}.set-sec{gap:14px}.set-sec,.tpl-layout{grid-template-columns:minmax(0,1fr)}.hide-md{display:none!important}}@media (width<=860px){.app{grid-template-columns:minmax(0,1fr)}.side{display:none}.page{padding:20px 16px 104px}.mobile-top{display:flex}.tabbar{z-index:40;background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--fg-3);flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:10.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.tabbar a .i{width:20px;height:20px}.tabbar a.router-link-active{color:var(--fg)}.tabbar .badge{min-width:15px;height:15px;font-size:10px;position:absolute;top:0;left:calc(50% + 6px)}.steps{grid-template-columns:minmax(0,1fr)}.toasts{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}@media (width<=640px){h1{font-size:22px}.kpis{gap:8px}.kpi{padding:12px}.kpi-value{font-size:21px}.kpis .kpi:first-child{grid-column:1/-1}.summary>div{padding:12px 14px}.summary .v{font-size:16px}.xrow{grid-template-columns:42px minmax(0,1fr) auto;gap:4px 12px;padding:10px 14px}.xrow .xamt{text-align:left;grid-area:2/2;font-size:13px}.xrow .pillcell{grid-area:2/3;justify-content:flex-end}.xrow .xact{grid-area:1/3}.xrow .dchip{grid-row:1/span 2}.xrow .xact .lbl{display:none}.grid2,.grid3,.units-grid{grid-template-columns:minmax(0,1fr)}.backdrop{place-items:end center;padding:0}.modal,.modal.wide,.modal.xwide{width:100%;max-height:92vh;padding-bottom:env(safe-area-inset-bottom,0);border-radius:18px 18px 0 0}.search{flex-basis:100%;min-width:0;max-width:none}.toolbar select.input{flex:1;max-width:none}.hide-sm{display:none!important}table.table td,table.table th{padding-left:12px;padding-right:12px}}
