:root{--c-primary:#1f4fd1;--c-primary-hover:#1a43b3;--c-primary-active:#15389a;--c-primary-bg:#eef3ff;--c-primary-border:#b9cbf5;--c-text:#1d2939;--c-text-2:#475467;--c-text-3:#667085;--c-text-on-primary:#ffffff;--c-bg-layout:#f6f8fb;--c-bg:#ffffff;--c-bg-subtle:#f9fafb;--c-bg-hover:#f2f5fa;--c-border:#e4e7ec;--c-border-strong:#8c95a3;--c-focus:#1f4fd1;--c-overlay:rgba(16,24,40,0.45);--c-today:#fbfcff;--st-neutral-fg:#475467;--st-neutral-bg:#f1f3f6;--st-neutral-dot:#98a2b3;--st-info-fg:#1f4fd1;--st-info-bg:#eaf1ff;--st-info-dot:#1f4fd1;--st-progress-fg:#0b6b82;--st-progress-bg:#e6f6fa;--st-progress-dot:#0e8aa8;--st-success-fg:#18794e;--st-success-bg:#e8f6ee;--st-success-dot:#1f9a63;--st-warning-fg:#9a5b00;--st-warning-bg:#fff4e5;--st-warning-dot:#e08a00;--st-danger-fg:#b42318;--st-danger-bg:#fdecec;--st-danger-dot:#d92d20;--st-special-fg:#6b3fc4;--st-special-bg:#f3eeff;--st-special-dot:#7f56d9;--ev-offline-bg:#eaf1ff;--ev-offline-bar:#1f4fd1;--ev-online-bg:#e6f6fa;--ev-online-bar:#0e8aa8;--ev-private-bg:#f3eeff;--ev-private-bar:#7f56d9;--chart-1:#1f4fd1;--chart-2:#9db4ee;--chart-grid:#e4e7ec;--font:"Be Vietnam Pro","Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--lh:1.5;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--sp-1:var(--space-1);--sp-2:var(--space-2);--sp-3:var(--space-3);--sp-4:var(--space-4);--sp-5:var(--space-5);--sp-6:var(--space-6);--sp-8:var(--space-8);--sp-10:var(--space-10);--page-gutter:24px;--section-gap:20px;--pad-card:16px;--pad-card-lg:20px;--control-gap:8px;--gap:var(--section-gap);--page-pad:var(--page-gutter);--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-1:0 1px 2px rgba(16,24,40,0.06);--shadow-2:0 4px 12px rgba(16,24,40,0.10);--shadow-3:0 12px 32px rgba(16,24,40,0.18);--control-h:34px;--control-h-sm:28px;--touch:44px;--header-h:48px;--sider-w:240px;--sider-rail:64px;--sider-cur:var(--sider-w);--row-h:40px;--head-h:34px;--tab-h:34px;--drawer-w:50vw;--drawer-min:560px;--form-bar-h:60px;--ease:cubic-bezier(.2,.8,.2,1);--dur:160ms;--dur-page:160ms}@media (min-width:1600px){:root{--page-gutter:32px;--section-gap:24px}}@media (min-width:768px) and (max-width:1023px){:root{--page-gutter:20px;--section-gap:20px}}@media (max-width:767px){:root{--page-gutter:16px;--section-gap:16px}}html[data-density=compact]{--row-h:34px;--head-h:32px;--tab-h:32px;--control-h:30px;--control-h-sm:26px;--section-gap:16px}html[data-sider=rail]{--sider-cur:var(--sider-rail)}*,:after,:before{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body,html{height:100%}body{margin:0;overflow:hidden;font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh);color:var(--c-text);background:var(--c-bg-layout)}h1,h2,h3,h4{margin:0;line-height:1.3;font-weight:var(--fw-semibold)}p{margin:0}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cal-wrap,.data-view,.drawer-body,.fill-scroll,.kanban,.kcol-body,.main,.nav-scroll,.pop-body,.seg,.spec-wrap,.table-wrap,.tabs,.tabs-scroll{position:relative}.icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-lg{width:20px;height:20px}.muted{color:var(--c-text-2)}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ellipsis,.nowrap,.num{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;min-width:0}.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--c-bg);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm)}.skip-link:focus{left:8px}.kbd,kbd{display:inline-block;min-width:20px;padding:0 5px;border:solid var(--c-border);border-width:1px 1px 2px;border-radius:4px;background:var(--c-bg-subtle);color:var(--c-text-2);font:500 var(--fs-xs)/18px var(--font);text-align:center;white-space:nowrap}.app{height:100vh;height:100dvh;display:grid;grid-template-columns:var(--sider-cur) minmax(0,1fr);grid-template-rows:var(--header-h) minmax(0,1fr)}.topbar{grid-column:1/-1;z-index:30;height:var(--header-h);padding:0 var(--sp-3);background:var(--c-bg);border-bottom:1px solid var(--c-border)}.brand,.topbar{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.brand{flex:none;width:calc(var(--sider-cur) - 52px);color:var(--c-text);font-weight:var(--fw-semibold);font-size:var(--fs-md)}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:var(--radius);background:var(--c-primary);color:var(--c-text-on-primary);font-size:var(--fs-base)}.brand-name{min-width:0;overflow:hidden;white-space:nowrap}.brand small{display:block;font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--c-text-2);line-height:1.2}html[data-sider=rail] .brand{width:auto}html[data-sider=rail] .brand-name{display:none}.top-search{position:relative;flex:1 1 auto;min-width:0;max-width:440px}.top-search input{width:100%;height:var(--control-h);padding:0 64px 0 34px;border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-bg)}.top-search>.icon{position:absolute;left:11px;top:calc(var(--control-h) / 2 - 8px);color:var(--c-text-3)}.top-search>.kbd{position:absolute;right:8px;top:calc(var(--control-h) / 2 - 10px);pointer-events:none}.top-actions{margin-left:auto;display:flex;align-items:center;gap:2px;flex:none}.top-actions>.dropdown,.top-actions>.seg{margin-left:var(--sp-1)}.badge-dot{position:absolute;top:1px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--st-danger-dot);color:#fff;font-size:var(--fs-xs);line-height:18px;text-align:center;font-weight:var(--fw-semibold)}.badge-dot.soft{background:var(--c-primary)}.user-btn{display:flex;align-items:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-1);border:0;background:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.user-btn:hover{background:var(--c-bg-hover)}.user-btn .who{font-size:var(--fs-sm);line-height:1.25;white-space:nowrap}.user-btn .who small{display:block;color:var(--c-text-2);font-size:var(--fs-xs)}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--st-special-bg);color:var(--st-special-fg);font-weight:var(--fw-semibold);flex:none}.avatar,.avatar.sm{font-size:var(--fs-xs)}.avatar.sm{width:24px;height:24px}.only-sm,.show-narrow{display:none!important}.sider{min-height:0;display:flex;flex-direction:column;background:var(--c-bg);border-right:1px solid var(--c-border);z-index:20}.sider-search{position:relative;flex:none;padding:var(--sp-3) var(--sp-3) var(--sp-2)}.sider-search input{width:100%;height:32px;padding:0 var(--sp-3) 0 30px;border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm)}.sider-search .search-in>.icon{position:absolute;left:22px;top:20px;color:var(--c-text-3)}.nav-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 var(--sp-2) var(--sp-3);scrollbar-width:thin}.nav,.nav ul{list-style:none;margin:0;padding:0}.nav ul{display:none}.nav .open>ul{display:block}.nav-group,.nav-link{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:34px;padding:5px var(--sp-3);border:0;border-radius:var(--radius-sm);background:none;color:var(--c-text);font-size:var(--fs-sm);text-align:left;cursor:pointer}.nav-group:hover,.nav-link:hover{background:var(--c-bg-hover);text-decoration:none}.nav-group{font-weight:var(--fw-medium)}.nav-group .chev{margin-left:auto;transition:transform var(--dur) var(--ease);color:var(--c-text-3)}.nav .open>.nav-group .chev{transform:rotate(90deg)}.nav ul .nav-group,.nav ul .nav-link{padding-left:36px}.nav ul ul .nav-group,.nav ul ul .nav-link{padding-left:50px}.nav-link[aria-current=page]{background:var(--c-primary-bg);color:var(--c-primary);font-weight:var(--fw-semibold)}.nav-link .nav-flag{margin-left:auto;font-size:var(--fs-xs);color:var(--c-text-3)}.nav-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sider-foot{flex:none;padding:var(--sp-2);border-top:1px solid var(--c-border);display:grid;grid-gap:2px;gap:2px}.sider-foot .nav-link{color:var(--c-text-2)}.rail-only{display:none!important}html[data-sider=rail] .sider-search{padding:var(--sp-2) 0;display:flex;justify-content:center}html[data-sider=rail] .full-only{display:none!important}html[data-sider=rail] .rail-only{display:inline-flex!important}html[data-sider=rail] .nav-scroll{padding:0 var(--sp-2) var(--sp-3)}html[data-sider=rail] .nav-flag,html[data-sider=rail] .nav-group .chev,html[data-sider=rail] .nav-label{display:none}html[data-sider=rail] .nav ul{display:none!important}html[data-sider=rail] .nav-group,html[data-sider=rail] .nav-link{justify-content:center;padding:0;min-height:40px}html[data-sider=rail] .nav>li.has-current>.nav-group{background:var(--c-primary-bg);color:var(--c-primary)}html[data-sider=rail] .nav>li.fly-on>.nav-group,html[data-sider=rail] .nav>li.fly-on>.nav-link{background:var(--c-bg-hover)}html[data-sider=rail] .sider-foot .nav-link{justify-content:center;padding:0}.nav-fly{position:fixed;z-index:45;min-width:220px;max-width:300px;overflow-y:auto;padding:var(--sp-1);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-2)}.nav-fly .fly-title{display:block;padding:6px var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--c-text)}.nav-fly ul{list-style:none;margin:0;padding:0}.nav-fly .fly-h{padding:var(--sp-2) var(--sp-3) 2px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--c-text-2)}.nav-fly a{display:flex;align-items:center;gap:var(--sp-2);min-height:32px;padding:0 var(--sp-3);border-radius:var(--radius-sm);color:var(--c-text);font-size:var(--fs-sm)}.nav-fly a:hover{background:var(--c-bg-hover);text-decoration:none}.nav-fly a[aria-current=page]{background:var(--c-primary-bg);color:var(--c-primary);font-weight:var(--fw-semibold)}.main{min-height:0;overflow-y:auto;overflow-x:auto;flex-direction:column;padding:var(--page-gutter);scroll-behavior:auto;outline:none}.main,.view{min-width:0;display:flex}.view{flex:none;flex-direction:column}.view.enter{animation:view-in var(--dur-page) var(--ease)}@keyframes view-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}#list-extras,#page-body{min-width:0;display:flex;flex-direction:column;gap:var(--section-gap)}#list-extras:empty{display:none}#list-extras>.card[style]{margin-bottom:0!important}#list-extras>.stat-strip{margin:0}.page-head .titles>nav:has(.breadcrumb>li:only-child){display:none}.page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"crumbs crumbs" "title actions" "desc desc";align-items:center;grid-gap:0 var(--space-4);gap:0 var(--space-4);margin-bottom:var(--section-gap)}.page-head .titles{display:contents}.page-head .titles>nav{grid-area:crumbs;min-width:0;margin-bottom:var(--space-1)}.breadcrumb{display:flex;gap:2px;margin:0;padding:0;list-style:none;font-size:var(--fs-xs);line-height:18px;color:var(--c-text-2);white-space:nowrap;overflow:hidden}.breadcrumb li{min-width:0;overflow:hidden;text-overflow:ellipsis}.breadcrumb li:after{content:"›";margin:0 2px 0 6px;color:var(--c-text-3)}.breadcrumb li:has(+li[aria-current=page]):after,.breadcrumb li:last-child:after{content:none}.breadcrumb li[aria-current=page]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.breadcrumb a{color:var(--c-text-2)}.page-title{grid-area:title;min-width:0;font-size:var(--fs-lg);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none}.page-title .tag{vertical-align:2px}.page-desc{grid-area:desc;min-width:0;margin-top:2px;color:var(--c-text-2);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head-actions{grid-area:actions;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--control-gap);align-items:center}.head-actions:empty{display:none}.card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-1);min-width:0}.stack>*+*,.view>.card+.card{margin-top:var(--section-gap)}#page-body>.card{margin-top:0}.card-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--pad-card) var(--pad-card) 0}.card-head,.card-head>div{min-width:0}.card-title{font-size:var(--fs-md)}.card-sub{color:var(--c-text-2);font-size:var(--fs-sm)}.card-head .spacer,.spacer{flex:1 1}.card-body{padding:var(--pad-card);min-width:0}.grid{display:grid;grid-gap:var(--gap);gap:var(--gap)}.grid>*{min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.mt{margin-top:var(--gap)}#page-body>.banner{margin-bottom:0}.banner{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-2) var(--sp-4);margin-bottom:var(--section-gap);border-radius:var(--radius);background:var(--st-info-bg);color:var(--c-text);border:1px solid var(--c-primary-border);font-size:var(--fs-sm);min-width:0}.banner p{min-width:0;overflow-wrap:anywhere}.banner .icon{color:var(--c-primary);margin-top:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 var(--sp-3);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur),border-color var(--dur),color var(--dur)}.btn:hover{color:var(--c-primary);text-decoration:none}.btn-primary,.btn:hover{border-color:var(--c-primary)}.btn-primary{background:var(--c-primary);color:var(--c-text-on-primary)}.btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);color:var(--c-text-on-primary)}.btn-text{border-color:transparent;background:transparent;color:var(--c-text-2);padding:0 var(--sp-2)}.btn-text:hover{background:var(--c-bg-hover);border-color:transparent;color:var(--c-text)}.btn-link{border-color:transparent;background:transparent;color:var(--c-primary);padding:0 var(--sp-1);height:auto;min-height:24px}.btn-link:hover{border-color:transparent;text-decoration:underline}.btn-danger{color:var(--st-danger-fg);border-color:var(--st-danger-dot)}.btn-danger:hover{background:var(--st-danger-bg);color:var(--st-danger-fg);border-color:var(--st-danger-fg)}.btn-danger.solid{background:var(--st-danger-fg);border-color:var(--st-danger-fg);color:#fff}.btn-icon{width:var(--control-h);padding:0}.btn-sm{height:var(--control-h-sm);padding:0 var(--sp-2);font-size:var(--fs-sm)}.btn-sm.btn-icon{width:var(--control-h-sm)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn .count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--c-primary);color:#fff;font-size:var(--fs-xs);line-height:20px}.rel{position:relative}.seg{display:inline-flex;max-width:100%;padding:2px;border-radius:var(--radius-sm);background:var(--c-bg-subtle);border:1px solid var(--c-border);overflow-x:auto;scrollbar-width:none}.seg button{flex:none;height:calc(var(--control-h) - 6px);padding:0 var(--sp-3);border:0;border-radius:4px;background:none;color:var(--c-text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap}.seg button[aria-pressed=true]{background:var(--c-bg);color:var(--c-primary);box-shadow:var(--shadow-1)}.lang-switch button{min-width:34px;padding:0 var(--sp-2)}.dropdown{position:relative}.menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:220px;max-width:calc(100vw - 16px);padding:var(--sp-1);margin:0;list-style:none;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-2)}.menu-list.left{left:0;right:auto}.menu-list a,.menu-list button{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:34px;padding:0 var(--sp-3);border:0;border-radius:var(--radius-sm);background:none;color:var(--c-text);font-size:var(--fs-sm);text-align:left;cursor:pointer}.menu-list a:hover,.menu-list button:hover{background:var(--c-bg-hover);text-decoration:none}.menu-list .sep{height:1px;margin:var(--sp-1) 0;background:var(--c-border)}.menu-list .danger{color:var(--st-danger-fg)}.menu-list .count{margin-left:auto;color:var(--c-text-2);font-size:var(--fs-xs)}.menu-list .seg button{width:auto;min-height:0;padding:0 var(--sp-2)}.menu-list .seg button:hover{background:var(--c-bg)}.float-menu{position:fixed;z-index:55;top:auto;right:auto}.user-menu{min-width:300px}.user-menu .um-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3) var(--sp-3);border-bottom:1px solid var(--c-border);margin-bottom:var(--sp-1)}.user-menu .um-head b{display:block;font-size:var(--fs-base)}.user-menu .um-head small{display:block;color:var(--c-text-2);font-size:var(--fs-xs)}.user-menu .um-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-1) 0 var(--sp-3);font-size:var(--fs-sm)}.user-menu .um-row>span{gap:var(--sp-2);color:var(--c-text)}.tag,.user-menu .um-row>span{display:inline-flex;align-items:center;white-space:nowrap}.tag{gap:5px;height:22px;padding:0 8px;border-radius:11px;font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--st-neutral-bg);color:var(--st-neutral-fg);max-width:100%}.tag:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--st-neutral-dot)}.tag.plain:before{display:none}.tag.plain{border-radius:var(--radius-sm)}.tone-neutral{--tfg:var(--st-neutral-fg);--tbg:var(--st-neutral-bg);--tdot:var(--st-neutral-dot)}.tone-info{--tfg:var(--st-info-fg);--tbg:var(--st-info-bg);--tdot:var(--st-info-dot)}.tone-progress{--tfg:var(--st-progress-fg);--tbg:var(--st-progress-bg);--tdot:var(--st-progress-dot)}.tone-success{--tfg:var(--st-success-fg);--tbg:var(--st-success-bg);--tdot:var(--st-success-dot)}.tone-warning{--tfg:var(--st-warning-fg);--tbg:var(--st-warning-bg);--tdot:var(--st-warning-dot)}.tone-danger{--tfg:var(--st-danger-fg);--tbg:var(--st-danger-bg);--tdot:var(--st-danger-dot)}.tone-special{--tfg:var(--st-special-fg);--tbg:var(--st-special-bg);--tdot:var(--st-special-dot)}.tag[class*=tone-]{background:var(--tbg);color:var(--tfg)}.tag[class*=tone-]:before{background:var(--tdot)}.tabs{align-items:flex-end;gap:var(--sp-1);border-bottom:1px solid var(--c-border);margin-bottom:var(--sp-3)}.tabs,.tabs-scroll{display:flex;min-width:0}.tabs-scroll{gap:2px;overflow:hidden}.tab{position:relative;display:inline-flex;align-items:center;gap:6px;height:var(--tab-h);padding:0 var(--sp-3);flex:none;border:0;background:none;color:var(--c-text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer}.tab:hover{color:var(--c-text)}.tab[aria-selected=true]{color:var(--c-primary)}.tab[aria-selected=true]:after{content:"";position:absolute;left:var(--sp-2);right:var(--sp-2);bottom:-1px;height:2px;background:var(--c-primary);border-radius:2px}.tab .dot{width:7px;height:7px;border-radius:50%;background:var(--tdot,var(--c-text-3))}.tab .n{min-width:20px;height:18px;padding:0 5px;border-radius:9px;background:var(--c-bg-subtle);border:1px solid var(--c-border);color:var(--c-text-2);font-size:var(--fs-xs);line-height:16px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tab[aria-selected=true] .n{background:var(--c-primary-bg);border-color:var(--c-primary-border);color:var(--c-primary)}.tabs .dropdown{flex:none}.card>.tabs{margin:0;padding:0 var(--sp-2)}.tabs[role=tablist]{overflow-x:auto;scrollbar-width:thin}.tabs[role=tablist] .tab{flex:none}.list-card{container-type:inline-size;container-name:list}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--control-gap);padding:var(--space-3) var(--pad-card);min-width:0}.toolbar+.toolbar{padding-top:0}.list-toolbar{justify-content:space-between}.list-card>#status-tabs{padding:0 var(--pad-card)}.list-card>.list-toolbar{padding:var(--pad-card) var(--pad-card) 0}.list-card>.filter-panel{margin:var(--space-3) var(--pad-card) 0}.list-card>.chips{padding:var(--space-3) var(--pad-card) 0}.list-card>.data-view{margin-top:var(--pad-card)}.tb-left,.tb-right{display:flex;flex-wrap:wrap;align-items:center;gap:var(--control-gap);min-width:0}.tb-left{flex:1 1 320px}.tb-right{flex:0 1 auto;margin-left:auto;justify-content:flex-end}.search{position:relative;flex:1 1 220px;min-width:0;max-width:340px}.search input{width:100%;height:var(--control-h);padding:0 var(--sp-3) 0 32px;border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-bg)}.search .icon{position:absolute;left:10px;top:calc(var(--control-h) / 2 - 8px);color:var(--c-text-3)}.mi-sec{display:none!important}@container list (max-width: 860px){.tb-sec{display:none!important}.mi-sec{display:flex!important}.tb-right .lbl-opt{display:none}}@container list (max-width: 560px){.tb-left{display:contents}.search{flex-basis:100%;max-width:none}.tb-right{margin-left:auto}}.filter-panel{padding:var(--pad-card);margin:0 var(--pad-card) var(--sp-2);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius)}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--sp-3) var(--sp-4);gap:var(--sp-3) var(--sp-4)}.filter-foot{align-items:center;margin-top:var(--sp-3)}.chips,.filter-foot{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chips{padding:0 var(--pad-card) var(--sp-2)}.chips:empty{display:none}.chip{display:inline-flex;align-items:center;gap:4px;height:26px;max-width:100%;padding:0 4px 0 10px;border-radius:13px;background:var(--c-primary-bg);color:var(--c-primary);font-size:var(--fs-sm);border:1px solid var(--c-primary-border)}.chip button{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer}.chip button:hover{background:var(--c-primary-border)}.bulk{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0}.bulk strong{font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--c-primary)}.action-bar{padding:var(--sp-2) var(--pad-card);border-top:1px solid var(--c-border);min-height:48px}.action-bar,.action-bar .left{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.action-bar .left{min-width:0}.action-bar .right{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-left:auto}.result-meta{color:var(--c-text-2);font-size:var(--fs-sm)}.table-wrap{overflow-x:auto;border-top:1px solid var(--c-border);max-width:100%}table.dt{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.dt td,.dt th{height:var(--row-h);padding:0 var(--sp-3);border-bottom:1px solid var(--c-border);text-align:left;vertical-align:middle;white-space:nowrap}.dt thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;height:var(--head-h);background:var(--c-bg-subtle);color:var(--c-text-2);font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.dt td.num,.dt th.num{text-align:right}.dt tbody tr:hover td{background:var(--c-bg-hover)}.dt tbody tr.selected td{background:var(--c-primary-bg)}.dt tbody tr[data-rowi]{cursor:pointer}.dt .col-check{width:44px;padding-right:0}.dt .col-check,.dt .col-first{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--c-bg)}.dt .col-first{box-shadow:1px 0 0 var(--c-border);max-width:260px;overflow:hidden;text-overflow:ellipsis}.dt .col-check+.col-first,.dt td.col-check+td.col-first{left:44px}.dt thead .col-check,.dt thead .col-first{z-index:3;background:var(--c-bg-subtle)}.dt .col-actions{width:1%;text-align:right;padding-left:var(--sp-1);padding-right:var(--sp-2)}.dt td:first-child,.dt th:first-child{padding-left:var(--pad-card)}table.dt.lt{table-layout:fixed}.dt.lt td{overflow:hidden;text-overflow:ellipsis}.dt.lt .col-first{max-width:none}.dt.lt .col-check{width:auto}.dt.lt td.col-first>.cell-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt.lt .clip{display:inline;max-width:none}.dt .pin-l,.dt .pin-r{position:-webkit-sticky;position:sticky;z-index:1;background:var(--c-bg)}.dt thead .pin-l,.dt thead .pin-r{z-index:3;background:var(--c-bg-subtle)}.dt .pin-l-last{box-shadow:1px 0 0 var(--c-border),4px 0 6px -4px rgba(16,24,40,.18)}.dt .pin-r-first{box-shadow:-1px 0 0 var(--c-border),-4px 0 6px -4px rgba(16,24,40,.18)}.dt .col-actions{position:-webkit-sticky;position:sticky;right:0;z-index:1;background:var(--c-bg)}.dt thead .col-actions{z-index:3;background:var(--c-bg-subtle)}.dt.lt .col-first:not(.pin-l-last){box-shadow:none}.dt tbody tr:hover td.col-actions,.dt tbody tr:hover td.pin-l,.dt tbody tr:hover td.pin-r{background:var(--c-bg-hover)}.dt tbody tr.selected td.col-actions,.dt tbody tr.selected td.pin-l,.dt tbody tr.selected td.pin-r{background:var(--c-primary-bg)}.dt th .th-sort{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:100%;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap}.dt th.num .th-sort{flex-direction:row-reverse}.dt th .th-sort>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.dt th .th-sort .icon{flex:none;width:14px;height:14px;color:var(--c-text-3)}.dt th .th-sort:hover{color:var(--c-text)}.dt th[aria-sort=ascending] .th-sort,.dt th[aria-sort=ascending] .th-sort .icon,.dt th[aria-sort=descending] .th-sort,.dt th[aria-sort=descending] .th-sort .icon{color:var(--c-primary)}.dt th{overflow:hidden}.dt td.has-copy{position:relative}.dt td.has-copy.col-first,.dt td.has-copy.pin-l,.dt td.has-copy.pin-r{position:-webkit-sticky;position:sticky}.cp{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);box-shadow:-6px 0 6px var(--c-bg-hover);color:var(--c-text-2);cursor:pointer;opacity:0;transition:opacity var(--dur)}.cp .icon{width:14px;height:14px}.cp:focus-visible,.desc .cp,.dt tr:hover .cp{opacity:1}.cp:hover{border-color:var(--c-border);background:var(--c-bg);color:var(--c-primary)}@media (hover:none){.cp{opacity:1}}.desc dd.has-copy{display:flex;align-items:center;gap:4px}.desc .cp{position:static;transform:none;flex:none;box-shadow:none;border-color:transparent}.dt tbody tr.flash td{animation:row-flash 2.6s var(--ease) 1}@keyframes row-flash{0%,55%{background:var(--st-warning-bg)}to{background:var(--c-bg)}}@media (prefers-reduced-motion:reduce){.dt tbody tr.flash td{background:var(--st-warning-bg)}}.dt .cell-title{font-weight:var(--fw-medium);color:var(--c-text)}.dt button.cell-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;border:0;background:none;padding:0;cursor:pointer;font:inherit;font-weight:var(--fw-medium);color:var(--c-primary);text-align:left}.dt button.cell-title:hover{text-decoration:underline}.dt .sub{display:block;color:var(--c-text-2);font-size:var(--fs-xs)}.dt .clip{display:inline-block;max-width:240px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.dt td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input[type=checkbox]{width:16px;height:16px;accent-color:var(--c-primary);cursor:pointer}.row-acts{display:inline-flex;align-items:center;gap:2px}.row-acts .btn{width:var(--control-h-sm);height:var(--control-h-sm);padding:0;border-color:transparent;background:transparent;color:var(--c-text-2)}.row-acts .btn:hover{background:var(--c-bg);border-color:var(--c-border);color:var(--c-primary)}.row-acts .hov{opacity:0;transition:opacity var(--dur)}.dt tr:focus-within .row-acts .hov,.dt tr:hover .row-acts .hov,.row-acts .hov:focus-visible{opacity:1}@media (hover:none){.row-acts .hov{opacity:1}}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--space-2) var(--pad-card);border-top:1px solid var(--c-border);background:var(--c-bg);border-radius:0 0 var(--radius) var(--radius);min-width:0}.pagination:empty{display:none}.pagination .pg-size{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--c-text-2);font-size:var(--fs-sm);white-space:nowrap}.pagination .pages{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto}.pagination .pages .gap,.pagination .pages button{min-width:28px;height:28px;padding:0 6px;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);cursor:pointer;font-size:var(--fs-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pagination .pages .gap{border-color:transparent;cursor:default;display:inline-grid;place-items:center;color:var(--c-text-3)}.pagination .pages button[aria-current=page]{border-color:var(--c-primary);color:var(--c-primary);font-weight:var(--fw-semibold);background:var(--c-primary-bg)}.pagination .pages button[disabled]{opacity:.45;cursor:not-allowed}.pagination select{height:28px;border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);padding:0 var(--sp-1);background:var(--c-bg);font-size:var(--fs-sm)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--pad-card)}.rcard{border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--sp-3);background:var(--c-bg);min-width:0}.rcard-head{display:flex;align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-2);min-width:0}.rcard-head .cell-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-semibold);border:0;background:none;padding:0;text-align:left;color:var(--c-primary);cursor:pointer;font-size:var(--fs-base)}.rcard dl{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:2px var(--sp-3);gap:2px var(--sp-3);margin:0;font-size:var(--fs-sm)}.rcard dt{color:var(--c-text-2)}.rcard dd{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcard-foot{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--c-border)}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--pad-card);overflow-x:auto;min-width:0}.kcol{display:flex;flex-direction:column;min-height:0;background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius)}.kcol-head{flex:none;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-weight:var(--fw-semibold);font-size:var(--fs-sm);border-bottom:1px solid var(--c-border)}.kcol-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--sp-2);display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);align-content:start}.kcol .rcard{padding:var(--sp-2) var(--sp-3)}.kcol .rcard dl{grid-template-columns:minmax(0,1fr);gap:0}.kcol .rcard dt{font-size:var(--fs-xs);margin-top:2px}.kcol-more{width:100%}.state{display:grid;justify-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-8) var(--sp-4);text-align:center}.state-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--c-primary-bg);color:var(--c-primary)}.state-icon .icon{width:24px;height:24px}.state.error .state-icon{background:var(--st-danger-bg);color:var(--st-danger-fg)}.state h3{font-size:var(--fs-md)}.state p{max-width:440px;color:var(--c-text-2);font-size:var(--fs-sm)}.state .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2)}.skeleton{display:block;height:14px;border-radius:4px;background:linear-gradient(90deg,var(--c-bg-subtle) 0,var(--c-border) 50%,var(--c-bg-subtle) 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.form-section+.form-section{margin-top:var(--sp-5)}.form-section h3{font-size:var(--fs-base);margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--c-border)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-3) var(--sp-4);gap:var(--sp-3) var(--sp-4)}.field{display:grid;grid-gap:4px;gap:4px;align-content:start;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text)}.req{color:var(--st-danger-fg);margin-left:2px}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.input{width:100%;min-width:0;min-height:var(--control-h);padding:4px var(--sp-3);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-size:var(--fs-base)}.field textarea{min-height:76px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search input:focus,.sider-search input:focus,.top-search input:focus{outline:2px solid var(--c-primary-border);outline-offset:0;border-color:var(--c-primary)}.field input[readonly]:not([type=checkbox]):not([type=radio]),.field select[disabled],.field textarea[readonly]{background:var(--st-neutral-bg);border-color:var(--c-border);color:var(--c-text-2);cursor:default}.help{font-size:var(--fs-xs);color:var(--c-text-2)}.field.invalid input,.field.invalid select{border-color:var(--st-danger-dot)}.err{font-size:var(--fs-xs);color:var(--st-danger-fg)}.range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:var(--sp-1);gap:var(--sp-1)}.range,.range input{min-width:0}.check{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.radio-list{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.radio-list label{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.overlay{position:fixed;inset:0;z-index:60;background:var(--c-overlay)}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(100vw,max(var(--drawer-min),var(--drawer-w)));display:flex;flex-direction:column;background:var(--c-bg);box-shadow:var(--shadow-3);transform:translateX(100%);transition:transform .2s var(--ease);visibility:hidden}.drawer.open{transform:none;visibility:visible}.drawer.resizing{transition:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drawer-resize{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:2;border:0;padding:0;background:transparent}.drawer-resize:after{content:"";position:absolute;left:3px;top:50%;width:2px;height:40px;margin-top:-20px;border-radius:2px;background:var(--c-border-strong);opacity:0;transition:opacity var(--dur)}.drawer-resize:focus-visible:after,.drawer-resize:hover:after,.drawer.resizing .drawer-resize:after{opacity:1}.drawer-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--pad-card-lg);border-bottom:1px solid var(--c-border);min-width:0}.drawer-head h2{font-size:var(--fs-md);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-head .dh-titles{flex:1 1 auto;min-width:0}.drawer-head .dh-titles h2{white-space:normal;overflow-wrap:anywhere}.drawer-head .dh-sub{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:2px;color:var(--c-text-2);font-size:var(--fs-xs)}.drawer-head .dh-actions{flex:none;display:flex;align-items:center;gap:var(--control-gap)}.drawer-body{flex:1 1;overflow-y:auto;padding:var(--pad-card-lg);min-width:0}.drawer-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--pad-card-lg);border-top:1px solid var(--c-border);background:var(--c-bg)}.drawer-foot:empty{display:none}.dw-sec+.dw-sec{margin-top:var(--section-gap);padding-top:var(--section-gap);border-top:1px solid var(--c-border)}.dw-sec>h3{font-size:var(--fs-base);margin-bottom:var(--space-3)}.dw-sec .desc .clip,.dw-sec .desc dd{white-space:normal}.dw-sec .mini-h:first-child{margin-top:0}.modal{position:fixed;z-index:61;left:50%;top:50%;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 48px);transform:translate(-50%,-50%);background:var(--c-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-3)}.modal,.modal>form{display:flex;flex-direction:column}.modal>form{min-height:0}.modal.wide{width:min(720px,calc(100vw - 24px))}.modal .drawer-foot{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.toast{z-index:70;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius);background:var(--c-text);color:#fff;font-size:var(--fs-sm);box-shadow:var(--shadow-2)}.pop,.toast{position:fixed}.pop{z-index:50;width:380px;max-width:calc(100vw - 16px);max-height:calc(100dvh - var(--header-h) - 16px);display:flex;flex-direction:column;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-3)}.pop-head{flex:none;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-2)}.pop-head h2{font-size:var(--fs-md);flex:1 1}.pop-tools{flex:none;display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-2);border-bottom:1px solid var(--c-border)}.pop-body{flex:1 1 auto;min-height:0;overflow-y:auto}.pop-foot{flex:none;display:flex;justify-content:center;padding:var(--sp-2);border-top:1px solid var(--c-border)}.pop-group{padding:var(--sp-2) var(--sp-4) 2px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--c-text-2);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border)}.n-list{list-style:none;margin:0;padding:0}.n-item{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border);color:var(--c-text);font-size:var(--fs-sm)}a.n-item:hover{background:var(--c-bg-hover);text-decoration:none}.n-item .n-ic{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--st-neutral-bg);color:var(--st-neutral-fg)}.n-item .n-ic.tone-danger,.n-item .n-ic.tone-info,.n-item .n-ic.tone-progress,.n-item .n-ic.tone-special,.n-item .n-ic.tone-success,.n-item .n-ic.tone-warning{background:var(--tbg);color:var(--tfg)}.n-item .n-t{font-weight:var(--fw-regular)}.n-item .n-b,.n-item .n-t{display:block;overflow-wrap:anywhere}.n-item .n-b{margin-top:2px}.n-item .n-b,.n-item .n-m{color:var(--c-text-2);font-size:var(--fs-xs)}.n-item .n-m{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:4px}.n-item.unread{background:var(--c-primary-bg)}.n-item.unread .n-t{font-weight:var(--fw-semibold)}.n-item.unread:after{content:"";position:absolute;right:14px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--c-primary)}.n-item{padding-right:32px}.n-page .n-item{padding-right:40px}.task-list li{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--c-border);font-size:var(--fs-sm)}.task-list li .grow{flex:1 1;min-width:0}.task-list li.done .grow{color:var(--c-text-3);text-decoration:line-through}.task-list input{margin-top:3px}.search-list{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);max-height:min(440px,calc(100dvh - 80px));overflow-y:auto;margin:0;padding:var(--sp-1);list-style:none;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-3)}.search-list .sg{padding:var(--sp-2) var(--sp-3) 2px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--c-text-2)}.search-list .si{display:flex;align-items:center;gap:var(--sp-2);min-height:38px;padding:4px var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--c-text)}.search-list .si .icon{color:var(--c-text-3)}.search-list .si b{font-weight:var(--fw-medium)}.search-list .si small{margin-left:auto;color:var(--c-text-2);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.search-list .si:hover,.search-list .si[aria-selected=true]{background:var(--c-primary-bg)}.search-list .s-empty{padding:var(--sp-3);color:var(--c-text-2);font-size:var(--fs-sm)}.search-sheet{position:fixed;inset:0;z-index:65;display:flex;flex-direction:column;background:var(--c-bg)}.search-sheet .ss-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border)}.search-sheet .ss-head .search{max-width:none;flex:1 1}.search-sheet .search-list{position:static;flex:1 1;max-height:none;border:0;box-shadow:none;border-radius:0}.signed-out{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:var(--c-bg-layout)}.signed-out .card{width:min(400px,calc(100vw - 32px));padding:var(--sp-6);text-align:center;display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);justify-items:center}.shortcut-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.shortcut-table td{padding:6px 0;border-bottom:1px solid var(--c-border)}.shortcut-table td:last-child{text-align:right;white-space:nowrap}.desc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-3) var(--sp-5);gap:var(--sp-3) var(--sp-5);margin:0}.desc div{display:grid;grid-gap:2px;gap:2px;min-width:0}.desc dt{font-size:var(--fs-xs);color:var(--c-text-2)}.desc dd{margin:0;overflow-wrap:anywhere;font-size:var(--fs-sm)}.summary-strip{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);padding:var(--sp-3) var(--pad-card);margin:0}.summary-strip div{display:grid;grid-gap:2px;gap:2px;min-width:0}.summary-strip dt{font-size:var(--fs-xs);color:var(--c-text-2)}.summary-strip dd{margin:0;font-weight:var(--fw-medium);font-size:var(--fs-sm);white-space:nowrap}.money-list{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);margin:0}.money-list div{display:flex;justify-content:space-between;gap:var(--sp-3);min-width:0}.money-list dt{color:var(--c-text-2);min-width:0}.money-list dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.money-list .total{padding-top:var(--sp-2);border-top:1px dashed var(--c-border);font-weight:var(--fw-semibold)}.progress{height:8px;border-radius:4px;background:var(--c-bg-subtle);border:1px solid var(--c-border);overflow:hidden}.progress span{display:block;height:100%;background:var(--c-primary);border-radius:4px}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 var(--sp-3) var(--sp-6);font-size:var(--fs-sm)}.timeline li:before{content:"";position:absolute;left:6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--c-bg);border:2px solid var(--c-primary)}.timeline li:after{content:"";position:absolute;left:11px;top:18px;bottom:0;width:1px;background:var(--c-border)}.timeline li:last-child:after{display:none}.timeline time{display:block;color:var(--c-text-2);font-size:var(--fs-xs)}.inner-tabs{padding:0 var(--sp-3);margin-bottom:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:var(--gap)}.kpi{display:block;padding:var(--sp-3) var(--sp-3);min-width:0}.kpi .label{display:flex;align-items:flex-start;gap:6px;min-width:0;min-height:36px;color:var(--c-text-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:18px}.kpi .label .icon{margin-top:1px}.kpi .label span{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kpi .value{margin-top:2px;font-size:var(--fs-xl);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .value small{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text-2)}.kpi .delta{margin-top:2px;font-size:var(--fs-xs);color:var(--c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a.kpi{color:inherit}a.kpi,a.kpi:hover{text-decoration:none}a.kpi:hover{border-color:var(--c-primary-border)}.delta .up{color:var(--st-success-fg)}.delta .down,.delta .up{font-weight:var(--fw-semibold)}.delta .down{color:var(--st-danger-fg)}.funnel{grid-gap:var(--sp-3)}.frow,.funnel{display:grid;gap:var(--sp-3)}.frow{grid-template-columns:minmax(80px,120px) minmax(0,1fr) auto;align-items:center;grid-gap:var(--sp-3);font-size:var(--fs-sm)}.frow .num{min-width:56px}.fbar{position:relative;height:20px;background:var(--c-bg-subtle)}.fbar,.fbar span{border-radius:0 4px 4px 0}.fbar span{display:block;height:100%;background:var(--chart-1)}.chart-svg{width:100%;max-width:100%;height:auto;display:block;overflow:visible}.chart-svg text{font-family:var(--font);font-size:12px;fill:var(--c-text-2)}.chart-svg .grid line{stroke:var(--chart-grid)}.chart-svg .b1{fill:var(--chart-1)}.chart-svg .b2{fill:var(--chart-2)}.chart-svg .hit{fill:transparent;cursor:pointer}.chart-svg g.col:focus .hit,.chart-svg g.col:hover .hit{fill:var(--c-bg-hover)}.chart-svg g.col:focus{outline:none}.chart-svg g.col:focus .hit{stroke:var(--c-focus);stroke-width:2}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--c-text-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:12px;height:12px;border-radius:3px}.chart-tip{position:absolute;pointer-events:none;z-index:5;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);background:var(--c-text);color:#fff;font-size:var(--fs-xs);white-space:nowrap;box-shadow:var(--shadow-2)}.list-plain{list-style:none;margin:0;padding:0}.list-plain li{display:flex;align-items:center;gap:var(--sp-3);padding:6px 0;border-bottom:1px solid var(--c-border);font-size:var(--fs-sm);min-width:0}.list-plain li:last-child{border-bottom:0}.list-plain .grow{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-plain .when{color:var(--c-text-2);font-size:var(--fs-xs);white-space:nowrap}.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--pad-card);border-top:1px solid var(--c-border)}.cal-range{font-weight:var(--fw-semibold);margin:0 var(--sp-1);white-space:nowrap}.legend-row{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);padding:0 var(--pad-card) var(--sp-2);font-size:var(--fs-sm);color:var(--c-text-2)}.legend-row span{display:inline-flex;align-items:center;gap:6px}.legend-row i{width:12px;height:12px;border-radius:3px;border-left:3px solid}.cal-wrap{overflow:auto;border-top:1px solid var(--c-border);min-width:0}.cal-grid{display:grid;grid-template-columns:88px repeat(7,minmax(124px,1fr));grid-template-rows:min-content repeat(3,minmax(88px,auto));min-width:960px;min-height:100%}.cal-grid .hd{position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:6px var(--sp-2);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border);border-left:1px solid var(--c-border);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:center}.cal-grid .hd:first-child{left:0;z-index:3;border-left:0}.cal-grid .hd small{display:block;font-weight:var(--fw-regular);color:var(--c-text-2);font-size:var(--fs-xs)}.cal-grid .hd.today{color:var(--c-primary);background:var(--c-primary-bg)}.cal-grid .slot-label{position:-webkit-sticky;position:sticky;left:0;z-index:1;padding:var(--sp-2);background:var(--c-bg);border-bottom:1px solid var(--c-border);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.cal-grid .slot-label small{display:block;color:var(--c-text-2);font-size:var(--fs-xs);font-weight:var(--fw-regular)}.cal-grid .cell{padding:var(--sp-1);border-bottom:1px solid var(--c-border);border-left:1px solid var(--c-border);display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);align-content:start;min-width:0}.cal-grid .cell.today{background:var(--c-today)}.ev{display:block;width:100%;min-width:0;padding:4px var(--sp-2);border:0;border-left:3px solid var(--bar);border-radius:4px;background:var(--bg);text-align:left;font-size:var(--fs-xs);line-height:1.4;cursor:pointer;color:var(--c-text);overflow:hidden}.ev:hover{box-shadow:var(--shadow-2)}.ev b{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.ev .meta,.ev b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev .meta{color:var(--c-text-2)}.ev .tag{margin-top:2px;height:18px}.ev-l1{display:flex;align-items:center;gap:4px;min-width:0}.ev-l1 b{flex:1 1 auto;min-width:0}.ev-st{display:inline-grid;place-items:center;flex:none;width:16px;height:16px;border-radius:50%;background:var(--tbg);color:var(--tfg)}.ev-st .icon{width:12px;height:12px;stroke-width:2.4}.ev.offline{--bar:var(--ev-offline-bar);--bg:var(--ev-offline-bg)}.ev.online{--bar:var(--ev-online-bar);--bg:var(--ev-online-bg)}.ev.private{--bar:var(--ev-private-bar);--bg:var(--ev-private-bg)}.agenda{display:none}.agenda h3{font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-4);color:var(--c-text-2);background:var(--c-bg-subtle);border-top:1px solid var(--c-border)}.agenda .ev{margin:var(--sp-2) var(--sp-4);width:calc(100% - 2 * var(--sp-4))}.shift-table td{text-align:center}.shift-table td:first-child,.shift-table th:first-child{text-align:left}.shift-select{height:30px;min-width:104px;padding:0 var(--sp-2);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-bg);font-size:var(--fs-sm)}@media (min-width:768px) and (min-height:560px){.view.fill,.view.fill>#page-body{flex:1 1 auto;min-height:0}.view.fill .fill-card{flex:1 1 auto;min-height:340px;display:flex;flex-direction:column}.view.fill .fill-card>*{flex-shrink:0}.view.fill .fill-card>.cal-grid-wrap,.view.fill .fill-card>.data-view,.view.fill .fill-card>.fill-scroll{flex-shrink:1}.view.fill .fill-card>.tabpanel:not([hidden]),.view.fill .fill-card>[role=tabpanel]:not([hidden]){flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.view.fill .fill-card>[role=tabpanel]:not([hidden]){overflow:auto}.view.fill .fill-card>[role=tabpanel]>*{flex-shrink:0}.view.fill .fill-card>[role=tabpanel]>.cal-grid-wrap,.view.fill .fill-card>[role=tabpanel]>.data-view{flex-shrink:1}.view.fill .data-view,.view.fill .fill-scroll{flex:1 1 auto;min-height:0;overflow:auto}.view.fill .data-view{display:flex;flex-direction:column}.view.fill .data-view>.table-wrap{flex:none;overflow:visible}.view.fill .data-view>.kanban{flex:1 1 auto;min-height:0}.view.fill .data-view>.cards-grid{flex:none}.view.fill .cal-grid-wrap{flex:1 1 auto;min-height:0}}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.swatch{border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;font-size:var(--fs-sm);min-width:0}.swatch .chipc{height:48px}.swatch div:last-child{padding:var(--sp-2) var(--sp-3)}.swatch code,code{font-family:Consolas,Cascadia Mono,monospace;font-size:var(--fs-xs);background:var(--c-bg-subtle);padding:1px 4px;border-radius:4px;overflow-wrap:anywhere}.dodont{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--gap);gap:var(--gap)}.do,.dont{border-radius:var(--radius);padding:var(--pad-card);border:1px solid var(--c-border);min-width:0}.do{border-top:4px solid var(--st-success-dot)}.dont{border-top:4px solid var(--st-danger-dot)}.do h4,.dont h4{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);margin-bottom:var(--sp-3)}.do h4{color:var(--st-success-fg)}.dont h4{color:var(--st-danger-fg)}.spec{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.spec td,.spec th{padding:6px var(--sp-3);border-bottom:1px solid var(--c-border);text-align:left;vertical-align:top}.spec th{background:var(--c-bg-subtle);color:var(--c-text-2);font-weight:var(--fw-semibold)}.spec-wrap{overflow-x:auto;max-width:100%}.toc{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.rule-list{margin:0;padding-left:var(--sp-5);display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);font-size:var(--fs-sm)}.demo-row{align-items:center;gap:var(--sp-2);min-width:0}.demo-row,.space-demo{display:flex;flex-wrap:wrap}.space-demo{align-items:flex-end;gap:var(--sp-3)}.space-demo div{display:grid;justify-items:center;grid-gap:4px;gap:4px;font-size:var(--fs-xs);color:var(--c-text-2)}.space-demo span{display:block;background:var(--c-primary-border);border-radius:2px}section[id]{scroll-margin-top:16px}.demo-box{position:relative;border:1px dashed var(--c-border-strong);border-radius:var(--radius);padding:var(--sp-3);background:var(--c-bg-layout);min-width:0}.demo-box .menu-list,.demo-box .nav-fly,.demo-box .pop,.demo-box .search-list{position:static;box-shadow:var(--shadow-1);max-height:none;width:auto;max-width:100%}.demo-rail{display:flex;gap:var(--sp-2);align-items:flex-start;flex-wrap:wrap}.demo-rail .rail{display:grid;grid-gap:2px;gap:2px;width:56px;padding:var(--sp-1);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius)}.demo-rail .rail span{display:grid;place-items:center;height:36px;border-radius:var(--radius-sm);color:var(--c-text-2)}.demo-rail .rail span.on{background:var(--c-primary-bg);color:var(--c-primary)}.demo-h{font-size:var(--fs-base);margin-bottom:var(--sp-2)}.stat-strip{display:flex;flex-wrap:wrap;gap:0;margin:0 0 4px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.stat-strip>div{flex:1 1 180px;display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);min-width:0;padding:3px var(--sp-4);border-left:1px solid var(--c-border)}.stat-strip>div:first-child{border-left:0}.stat-strip dt{min-width:0;font-size:var(--fs-xs);color:var(--c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-strip dd{margin:0;flex:none;font-size:var(--fs-base);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.stat-strip dd.pos{color:var(--st-success-fg)}.stat-strip dd.neg{color:var(--st-danger-fg)}.stat-strip dd.pri{color:var(--c-primary)}.card .stat-strip{box-shadow:none}.pcell{display:inline-grid;grid-template-columns:auto 56px;align-items:center;gap:2px var(--sp-2);font-size:var(--fs-sm)}.pcell b{font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pcell i{display:block;height:6px;border-radius:3px;background:var(--c-bg-subtle);border:1px solid var(--c-border);overflow:hidden}.pcell s{display:block;height:100%;background:var(--c-primary);text-decoration:none}.pcell.full s{background:var(--st-success-dot)}.pcell.low s{background:var(--st-warning-dot)}.pcell em{grid-column:1/-1;font-style:normal;font-size:var(--fs-xs);color:var(--st-warning-fg)}.cell-input{height:30px;min-width:132px;width:100%;padding:0 var(--sp-2);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-bg);font-size:var(--fs-sm)}.edit-table td{padding-top:4px;padding-bottom:4px}.edit-table tr.dirty td:first-child{box-shadow:inset 3px 0 0 var(--c-primary)}.edit-table th .col-act{display:block;margin-top:2px;font-weight:var(--fw-medium)}.time-pair{display:inline-flex;align-items:center;gap:4px}.time-pair input{width:7.75rem;min-width:0}.avail-legend{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.av,.avail-legend{align-items:center}.av{display:inline-flex;justify-content:center;min-height:30px;padding:0 var(--sp-2);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);border:1px solid transparent}.av.free{background:var(--st-success-bg);color:var(--st-success-fg);border-color:var(--st-success-dot)}.av.teach{background:var(--st-info-bg);color:var(--st-info-fg);border-color:var(--st-info-dot)}.av.busy{background:var(--st-danger-bg);color:var(--st-danger-fg);border-color:var(--st-danger-dot)}.av.add{background:var(--c-bg);color:var(--c-text-2);border:1px dashed var(--c-border-strong);cursor:pointer;width:100%}.av.add:hover{color:var(--c-primary);border-color:var(--c-primary)}.slot-grid{display:grid;grid-template-columns:140px repeat(7,minmax(104px,1fr));min-width:900px}.slot-grid>div{padding:6px var(--sp-2);border-bottom:1px solid var(--c-border);border-left:1px solid var(--c-border);display:grid;grid-gap:4px;gap:4px;align-content:start;font-size:var(--fs-sm)}.slot-grid .hd{background:var(--c-bg-subtle);font-weight:var(--fw-semibold);text-align:center;color:var(--c-text-2)}.slot-grid .hd small{display:block;font-weight:var(--fw-regular);font-size:var(--fs-xs)}.slot-grid .sl{font-weight:var(--fw-medium);border-left:0}.slot-grid .sl small{display:block;color:var(--c-text-2);font-size:var(--fs-xs);font-weight:var(--fw-regular)}.slot-grid .av{width:100%}.rank{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.rank li{display:grid;grid-template-columns:24px minmax(80px,30%) minmax(0,1fr) auto;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);font-size:var(--fs-sm)}.rank .rk{display:grid;place-items:center;width:22px;height:22px;border-radius:var(--radius-sm);background:var(--c-bg-subtle);border:1px solid var(--c-border);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.rank .rl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank .rb{height:8px;border-radius:4px;background:var(--c-bg-subtle);overflow:hidden}.rank .rb s{display:block;height:100%;background:var(--chart-1);text-decoration:none;border-radius:4px}.rank .rv{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--c-text-2);white-space:nowrap}.dt.pivot td.tot,.dt.pivot tfoot td,.dt.pivot tfoot th{font-weight:var(--fw-semibold)}.dt.pivot tfoot td,.dt.pivot tfoot th{background:var(--c-bg-subtle)}.dt.pivot td.zero{color:var(--c-text-3)}.dt.pivot tbody th{font-weight:var(--fw-medium)}.switch{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:30px;padding:0;border:0;background:none;cursor:pointer;font-size:var(--fs-sm);color:var(--c-text);white-space:nowrap}.switch .knob{position:relative;width:34px;height:20px;border-radius:10px;background:var(--c-border-strong);transition:background var(--dur);flex:none}.switch .knob:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--dur) var(--ease)}.switch[aria-checked=true] .knob{background:var(--c-primary)}.switch[aria-checked=true] .knob:after{transform:translateX(14px)}.tpl-editor{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);min-width:0}.tpl-editor .vars{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.chip-var{height:26px;padding:0 var(--sp-2);border:1px solid var(--c-primary-border);border-radius:var(--radius-sm);background:var(--c-primary-bg);color:var(--c-primary);font-family:Consolas,Cascadia Mono,monospace;font-size:var(--fs-xs);cursor:pointer}.tpl-editor .preview{padding:var(--sp-3) var(--sp-4);border:1px dashed var(--c-border-strong);border-radius:var(--radius);background:var(--c-bg-subtle);font-size:var(--fs-sm)}.tpl-editor .preview b{display:block;margin-bottom:var(--sp-1);font-size:var(--fs-xs);color:var(--c-text-2)}.rating{border:0;margin:0;padding:0;display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);min-width:0}.rating legend{padding:0;margin-bottom:var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.rate-row{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.rate-row label{position:relative}.rate-row input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.rate-row span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);font-weight:var(--fw-semibold);font-size:var(--fs-sm);background:var(--c-bg)}.rate-row input:checked+span{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-text-on-primary)}.rate-row input:focus-visible+span{outline:2px solid var(--c-focus);outline-offset:2px}.period-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);min-width:0}.period-bar .range input{height:var(--control-h);padding:0 var(--sp-2);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-bg);font-size:var(--fs-sm)}.card>.period-bar{padding:var(--sp-2) var(--pad-card)}.note-merge{margin-bottom:var(--sp-3)}.chips-plain{display:flex;flex-wrap:wrap;gap:4px}.mini-h{font-size:var(--fs-base);margin:var(--sp-5) 0 var(--sp-2)}.drawer-body .table-wrap{border:1px solid var(--c-border);border-radius:var(--radius)}.split{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);grid-gap:var(--gap);gap:var(--gap);align-items:start}.pick-list{list-style:none;margin:0;padding:var(--sp-2);display:grid;grid-gap:2px;gap:2px}.pick-list button{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:40px;padding:6px var(--sp-3);border:0;border-radius:var(--radius-sm);background:none;text-align:left;cursor:pointer;color:var(--c-text);font-size:var(--fs-sm);min-width:0}.pick-list button:hover{background:var(--c-bg-hover)}.pick-list button[aria-current=true]{background:var(--c-primary-bg);color:var(--c-primary);font-weight:var(--fw-semibold)}.pick-list .grow{flex:1 1;min-width:0}.tree{list-style:none;margin:0;padding:0}.tree li{display:flex;align-items:center;gap:var(--sp-2);min-height:38px;padding:2px var(--sp-3);border-bottom:1px solid var(--c-border);font-size:var(--fs-sm);min-width:0}.tree li.child{padding-left:var(--sp-8)}.tree .grow{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.payslip{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4);min-width:0}.kv-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--c-primary-bg);border:1px solid var(--c-primary-border)}.kv-total b{font-size:var(--fs-lg);color:var(--c-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.line-chart .ln{fill:none;stroke:var(--chart-1);stroke-width:2}.line-chart .ar{fill:var(--c-primary-bg)}.line-chart .pt{fill:var(--c-bg);stroke:var(--chart-1);stroke-width:2}.kpi.is-active{border-color:var(--c-primary);box-shadow:inset 0 -3px 0 var(--c-primary)}button.kpi{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.metric-checks{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5)}.checks{border:0;margin:0;padding:0;min-width:0}.checks legend{padding:0;margin-bottom:6px;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.checks .opts{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}.checks .check{min-height:30px}.rel-pick{display:flex;gap:var(--sp-2);min-width:0}.rel-pick select{flex:1 1;min-width:0}.field .switch{justify-self:start}.doc-preview{border:1px solid var(--c-border-strong);border-radius:var(--radius);padding:var(--sp-5);background:var(--c-bg);display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);font-size:var(--fs-sm);min-width:0}.doc-preview .doc-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3);align-items:flex-start;padding-bottom:var(--sp-3);border-bottom:1px solid var(--c-border)}.doc-preview h3{font-size:var(--fs-md);text-align:center}.doc-preview .doc-sign{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);text-align:center;padding-top:var(--sp-4);color:var(--c-text-2)}.fab{display:none;position:fixed;right:16px;bottom:16px;z-index:50;align-items:center;gap:var(--sp-2);max-width:calc(100vw - 32px);height:48px;padding:0 var(--sp-5);border:0;border-radius:24px;background:var(--c-primary);color:#fff;font-weight:var(--fw-semibold);box-shadow:var(--shadow-3);cursor:pointer}.fab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-page=form] .fab{display:none!important}.colset{position:fixed;z-index:56;width:340px;max-width:calc(100vw - 16px);max-height:min(560px,calc(100dvh - 24px));display:flex;flex-direction:column;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-3)}.colset.demo{position:static;box-shadow:var(--shadow-1);max-height:none}.cs-head{flex:none;display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-3) var(--pad-card) var(--space-2)}.cs-head h2{font-size:var(--fs-md)}.cs-head .muted{margin-left:auto;font-size:var(--fs-xs)}.cs-tools{flex:none;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);padding:0 var(--pad-card) var(--space-2);border-bottom:1px solid var(--c-border);font-size:var(--fs-xs)}.cs-list{flex:1 1 auto;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:var(--space-1) var(--space-2)}.cs-item{display:flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--c-bg)}.cs-item:hover{background:var(--c-bg-hover)}.cs-item.dragging{background:var(--c-primary-bg);box-shadow:var(--shadow-2);position:relative;z-index:1}.cs-item.fixed{color:var(--c-text-2)}.cs-grip{flex:none;display:inline-grid;place-items:center;width:24px;height:28px;padding:0;border:0;border-radius:4px;background:none;color:var(--c-text-3);cursor:-webkit-grab;cursor:grab;touch-action:none}.cs-grip:hover{color:var(--c-text);background:var(--c-bg-subtle)}.cs-grip[disabled]{cursor:default;opacity:.4}.cs-item .check{flex:1 1 auto;min-width:0}.cs-item .check span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-type{flex:none;color:var(--c-text-3);font-size:var(--fs-xs)}.cs-pin{flex:none;display:inline-flex;gap:2px}.cs-pin button{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:4px;background:none;color:var(--c-text-3);cursor:pointer}.cs-pin button:hover{border-color:var(--c-border);color:var(--c-text)}.cs-pin button[aria-pressed=true]{background:var(--c-primary-bg);border-color:var(--c-primary-border);color:var(--c-primary)}.cs-pin .icon{width:14px;height:14px}.cs-foot{flex:none;display:flex;align-items:center;gap:var(--control-gap);padding:var(--space-2) var(--pad-card);border-top:1px solid var(--c-border)}.form-page{display:grid;grid-gap:var(--section-gap);gap:var(--section-gap);min-width:0}.form-card .card-head{padding:var(--pad-card-lg) var(--pad-card-lg) 0}.form-card .card-body{padding:var(--pad-card) var(--pad-card-lg) var(--pad-card-lg)}.form-card .form-grid{gap:var(--space-4) var(--space-6)}.form-card .card-sub{margin-top:2px}.form-page .err-sum{padding:var(--space-3) var(--pad-card);border:1px solid var(--st-danger-dot);border-radius:var(--radius);background:var(--st-danger-bg);color:var(--st-danger-fg);font-size:var(--fs-sm)}.form-bar{position:-webkit-sticky;position:sticky;bottom:calc(-1 * var(--page-gutter));z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:var(--control-gap);min-height:var(--form-bar-h);margin:var(--section-gap) calc(-1 * var(--page-gutter)) calc(-1 * var(--page-gutter));padding:var(--space-3) var(--page-gutter);background:var(--c-bg);border-top:1px solid var(--c-border);box-shadow:0 -4px 12px rgba(16,24,40,.06)}.form-bar .help{margin-right:auto}.form-bar .dirty-note{color:var(--st-warning-fg);font-size:var(--fs-xs)}@media (max-width:1279px){.user-btn .who{display:none}.split{grid-template-columns:minmax(0,1fr)}.filter-grid,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3>.span-2{grid-column:1/-1}}@media (max-width:1023px){.app{grid-template-columns:minmax(0,1fr)}.brand{width:auto}.sider{position:fixed;z-index:62;top:0;left:0;bottom:0;width:min(300px,86vw);transform:translateX(-100%);transition:transform .2s var(--ease);visibility:hidden;box-shadow:var(--shadow-3)}.sider.open{transform:none;visibility:visible}.top-search{display:none}.show-narrow{display:inline-flex!important}.btn-quick .lbl{display:none}.btn-quick{width:var(--control-h);padding:0}}@media (max-width:767px){:root{--control-h:40px;--header-h:52px}html[data-density=compact]{--control-h:36px}.hide-sm{display:none!important}.only-sm{display:flex!important}li.only-sm.sep{display:block!important}.topbar{gap:2px;padding:0 var(--sp-2)}.brand small{display:none}.desc,.dodont,.filter-grid,.form-grid,.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.grid-3>.span-2,.span-2{grid-column:auto}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.kpi{padding:var(--sp-2) var(--sp-3)}.page-head{grid-template-columns:minmax(0,1fr);grid-template-areas:"crumbs" "title" "desc" "actions"}.page-desc,.page-title{white-space:normal}.page-head .head-actions{justify-content:flex-start;margin-top:var(--space-2)}.page-head .head-actions:not(:has(>:not(.btn-primary))){display:none}.page-head .head-actions .btn-primary{display:none}html[data-page=form] .page-head .head-actions .btn-primary{display:inline-flex}.table-wrap.responsive colgroup{display:none}.table-wrap.responsive table.dt.lt{min-width:0!important;table-layout:auto}.dt td.has-copy{padding-right:0}.table-wrap.responsive td .cp{position:static;transform:none;opacity:1;margin-left:4px;vertical-align:middle}.drawer{width:100vw!important}.drawer-resize{display:none}.drawer-head{flex-wrap:wrap}.drawer-head .dh-actions{width:100%}.form-bar{padding:var(--space-2) var(--page-gutter)}.form-bar .help{flex-basis:100%}.colset{left:8px!important;right:8px!important;width:auto}.tab{height:var(--touch)}.btn,.seg button{min-height:36px}.btn-sm{min-height:32px}.cal-toolbar .btn-primary,.tb-right .btn-primary{display:none}.fab{display:inline-flex}.main{padding-bottom:84px}html[data-page=form] .main{padding-bottom:var(--page-gutter)}.list-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:6;background:var(--c-bg);border-radius:var(--radius) var(--radius) 0 0}.list-card>.list-toolbar{padding-bottom:var(--space-2)}.list-card>.data-view{margin-top:var(--space-2)}.table-wrap.responsive table,.table-wrap.responsive tbody,.table-wrap.responsive td,.table-wrap.responsive thead,.table-wrap.responsive tr{display:block}.table-wrap.responsive thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table-wrap.responsive tr{margin:var(--sp-2) var(--sp-3);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);position:relative}.table-wrap.responsive td{height:auto;min-height:26px;padding:3px 0 3px 40%;border:0;position:relative;white-space:normal;text-align:left!important;box-shadow:none!important;background:none!important;overflow-wrap:anywhere;max-width:none}.table-wrap.responsive td:before{content:attr(data-label);position:absolute;left:0;top:3px;width:37%;color:var(--c-text-2);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap.responsive td.col-check{position:absolute;right:var(--sp-3);top:var(--sp-2);left:auto;width:auto;padding:0;min-height:0}.table-wrap.responsive td.col-actions:before,.table-wrap.responsive td.col-check:before,.table-wrap.responsive td.col-first:before{display:none}.table-wrap.responsive td.col-first{padding:3px 32px var(--sp-1) 0;font-size:var(--fs-base);position:static}.table-wrap.responsive td.col-actions{position:absolute;right:36px;top:4px;padding:0;min-height:0;width:auto}.table-wrap.responsive td.col-actions .hov{display:none}.table-wrap.responsive{border-top:0;overflow:visible}.table-wrap.responsive .num{white-space:nowrap}.dt .clip{max-width:100%}.cal-grid-wrap{display:none}.agenda{display:block}.pagination{justify-content:space-between}.pagination .pages{margin-left:0}.pagination .pg-info{flex-basis:100%}.drawer-body{padding:var(--sp-3) var(--sp-4)}.rank li{grid-template-columns:22px minmax(72px,34%) minmax(0,1fr) auto;gap:var(--sp-2)}.stat-strip>div{flex-basis:45%;border-left:0;border-top:1px solid var(--c-border)}.stat-strip>div:nth-child(-n+2){border-top:0}.period-bar .range,.period-bar .range input{width:100%}.edit-table .cell-input{min-width:0}.table-wrap.responsive.edit-table td{padding-left:0}.table-wrap.responsive.edit-table td:before{position:static;display:block;width:auto;margin-bottom:2px}.user-menu{min-width:0;width:calc(100vw - 16px)}.pop{left:8px!important;right:8px!important;width:auto}.search{flex-basis:100%}.doc-preview{padding:var(--sp-3)}table.spec{display:block;overflow-x:auto;max-width:100%;position:relative}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}