@font-face{font-family:Figtree;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_c049fe{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_c049fe{--font-figtree:"Figtree","Figtree Fallback"}:root{--navy:#071033;--navy-2:#0f1b4d;--navy-3:#1c2a66;--brown:#88593c;--brown-light:#eac6a2;--brown-soft:#f6ebe1;--sky:#b1deec;--sky-soft:#e8f5fa;--sky-line:#cfe9f2;--bg:#f6f7f9;--surface:#ffffff;--surface-2:#f9fafb;--line:#e4e7ec;--line-soft:#eef0f3;--line-strong:#c4cad4;--text:#1b2033;--muted:#5f667a;--faint:#8a90a2;--success:#1e7d4f;--success-bg:#e3f4ea;--warning:#9a5b00;--warning-bg:#fdf0d9;--danger:#c62828;--danger-bg:#fde7e7;--danger-strong:#d92d20;--info:#1f5f8b;--info-bg:#e3eff8;--violet:#5b2f99;--violet-bg:#efe6fb;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:48px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:28px;--lh-tight:1.25;--lh-base:1.5;--r-xs:4px;--r-sm:6px;--r:8px;--r-md:10px;--r-lg:12px;--r-full:999px;--radius:var(--r-md);--radius-sm:var(--r);--control-h:40px;--control-h-sm:32px;--control-h-lg:48px;--nav-h:36px;--tab-h:40px;--shadow:none;--shadow-float:0 4px 12px rgba(7,16,51,0.08),0 1px 3px rgba(7,16,51,0.06);--focus:0 0 0 3px rgba(177,222,236,0.9);--ease:140ms ease-out;--sidebar-w:248px;--topbar-h:56px;--content-pad-x:32px;--content-max:1360px}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-padding-top:calc(var(--topbar-h) + var(--sp-4))}body{font-family:var(--font-figtree),system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:var(--fs-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a.link{color:var(--navy-3);font-weight:600}img,video{max-width:100%}h1,h2,h3{color:var(--navy);margin:0}h1{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.015em;line-height:var(--lh-tight)}h2{font-size:var(--fs-lg);letter-spacing:-.005em;line-height:1.3}h2,h3{font-weight:700}h3{font-size:var(--fs-md);line-height:1.35}.h2{font-size:var(--fs-lg);font-weight:700}p{margin:0 0 var(--sp-2)}.muted{color:var(--muted);margin:2px 0 0}.small{font-size:var(--fs-sm)}small{font-size:var(--fs-xs)}.sub{display:block;font-size:var(--fs-sm);color:var(--muted)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}code.hash{font-size:var(--fs-2xs);word-break:break-all;color:var(--muted)}pre.mail{white-space:pre-wrap;font:inherit;font-size:var(--fs-sm);margin:0;color:var(--text)}details summary{cursor:pointer}.content,.mobile,.portal,.public{overflow-wrap:break-word}.alert,.kpi-hint,.msg,.sub,dd,p,td{hyphens:auto;-webkit-hyphens:auto}:focus-visible{outline:2px solid var(--navy-3);outline-offset:2px}.btn:focus-visible,.chip:focus-visible,.nav-item:focus-visible,.nav-toggle:focus-visible,a:focus-visible{outline:2px solid var(--navy-3);outline-offset:2px;box-shadow:var(--focus)}.skiplink{position:absolute;left:var(--sp-3);top:-60px;z-index:100;background:var(--navy);color:#fff;padding:var(--sp-2) var(--sp-4);border-radius:var(--r);font-weight:700}.skiplink:focus{top:var(--sp-3)}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;background:var(--bg)}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh}.brand,.brand-home,.sidebar{color:var(--navy);display:flex}.brand,.brand-home{align-items:center;gap:var(--sp-3);min-width:0}.brand{padding:var(--sp-4) var(--sp-4) var(--sp-3)}.brand img{width:44px;height:44px;object-fit:contain;flex:none}.brand b{display:block;font-size:var(--fs-md);font-weight:800;line-height:var(--lh-tight);color:var(--navy)}.brand small{display:block;color:var(--brown);font-size:var(--fs-xs);font-weight:600;line-height:1.4}.nav-wrap{flex:1 1;min-height:0;display:flex;flex-direction:column}.nav{flex:1 1;overflow-y:auto;padding:var(--sp-1) var(--sp-3) var(--sp-4);scrollbar-width:thin}.nav-section{margin-bottom:var(--sp-1)}.nav-item,.nav-toggle{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--nav-h);padding:0 var(--sp-3);border-radius:var(--r);line-height:var(--lh-tight)}.nav-item{color:#2a3150;font-weight:500;transition:background-color var(--ease),color var(--ease)}.nav-item>span{flex:1 1;min-width:0;padding:var(--sp-2) 0}.nav-item svg{flex:none;width:18px;height:18px;color:var(--navy-3);opacity:.75;display:block}.nav-item.active{background:var(--sky);color:var(--navy);font-weight:700}.nav-item.active svg{opacity:1}.nav-item.disabled{opacity:.45;cursor:default}.nav-item em{margin-left:auto;font-style:normal;font-size:var(--fs-2xs);background:var(--brown-soft);color:var(--brown);padding:0 var(--sp-2);border-radius:var(--r-full);line-height:18px}.nav-toggle{width:100%;justify-content:space-between;margin-top:var(--sp-2);background:none;border:0;cursor:pointer;text-align:left;font:inherit;font-size:var(--fs-xs);font-weight:700;color:var(--brown);letter-spacing:.02em;transition:background-color var(--ease)}.nav-toggle>span{flex:1 1;min-width:0;padding:var(--sp-2) 0}.nav-toggle.here{cursor:default}.nav-chevron{flex:none;width:16px;height:16px;color:var(--brown);opacity:.8;transition:transform var(--ease);display:block}.nav-toggle[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}.nav-title{font-size:var(--fs-xs);font-weight:700;color:var(--brown);padding:var(--sp-3) var(--sp-3) var(--sp-1)}.nav-sub{font-size:var(--fs-2xs);font-weight:700;color:var(--faint);letter-spacing:.06em;text-transform:uppercase;padding:var(--sp-3) var(--sp-3) var(--sp-1) calc(var(--sp-3) + 18px + var(--sp-3))}.nav-group{margin-bottom:0}.nav-group.open{margin-bottom:var(--sp-2)}.nav-empty{color:var(--muted);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3)}.nav-find{display:block;width:100%;height:var(--control-h-sm);margin:var(--sp-1) 0 var(--sp-3);padding:0 var(--sp-3);border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);color:var(--navy);font:inherit;font-size:var(--fs-sm)}.nav-find::placeholder{color:var(--faint)}.nav-find:focus{outline:none;border-color:var(--navy-3);background:#fff;box-shadow:var(--focus)}.user-box{border-top:1px solid var(--line);padding:var(--sp-3) var(--sp-4) var(--sp-4);display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--brown-light);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:var(--fs-xs);flex:none}.user-box .who{min-width:0;line-height:1.35}.user-box .who b{color:var(--navy);display:block;font-size:var(--fs-sm);overflow-wrap:anywhere}.user-box .who span{display:block;font-size:var(--fs-xs);color:var(--muted)}.user-acts{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-2);gap:var(--sp-2)}.user-acts form{margin:0}.user-acts .btn{width:100%;min-width:0;padding-inline:var(--sp-2)}.nav-burger,.nav-check{display:none}.main{min-width:0}.topbar{height:var(--topbar-h);background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 var(--content-pad-x);gap:var(--sp-4);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar .search{flex:1 1;max-width:440px}.topbar .search input{height:var(--control-h-sm);min-height:0;background:var(--surface-2)}.topbar .env{margin-left:auto;font-size:var(--fs-2xs);font-weight:700;color:var(--warning);background:var(--warning-bg);padding:0 var(--sp-2);line-height:22px;border-radius:var(--r-sm);letter-spacing:.04em;white-space:nowrap}.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--control-h);height:var(--control-h);border-radius:var(--r);color:var(--navy);margin-left:auto}.bell-count,.mbar-count{position:absolute;background:var(--danger-strong);color:#fff;border-radius:var(--r-full);font-size:var(--fs-2xs);line-height:16px;min-width:16px;padding:0 4px;text-align:center;font-weight:700}.bell-count{top:2px;right:0}.content{padding:var(--sp-6) var(--content-pad-x) var(--sp-8);max-width:var(--content-max)}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-6)}.page-header>div:first-child{min-width:0;flex:1 1 320px}.page-header h1+.muted{margin-top:var(--sp-1);max-width:80ch}.crumbs{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-1)}.crumbs a:after{content:"/";margin-left:var(--sp-2);color:var(--line-strong)}.actions,.row{flex-wrap:wrap;align-items:center}.actions,.row,.wayfinding{display:flex;gap:var(--sp-2)}.wayfinding{flex-direction:column;margin:0 0 var(--sp-3)}.wayfinding:empty{display:none}.autocrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);color:var(--muted)}.autocrumbs>*+:before{content:"›";margin-right:var(--sp-2);color:var(--line-strong)}.autocrumbs a{color:var(--muted)}.autocrumbs [aria-current]{color:var(--navy);font-weight:600}.page-header .crumbs:has(>a:only-child){display:none}.content:has(.page-header .crumbs>a+a) .autocrumbs{display:none}.flow-pos{font-weight:600;color:var(--muted)}.backlink,.flow-pos{display:none}.flow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-2) var(--sp-3)}.flow-title{font-size:var(--fs-xs);font-weight:700;color:var(--brown)}.flow ol{display:flex;flex-wrap:wrap;gap:var(--sp-1);list-style:none;margin:0;padding:0}.flow li a{gap:var(--sp-2);height:28px;padding:0 var(--sp-3) 0 var(--sp-1);border-radius:var(--r-sm);font-size:var(--fs-sm)}.flow li a,.flow li a b{display:inline-flex;align-items:center;color:var(--muted)}.flow li a b{width:20px;height:20px;border-radius:50%;justify-content:center;font-size:var(--fs-2xs);background:var(--line-soft)}.flow li.done a b{background:var(--success-bg);color:var(--success)}.flow li.on a{background:var(--sky-soft);color:var(--navy);font-weight:700}.flow li.on a b{background:var(--navy);color:#fff}.flow-next{margin-left:auto;font-size:var(--fs-sm);font-weight:700;white-space:nowrap}.btn,.flow-next{color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--control-h);max-width:100%;padding:6px var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);font:inherit;font-size:var(--fs-base);font-weight:600;line-height:1.25;text-align:center;white-space:normal;cursor:pointer;vertical-align:middle;transition:background-color var(--ease),border-color var(--ease),color var(--ease)}.btn svg{flex:none;display:block;width:16px;height:16px}.btn:active{background:var(--sky)}.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn-primary:active{background:var(--navy-2)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-sm,.btn.btn-sm{min-height:var(--control-h-sm);padding:4px var(--sp-3);font-size:var(--fs-sm)}.actions .btn-sm,.filters .btn,td .btn{white-space:nowrap}.btn.big{min-height:var(--control-h-lg);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-md)}.btn:disabled,.btn[aria-disabled=true],.btn[disabled],button:disabled{opacity:.55;cursor:not-allowed}.link-btn{background:none;border:0;padding:0;color:var(--navy);text-decoration:underline;cursor:pointer;font:inherit}.inline-form{display:inline}[data-busy]{position:relative;pointer-events:none;opacity:.8}[data-busy]:after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid;border-right:2px solid transparent;display:inline-block;flex:none;animation:dsb-spin .7s linear infinite}@keyframes dsb-spin{to{transform:rotate(1turn)}}input,select,textarea{font:inherit;font-size:var(--fs-base);color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);width:100%;transition:border-color var(--ease),box-shadow var(--ease)}input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range]),select{height:var(--control-h);min-height:var(--control-h);padding:0 var(--sp-3)}input[type=file]{padding:var(--sp-2)}textarea{padding:var(--sp-2) var(--sp-3);line-height:var(--lh-base)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy-3);box-shadow:var(--focus)}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--navy);flex:none;vertical-align:middle}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}input.invalid{border-color:var(--danger);background:var(--danger-bg)}label{display:block;font-weight:600;font-size:var(--fs-sm);color:var(--navy);margin-bottom:var(--sp-1)}label>input,label>select,label>textarea{margin-top:var(--sp-1);font-weight:400}.check{display:inline-flex;gap:var(--sp-2);align-items:center;font-weight:500}.check input{width:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.form-grid .full{grid-column:1/-1}.form-grid.g3cols{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-4)}.filters input{max-width:300px}.filters select{width:auto}.filters>label,select{max-width:100%;min-width:0}.chip{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);height:var(--control-h-sm);padding:0 var(--sp-3);border-radius:var(--r);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-sm);font-weight:600;line-height:1;color:var(--muted);white-space:nowrap;transition:background-color var(--ease),border-color var(--ease),color var(--ease)}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}.chip b{margin-left:2px;opacity:.7}.seg{border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden}.seg,.seg button{display:inline-flex}.seg button{align-items:center;height:calc(var(--control-h) - 2px);font:inherit;font-weight:600;border:0;background:var(--surface);color:var(--muted);padding:0 var(--sp-4);cursor:pointer}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--navy);color:#fff}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5);min-width:0}.card.flush{padding:0;overflow:hidden}.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);min-height:var(--control-h-sm)}.card-head h2{margin:0}.card.flush .card-head{padding:var(--sp-4) var(--sp-5) 0}.card.flush>.card-head+.table-wrap,.card.flush>.card-head+table{border-top:1px solid var(--line)}.grid{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.fields>*,.form-grid>*,.grid>*,.stack>*{min-width:0}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.grid:has(>.kpi){gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.kpi{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:var(--sp-4) var(--sp-4) var(--sp-4);border:0;border-radius:0;background:var(--surface);box-shadow:-1px 0 0 var(--line),0 -1px 0 var(--line);min-width:0}.grid:has(>.kpi)>.card{border:0;border-radius:0;box-shadow:-1px 0 0 var(--line),0 -1px 0 var(--line)}:not(.grid)>.kpi{border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.kpi-label{font-size:var(--fs-xs);font-weight:600;color:var(--muted);line-height:1.4}.kpi-value{font-size:var(--fs-3xl);font-weight:800;color:var(--navy);line-height:1.15;margin-top:var(--sp-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;max-width:100%}.kpi-value.kpi-long{font-size:var(--fs-xl);overflow-wrap:anywhere;line-height:1.4}.kpi-hint{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-1);line-height:1.4}.kpi-value.text-danger{color:var(--danger)}.kpi-value.text-success{color:var(--success)}.kpi-value.text-warning{color:var(--warning)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:var(--fs-xs);font-weight:600;color:var(--muted);padding:var(--sp-2) var(--sp-4);height:36px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-soft);vertical-align:middle}td.num,th.num{text-align:right}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.muted td{color:var(--muted)}tr.row-on td{background:var(--info-bg)}tr.total td{border-top:2px solid var(--line)}td .sub{display:block;color:var(--muted);font-size:var(--fs-xs)}tfoot td{font-weight:700;background:var(--surface-2);border-top:1px solid var(--line)}table.compact td,table.compact th{padding:var(--sp-2) var(--sp-3)}table.compact input,table.compact select{height:var(--control-h-sm);min-height:var(--control-h-sm)}table.kv td{padding:var(--sp-2) 0;border-bottom:1px solid var(--line-soft)}table.kv td.num{text-align:right;white-space:normal}.checkcell{width:32px}.pager{display:flex;justify-content:space-between;padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--muted)}.badge,.pager,.st{align-items:center}.badge,.st{display:inline-flex;gap:var(--sp-1);min-height:22px;max-width:100%;padding:3px var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:600;line-height:16px;white-space:nowrap;vertical-align:middle}.as-cards .badge,.as-cards .st,.card-head .badge,.fields .badge,.fields .st{white-space:normal}.badge-neutral,.st-grijs{background:var(--line-soft);color:#4a5068}.badge-info,.st-blauw{background:var(--info-bg);color:var(--info)}.badge-success,.st-groen{background:var(--success-bg);color:var(--success)}.badge-warning,.st-oranje{background:var(--warning-bg);color:var(--warning)}.badge-danger,.st-rood{background:var(--danger-bg);color:var(--danger)}.badge-brand{background:var(--brown-soft);color:var(--brown)}.st-paars{background:var(--violet-bg);color:var(--violet)}.fields{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}.field dt{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.field dd{margin:2px 0 0;font-weight:500}dl.totals{display:grid;grid-template-columns:1fr auto;grid-gap:var(--sp-2) var(--sp-3);gap:var(--sp-2) var(--sp-3);margin:var(--sp-3) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--line)}dl.totals dt{color:var(--muted)}dl.totals dd{margin:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}dl.totals .strong{color:var(--navy);font-weight:700;font-size:var(--fs-md)}.tabs{display:flex;flex-wrap:wrap;gap:0 var(--sp-1);border-bottom:1px solid var(--line);margin-bottom:var(--sp-5)}.tabs a{display:inline-flex;align-items:center;gap:var(--sp-2);height:var(--tab-h);padding:0 var(--sp-3);margin-bottom:-1px;border-bottom:2px solid transparent;font-weight:600;color:var(--muted);white-space:nowrap;transition:color var(--ease),border-color var(--ease)}.tabs a.on{color:var(--navy);border-bottom-color:var(--navy);font-weight:700}.tabs a span{font-size:var(--fs-2xs);line-height:18px;background:var(--line-soft);color:var(--muted);border-radius:var(--r-full);padding:0 var(--sp-2)}.tabs a.on span{background:var(--navy);color:#fff}.list{list-style:none;margin:0;padding:0}.list li{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);align-items:center}.list li:last-child{border-bottom:0}.list li{flex-wrap:wrap}.list li>*{min-width:0}.alert,.card li{min-width:0;overflow-wrap:anywhere}.alert{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);border-radius:var(--r);border:1px solid transparent;background:var(--warning-bg);color:var(--warning);font-weight:600;font-size:var(--fs-sm);line-height:1.45}.alert>*{min-width:0}.alert-danger,.alert.danger{background:var(--danger-bg);color:var(--danger)}.alert.info{background:var(--info-bg);color:var(--info)}.alert-success,.alert.success{background:var(--success-bg);color:var(--success)}.alert a,.alert a.link{color:inherit;text-decoration:underline;text-underline-offset:2px}.issues{list-style:none;padding:0;margin:0}.issues li{padding:var(--sp-2) 0 var(--sp-2) var(--sp-5);position:relative;font-size:var(--fs-sm);border-bottom:1px solid var(--line-soft)}.issues li:before{content:"";position:absolute;left:var(--sp-1);top:13px;width:8px;height:8px;border-radius:50%;background:var(--muted)}.issues li.fout:before{background:var(--danger)}.issues li.twijfel:before{background:var(--warning)}.issues li.info:before{background:var(--info)}.checklist{list-style:none;padding:0;margin:0;display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.checklist li{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-base)}.checklist li.ok{background:var(--success-bg)}.checklist li.bad{background:var(--danger-bg)}.checklist li.warn{background:var(--warning-bg)}.timeline{list-style:none;padding:0;margin:0;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.timeline li{border-left:2px solid var(--line);padding-left:var(--sp-3);min-width:0;overflow-wrap:anywhere}.progress{height:6px;background:var(--line-soft);border-radius:var(--r-full);overflow:hidden;min-width:80px}.progress span{display:block;height:100%;background:var(--navy)}.progress span.over,.unread{background:var(--danger)}.unread{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:var(--sp-2)}summary{list-style:none}summary::-webkit-details-marker{display:none}details>summary:not(.btn){display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--control-h-sm);padding:0 var(--sp-2);margin-left:calc(-1 * var(--sp-2));border-radius:var(--r);font-weight:600;color:var(--navy);line-height:var(--lh-tight);cursor:pointer;transition:background-color var(--ease)}details>summary.muted{color:var(--muted);margin-top:0}details>summary:after{content:"";flex:none;width:6px;height:6px;margin:0 2px;border-right:2px solid;border-bottom:2px solid;transform:translateY(-2px) rotate(45deg);transition:transform var(--ease)}details[open]>summary:after{transform:translateY(2px) rotate(-135deg)}details[open]>summary:not(.btn){margin-bottom:var(--sp-2)}.inv-lines details>summary{display:block;min-height:0;padding:0;margin:0;font-weight:inherit;color:inherit}.inv-lines details>summary:after{display:none}td details{position:relative}@media (min-width:761px){td details:not(.inline)[open]>summary:not(.btn){margin-bottom:0;background:var(--sky-soft)}td details:not(.inline)[open]::details-content{position:absolute;z-index:30;top:calc(100% + var(--sp-1));right:0;width:max-content;min-width:260px;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-float);padding:var(--sp-3);text-align:left;white-space:normal}td:first-child details[open]::details-content,td:nth-child(2) details[open]::details-content{right:auto;left:0}}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;color:var(--muted);padding:var(--sp-7) var(--sp-4)}.empty p{margin:0;max-width:46ch}.empty img{opacity:.9}.state-loading{display:flex;flex-direction:column;gap:var(--sp-4)}.skel{border-radius:var(--r);background:linear-gradient(90deg,#edf0f5,#f6f8fb 50%,#edf0f5);background-size:200% 100%;animation:dsb-skel 1.2s ease-in-out infinite}.skel-title{height:30px;width:40%}.skel-line{height:16px;width:60%}.skel-card{height:140px;border-radius:var(--radius)}@keyframes dsb-skel{to{background-position:-200% 0}}.state-error{max-width:560px;margin:var(--sp-8) auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.state-error .actions{justify-content:center}.toast{position:fixed;z-index:90;left:50%;transform:translateX(-50%);bottom:var(--sp-6);display:flex;gap:var(--sp-3);max-width:min(560px,calc(100vw - 32px));padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-float);font-weight:600;font-size:var(--fs-base);cursor:pointer;animation:dsb-toast .2s ease-out}.toast,.toast b{align-items:center}.toast b{display:inline-flex;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;color:#fff}.toast-ok{color:var(--success);border:1px solid var(--success-bg)}.toast-ok b{background:var(--success)}.toast-fout{color:var(--danger);border:1px solid var(--danger-bg)}.toast-fout b{background:var(--danger)}@keyframes dsb-toast{0%{opacity:0;transform:translate(-50%,8px)}}.bars{align-items:flex-end;gap:var(--sp-3);height:180px;padding-top:var(--sp-3)}.bar,.bars{display:flex}.bar{flex:1 1;flex-direction:column;align-items:center;gap:var(--sp-2);height:100%;justify-content:flex-end;min-width:0}.bar-stack{width:100%;max-width:46px;display:flex;flex-direction:column-reverse;border-radius:var(--r-xs) var(--r-xs) 0 0;overflow:hidden}.bar-rev{background:var(--navy)}.bar-cost{background:var(--brown-light)}.bar-label{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.bar-label,.bar-val{max-width:100%;text-align:center;overflow-wrap:anywhere;line-height:var(--lh-tight)}.bar-val{font-size:var(--fs-2xs);font-weight:700;color:var(--navy)}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:var(--sp-1);vertical-align:-1px}.focus{margin-bottom:var(--sp-5)}.focus-next{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);font-size:var(--fs-base)}.focus-next .btn{margin-left:auto}.focus-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.focus-tile,.focus-tiles{background:var(--surface)}.focus-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:var(--sp-4);color:var(--text);box-shadow:-1px 0 0 var(--line),0 -1px 0 var(--line);transition:background-color var(--ease);min-width:0}.focus-label{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.focus-value{font-size:var(--fs-2xl);font-weight:800;color:var(--navy);line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.focus-hint{font-size:var(--fs-xs);color:var(--muted)}.focus-tile.danger .focus-value{color:var(--danger)}.focus-tile.warning .focus-value{color:var(--warning)}.push-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-4);font-size:var(--fs-sm)}.quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:var(--sp-4)}.quick a{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);font-weight:700;color:var(--navy);transition:border-color var(--ease),background-color var(--ease)}.quick a span{font-weight:500;font-size:var(--fs-xs);color:var(--muted)}.quick a em{font-style:normal;font-size:var(--fs-xs);font-weight:700;color:var(--danger)}.plan{display:grid;grid-template-columns:180px repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.plan>div{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:var(--sp-2);min-height:64px;min-width:0}.plan .ph{background:var(--surface-2);font-weight:700;font-size:var(--fs-xs);color:var(--navy);min-height:0;text-transform:capitalize}.plan .ph.today{background:var(--sky-soft)}.plan .emp{display:flex;gap:var(--sp-2);align-items:center;font-weight:600}.plan .emp small{display:block;color:var(--muted);font-weight:500;font-size:var(--fs-2xs)}.plan .cell.off{background:repeating-linear-gradient(45deg,#fafbfc,#fafbfc 6px,#f1f2f5 0,#f1f2f5 12px)}.plan .cell.today{background:#f4fafd}.shift{display:block;background:var(--sky-soft);border-left:3px solid var(--navy);border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-2);margin-bottom:var(--sp-1);font-size:var(--fs-xs);line-height:1.3}.shift b{display:block;color:var(--navy)}.shift.s-UITGEVOERD{border-color:var(--success);background:var(--success-bg)}.shift.s-GEPLAND{border-style:dashed dashed dashed solid;border-color:var(--line-strong);background:var(--surface-2)}.shift.open{border-color:var(--danger);background:var(--danger-bg)}.absence{font-size:var(--fs-2xs);font-weight:700;color:var(--warning)}.board{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.board-row{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);min-width:900px}.board-row:last-child{border-bottom:0}.board-head{padding:var(--sp-2) var(--sp-3);border-right:1px solid var(--line);font-size:var(--fs-sm)}.board-head b{color:var(--navy);font-size:var(--fs-base);display:flex;align-items:center;gap:var(--sp-2)}.board-head .dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.board-lane{position:relative;min-height:64px;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 12 - 1px),var(--line-soft) calc(100% / 12 - 1px),var(--line-soft) calc(100% / 12))}.board-lane.off{background-color:#fdf3f3}.board-lane .work{position:absolute;top:0;bottom:0;background:rgba(30,125,79,.06);border-left:2px solid rgba(30,125,79,.35);border-right:2px solid rgba(30,125,79,.35);pointer-events:none}.board-lane.drop{outline:2px dashed var(--navy-3);outline-offset:-3px}.board-scale{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);min-width:900px;font-size:var(--fs-2xs);color:var(--muted)}.board-scale>div:last-child{display:grid;grid-template-columns:repeat(12,1fr)}.board-scale span{padding:var(--sp-1);border-left:1px solid var(--line-soft)}.blk{position:absolute;top:6px;bottom:6px;border-radius:var(--r-sm);padding:3px var(--sp-2);font-size:var(--fs-2xs);line-height:1.25;cursor:-webkit-grab;cursor:grab;color:var(--text);border:1px solid var(--line-strong);background:#fff}.blk,.blk b{overflow:hidden}.blk b{display:block;font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis}.blk.st-ingepland{background:var(--info-bg);border-color:#9cc3e0}.blk.st-bezig,.blk.st-onderweg{background:var(--violet-bg);border-color:#8e63c9}.blk.st-vertraagd{background:var(--warning-bg);border-color:#e0a64a}.blk.st-afgewerkt{background:var(--line-soft);border-color:#c9ced8;color:var(--muted);cursor:default}.blk.conflict{border:2px solid var(--danger)}.blk .trav{position:absolute;top:2px;right:var(--sp-1);font-size:var(--fs-2xs);color:var(--muted)}.sug{border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:var(--r);padding:var(--sp-3);background:var(--surface)}.sug.groen{border-left-color:var(--success)}.sug.oranje{border-left-color:#e0a64a}.sug.rood{border-left-color:var(--danger);opacity:.85}.period{border-collapse:collapse;width:100%;font-size:var(--fs-xs)}.period td,.period th{border:1px solid var(--line);padding:var(--sp-1) var(--sp-2);text-align:center;height:auto}.period td.load-0{background:var(--success-bg)}.period td.load-1{background:#f3f8e8}.period td.load-2{background:var(--warning-bg)}.period td.load-3{background:var(--danger-bg)}.period td.off{background:#f1f2f5;color:var(--muted)}.mapbox{width:100%;height:auto;background:#f4f8fb}.mapbox,.mobile-job{border:1px solid var(--line);border-radius:var(--radius)}.mobile-job{padding:var(--sp-3);background:var(--surface)}.mobile-job .acts{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.teamdot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:var(--sp-2);vertical-align:-1px}.urgent{border:2px solid var(--danger-strong)!important}details.pad{padding:var(--sp-3) var(--sp-5) var(--sp-4)}.daynav{display:flex;gap:var(--sp-2);margin:var(--sp-3) 0}.daynav .btn{flex:1 1}.jobfilter{margin:0 0 var(--sp-3)}.jobfilter summary{cursor:pointer;font-weight:600;color:var(--navy);font-size:var(--fs-base);padding:var(--sp-2) 0}.jobday{margin-bottom:var(--sp-2)}.jobday-title{font-size:var(--fs-md);text-transform:capitalize;margin:var(--sp-4) 0 var(--sp-2)}.jobcard{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1)}.jobcard.attn{border-color:#f3b4ae;border-left-color:var(--danger)}.jobcard-top{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);color:var(--navy)}.jobcard h3{margin:0;font-size:var(--fs-lg);color:var(--navy)}.jobcard-addr{color:var(--navy-3);font-size:var(--fs-base);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.jobcard-note{background:var(--warning-bg);color:var(--warning);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.jobcard .btn{align-self:flex-start;margin-top:var(--sp-1)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:linear-gradient(160deg,var(--sky) 0,#dff1f8 60%,#fff 100%);color:var(--navy);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--sp-8);text-align:center;gap:var(--sp-4)}.login-art h2{color:var(--navy);font-size:var(--fs-3xl);font-weight:800;letter-spacing:-.015em}.login-art p{color:#3b4566;max-width:360px}.login-art img{width:220px;height:220px}.login-form{display:flex;align-items:center;justify-content:center;padding:var(--sp-8);background:var(--surface)}.login-form form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--sp-4)}.login-form .logo{width:72px;height:72px;object-fit:contain;background:none}.login-form .btn{width:100%}.demo{font-size:var(--fs-xs);color:var(--muted);background:var(--bg);border-radius:var(--r);padding:var(--sp-3)}.sticky{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + var(--sp-4))}.quote-text{margin:var(--sp-3) 0;font-size:var(--fs-base);line-height:var(--lh-base)}.quote-text h2{font-size:var(--fs-md);color:var(--navy);margin:0 0 var(--sp-2)}.quote-text h3{font-size:var(--fs-base);color:var(--navy);margin:var(--sp-3) 0 2px}.quote-text p,.quote-text ul{margin:0 0 var(--sp-2)}.quote-text ul{padding-left:var(--sp-5)}.public{max-width:960px;margin:0 auto;padding:var(--sp-7) var(--sp-5) var(--sp-8)}body:has(.public){background:#f7f9fc linear-gradient(180deg,#e8f5fa,#f7f9fc 360px) no-repeat;min-height:100vh}.public-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.public-head div{display:flex;flex-direction:column;min-width:0}.public-head img{width:56px;height:56px}.public-head b{color:var(--navy);font-size:var(--fs-lg)}.public-head small{color:var(--muted)}.public-tag{margin-left:auto;background:var(--navy);color:#fff;font-weight:700;padding:var(--sp-2) var(--sp-4);border-radius:var(--r);font-size:var(--fs-sm);white-space:nowrap}.public-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-7)}.public-card h1{color:var(--navy);margin:var(--sp-1) 0;font-size:var(--fs-3xl);letter-spacing:-.015em}.public-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin:var(--sp-5) 0}.public-totals div{background:var(--sky-soft);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column}.public-totals span{color:var(--muted);font-size:var(--fs-sm);font-weight:600}.public-totals b{color:var(--navy);font-size:var(--fs-2xl)}.public-foot,.public-totals small{color:var(--muted);font-size:var(--fs-xs)}.public-foot{text-align:center;margin-top:var(--sp-5)}.public.embed{max-width:none;padding:0}.public.embed .public-card{border:0;padding:var(--sp-2) var(--sp-1);background:transparent}.terms{margin:var(--sp-4) 0;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.terms summary{font-weight:600;color:var(--navy)}.terms-body{max-height:360px;overflow-y:auto;font-size:var(--fs-sm);line-height:var(--lh-base);margin-top:var(--sp-3)}.terms-body h3{font-size:var(--fs-sm);color:var(--navy);margin:var(--sp-3) 0 var(--sp-1)}.terms-body p{margin:0 0 var(--sp-2)}.decision{margin-top:var(--sp-6)}.accept{border:2px solid var(--navy);border-radius:var(--r-lg);padding:var(--sp-5)}.accept h2{margin:0 0 var(--sp-3);color:var(--navy);font-size:var(--fs-lg)}.accept .check{display:flex;gap:var(--sp-2);align-items:flex-start;font-weight:500;color:var(--text);font-size:var(--fs-base)}.accept .check input{margin-top:3px}.decline{margin-top:var(--sp-4)}.decline form{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3);align-items:flex-start}.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin:var(--sp-5) 0}.choice a{display:flex;flex-direction:column;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-5);color:var(--text);background:var(--surface);transition:border-color var(--ease),background-color var(--ease)}.choice b{color:var(--navy);font-size:var(--fs-lg)}.choice span{color:var(--muted);font-size:var(--fs-base)}.intake h2{font-size:var(--fs-md);color:var(--navy);margin:var(--sp-5) 0 0}.intake .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.intake .seg,.seg:has(label){display:flex;flex-wrap:wrap;gap:var(--sp-2);border:0;overflow:visible}.checks label,.seg label{display:inline-flex;gap:var(--sp-2);align-items:center;min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--r);padding:0 var(--sp-4);cursor:pointer;font-weight:600;margin:0}.checks label.on,.seg label.on{border-color:var(--navy);background:var(--sky-soft)}.checks{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-1)}.intake .units{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:var(--sp-3)}.intake fieldset.house,.intake fieldset.unit{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin:0;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);background:var(--surface)}.intake fieldset.house .row,.intake fieldset.unit .row{display:flex;justify-content:space-between;align-items:center}.intake fieldset.house h3{margin:0;font-size:var(--fs-lg)}.intake .unit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.intake .linen-total{display:flex;flex-direction:column;justify-content:center;gap:2px;background:var(--sky-soft);border-radius:var(--r);padding:var(--sp-3) var(--sp-4)}.intake .step-on{display:contents}.intake .step-off{display:none}.intake .steps{display:flex;gap:var(--sp-2);list-style:none;padding:0;margin:0;flex-wrap:wrap}.intake .steps button{display:inline-flex;align-items:center;height:var(--control-h-sm);font:inherit;font-size:var(--fs-sm);font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:var(--r);padding:0 var(--sp-3);cursor:pointer}.intake .steps li.on button{background:var(--navy);border-color:var(--navy);color:#fff}.intake .steps li.done button{color:var(--navy);border-color:var(--navy)}.intake .steps button:disabled{cursor:default;opacity:.6}.intake .step-nav{display:flex;gap:var(--sp-2);justify-content:flex-end}.intake .intake-check{background:var(--sky-soft);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.intake .intake-check ul{margin:var(--sp-2) 0 0 var(--sp-5);padding:0}.intake .intake-check .visit{border-left:3px solid var(--navy);padding-left:var(--sp-3);margin:var(--sp-3) 0}.inv-lines details summary{cursor:pointer;list-style:none}.inv-lines details summary::-webkit-details-marker{display:none}.inv-lines details summary .sub:after{content:" ▾"}.inv-lines .detail{margin:var(--sp-2) 0 2px;font-size:var(--fs-xs);width:100%}.inv-lines .detail td{padding:3px var(--sp-2);border:0}.inv-totals{display:grid;grid-template-columns:1fr auto;grid-gap:var(--sp-1) var(--sp-6);gap:var(--sp-1) var(--sp-6);max-width:360px;margin-left:auto;padding:var(--sp-3) var(--sp-4)}.inv-totals .strong{font-weight:700;font-size:var(--fs-md);color:var(--navy)}.side-forms form{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);margin-bottom:var(--sp-1)}.side-forms h3{font-size:var(--fs-sm);margin:var(--sp-3) 0 var(--sp-2)}.add-line{display:grid;grid-template-columns:minmax(0,1fr) 80px 130px auto;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);align-items:center}.add-line.expense-line{grid-template-columns:140px minmax(0,1.4fr) minmax(0,1fr) 110px minmax(0,1.2fr) 120px 110px auto}.edit-row{display:flex;gap:var(--sp-2);align-items:center;border-bottom:1px solid var(--line-soft);padding:var(--sp-2) 0}.edit-row>form:first-child{flex:1 1;min-width:0}.edit-grid{grid-template-columns:1fr 1fr 1.4fr 1fr 130px auto auto;grid-gap:var(--sp-2)}.edit-grid,.loc-grid{display:grid;gap:var(--sp-2);align-items:center}.loc-grid{grid-template-columns:1fr 1.4fr 80px 1fr 70px;grid-gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft)}.loc-grid .span2{grid-column:span 3}.new-row{padding-top:var(--sp-3)}.user-grid{grid-template-columns:1fr 1.4fr 150px 130px auto;grid-gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.rate-grid,.user-grid{display:grid;gap:var(--sp-2);align-items:center}.rate-grid{grid-template-columns:1.4fr 130px repeat(7,minmax(60px,1fr)) auto;grid-gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--line-soft)}.add-line>*,.edit-grid>*,.loc-grid>*,.rate-grid>*,.user-grid>*{min-width:0}.add-line .btn,.edit-grid .btn,.loc-grid .btn,.rate-grid .btn{white-space:nowrap}.param-group{border:0;padding:0;margin:0 0 var(--sp-4)}.param-group legend{font-weight:700;font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-2)}.param-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:var(--sp-3) var(--sp-4);gap:var(--sp-3) var(--sp-4)}.param-grid label{display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:3px}.param-grid input,.param-grid select{width:100%}.param-group[disabled] input,.param-group[disabled] select{background:transparent}.portal{max-width:980px;margin:0 auto;padding:var(--sp-4)}.portal-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0 var(--sp-4);border-bottom:1px solid var(--line);margin-bottom:var(--sp-4);flex-wrap:wrap}.portal-head>div{min-width:0}.portal-head img{width:40px;height:40px}.portal-head b{color:var(--navy);display:block}.portal-head nav{display:flex;gap:var(--sp-1);margin-left:auto;flex-wrap:wrap}.portal-head nav a{display:inline-flex;align-items:center;height:var(--control-h-sm);padding:0 var(--sp-3);border-radius:var(--r);font-weight:600;color:var(--navy)}.portal-head nav a.on{background:var(--sky-soft)}.cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.cat-tile{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4);background:var(--surface)}.cat-tile b{color:var(--navy);display:block;margin-bottom:var(--sp-1)}.thread{display:flex;flex-direction:column;gap:var(--sp-2)}.msg{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--line-soft);border:1px solid transparent;max-width:85%;font-size:var(--fs-sm);white-space:pre-wrap;margin-bottom:var(--sp-2)}.msg.mine{margin-left:auto;background:var(--sky-soft)}.msg.dsb{align-self:flex-end;background:#e6ecf8}.msg.internal{background:var(--warning-bg);border-style:dashed;border-color:#e7c98f}.msg.system{background:var(--line-soft);max-width:100%}.msg .meta{font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-1)}.msg .body{white-space:pre-wrap}.msg small{display:block;color:var(--muted);font-size:var(--fs-2xs);margin-bottom:2px}.chat{display:flex;flex-direction:column;gap:var(--sp-2);max-height:60vh;overflow-y:auto;padding:var(--sp-1);scroll-behavior:auto}.chat .msg{max-width:86%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-base);margin:0}.chat .msg.mine{align-self:flex-end;background:var(--info-bg);border-color:#cfe0ee}.chat .msg.sys{align-self:center;max-width:100%;background:transparent;border:0;color:var(--muted);font-size:var(--fs-xs);text-align:center;padding:var(--sp-1) var(--sp-2)}.chat .msg.sys .msg-links{justify-content:center}.chat .msg.probleem{border-color:var(--danger-strong);background:var(--danger-bg)}.chat .msg.wijziging{border-color:var(--warning);background:var(--warning-bg)}.chat .msg.foto{align-self:flex-start;background:var(--surface)}.chat .msg small{display:block;color:var(--muted);font-size:var(--fs-2xs);margin-top:2px}.chat .hint{display:block;margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--warning)}.chat .chat-day{font-weight:700;text-transform:capitalize}.chat .msg-author{display:block;font-size:var(--fs-xs);color:var(--navy);margin-bottom:2px}.chat-new{display:flex;align-items:center;gap:var(--sp-2);color:var(--danger-strong);font-size:var(--fs-xs);font-weight:700;margin:var(--sp-1) 0}.chat-new:after,.chat-new:before{content:"";flex:1 1;height:1px;background:#f3b4ae}.msg-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-1);gap:var(--sp-1);margin-top:var(--sp-2)}.msg-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);display:block}.msg-links{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-1);font-size:var(--fs-sm)}.chat-quick{display:flex;gap:var(--sp-2);overflow-x:auto;scrollbar-width:none;padding:var(--sp-2) 0 var(--sp-1)}.chat-quick::-webkit-scrollbar{display:none}.chat-quick .chip{flex:0 0 auto}.chat-composer textarea{resize:none}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-6) var(--sp-4);border:2px dashed var(--line-strong);border-radius:var(--r-md);cursor:pointer;text-align:center;position:relative;background:var(--surface)}.dropzone.over{border-color:var(--navy);background:var(--sky-soft)}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.be-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:74px;grid-gap:var(--sp-2);gap:var(--sp-2);max-width:640px}.be-map a{border-radius:var(--r);padding:var(--sp-2);font-size:var(--fs-xs);font-weight:600;color:var(--navy);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;min-width:0}.be-map a small{font-weight:500;color:var(--muted)}.be-map a.on{outline:2px solid var(--navy)}.be-map .h3{background:#dff3e6}.be-map .h2{background:#fff4d6}.be-map .h1{background:#f3f4f7}.chain{display:flex;gap:var(--sp-2);flex-wrap:wrap}.chain>div{flex:1 1;min-width:120px;border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-3)}.chain>div strong{display:block;font-size:var(--fs-xl)}.chain .est{border-style:dashed}.mobile{max-width:520px;margin:0 auto;padding:var(--sp-5) var(--sp-4) calc(96px + env(safe-area-inset-bottom))}body:has(.mobile){background:#f7f9fc linear-gradient(180deg,#e8f5fa,#f7f9fc 280px) no-repeat;min-height:100vh}.mobile-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.mobile-head img{width:44px;height:44px}.mobile-head b{color:var(--navy);display:block}.mobile-head form{margin-left:auto}.job{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);margin-bottom:var(--sp-3)}.job h3{margin:0 0 2px;color:var(--navy);font-size:var(--fs-lg)}.job .when{font-weight:700;color:var(--navy);font-size:var(--fs-md)}.job .note{background:var(--warning-bg);color:var(--warning);border-radius:var(--r);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);margin:var(--sp-2) 0}.job .btn{width:100%;min-height:var(--control-h-lg);font-size:var(--fs-lg);margin-top:var(--sp-3)}.job .running{color:var(--success);font-weight:700}.mtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-2);gap:var(--sp-2);margin:0 0 var(--sp-4)}.mtabs a{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:var(--sp-2);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--navy);font-weight:700;font-size:var(--fs-base);line-height:1.2}.mtabs a.on{background:var(--navy);color:#fff;border-color:var(--navy)}.mtabs .bell-count{top:var(--sp-1);right:var(--sp-2)}.bigacts{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-2);gap:var(--sp-2);margin-top:var(--sp-3)}.bigacts .btn,.bigacts a.btn{width:100%;min-height:var(--control-h-lg);padding:0 var(--sp-2);font-size:var(--fs-md);margin:0}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:var(--sp-2);gap:var(--sp-2)}.photos figure{margin:0;font-size:var(--fs-2xs)}.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);display:block}.status-pick{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-2);gap:var(--sp-2)}.status-pick label{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--control-h-lg);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:0 var(--sp-4);cursor:pointer;font-weight:600;background:#fff;margin:0}.status-pick label:has(input:checked){border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:var(--sky-soft)}.sigpad canvas{width:100%;height:170px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:#fff;touch-action:none;display:block;margin-bottom:var(--sp-2)}.wo-sig{max-width:260px;border:1px solid var(--line);border-radius:var(--r);background:#fff}.menu-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 var(--sp-4);overflow:hidden}.menu-list,.menu-list a{display:flex;flex-direction:column}.menu-list a{gap:2px;padding:var(--sp-3) var(--sp-4);min-height:56px;justify-content:center;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line-soft)}.menu-list a:last-child{border-bottom:0}.menu-list a:active{background:var(--sky-soft)}.menu-list small{color:var(--muted);font-size:var(--fs-sm)}.brand-bell,.cbar,.mbar{display:none}.fbar,.mbar.fbar{display:flex}.mbar{position:fixed;z-index:60;left:0;right:0;bottom:0;justify-content:space-around;align-items:stretch;background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--line);padding:var(--sp-1) var(--sp-1) calc(var(--sp-1) + env(safe-area-inset-bottom))}.mbar a,.mbar label{position:relative;flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;padding:var(--sp-1) 2px;margin:0;border-radius:var(--r-md);color:#5b6380;font-size:var(--fs-xs);font-weight:600;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.mbar svg{display:block;padding:2px 14px;box-sizing:content-box;border-radius:var(--r-full)}.mbar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mbar a.on,.mbar label.on{color:var(--navy)}.mbar a.on svg{background:var(--sky)}.mbar-count{top:2px;left:calc(50% + 6px)}.fbar{max-width:520px;margin:0 auto;border-radius:0}.ds-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.ds-swatches div{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;grid-column-gap:var(--sp-2);column-gap:var(--sp-2);align-items:center;font-size:var(--fs-sm)}.ds-swatches span{grid-row:span 2;width:36px;height:36px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line)}.ds-space code,.ds-swatches code{color:var(--muted);font-size:var(--fs-xs)}.ds-space{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:flex-end}.ds-space div{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.ds-space span{background:var(--sky);border-radius:2px;display:block}@media (hover:hover){a.link:hover{text-decoration:underline;text-underline-offset:2px}.nav-item:not(.active):hover{background:var(--sky-soft);color:var(--navy)}.nav-toggle:hover{background:var(--sky-soft)}.nav-toggle.here:hover{background:none}.bell:hover{background:var(--sky-soft)}.crumbs a:hover{color:var(--navy)}.autocrumbs a:hover{color:var(--navy);text-decoration:underline}.flow li a:hover{color:var(--navy)}.btn:not(:disabled):hover{background:var(--sky-soft);border-color:var(--navy-3)}.btn-primary:not(:disabled):hover{background:var(--navy-3);border-color:var(--navy-3)}.btn-success:hover{background:#17663f;border-color:#17663f}.btn-danger:hover{background:#a61f1f;border-color:#a61f1f}input:not(:focus):not(:disabled):not(.invalid):hover,select:not(:focus):not(:disabled):hover,textarea:not(:focus):not(:disabled):hover{border-color:#9aa3b2}.chip:not(.on):hover{border-color:var(--navy-3);color:var(--navy)}tbody tr:hover{background:#f6fafc}.tabs a:not(.on):hover{color:var(--navy);border-bottom-color:var(--line-strong)}details>summary:not(.btn):hover{background:var(--sky-soft)}.inv-lines details>summary:hover{background:none}.focus-tile:hover{background:var(--sky-soft)}.choice a:hover,.quick a:hover{border-color:var(--navy-3);background:var(--sky-soft)}.portal-head nav a:hover{background:var(--sky-soft)}.cat-tile:hover{border-color:var(--navy-3)}.menu-list a:hover{background:var(--sky-soft)}}@media (min-width:560px){.fbar{left:50%;transform:translateX(-50%);width:520px;border:1px solid var(--line);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0}}@media (max-width:1200px){:root{--content-pad-x:24px}.focus-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.rate-grid{grid-template-columns:1fr 1fr 1fr}.add-line.expense-line{grid-template-columns:1fr 1fr}}@media (min-width:761px) and (max-width:1024px){.card table:not(.kv){display:block;max-width:100%;overflow-x:auto}}@media (max-width:1024px){.nav-item span{min-width:0;overflow-wrap:anywhere}:root{--sidebar-w:224px}.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g21{grid-template-columns:minmax(0,1fr)}.form-grid.g3cols{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-grid,.loc-grid,.user-grid{grid-template-columns:1fr 1fr}.loc-grid .span2{grid-column:1/-1}.edit-row{flex-direction:column;align-items:stretch}.plan{overflow-x:auto;grid-template-columns:140px repeat(7,minmax(96px,1fr))}}@media (max-width:760px){.link-btn{min-height:40px;display:inline-flex;align-items:center}:root{--control-h:44px;--control-h-sm:40px;--control-h-lg:52px;--nav-h:44px;--tab-h:44px;--content-pad-x:16px;--radius:var(--r-md)}body{font-size:var(--fs-md)}.public-card h1,h1{font-size:var(--fs-xl)}.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:auto;border-right:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}.sidebar .brand{padding:calc(var(--sp-2) + env(safe-area-inset-top)) var(--sp-4) var(--sp-2)}.sidebar .brand img{width:36px;height:36px}.sidebar .brand b{font-size:var(--fs-md)}.brand-bell{display:inline-flex;position:relative;margin-left:auto;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-full);color:var(--navy);flex:none}.brand-bell:active{background:var(--sky-soft)}.brand-bell .bell-count{top:4px;right:2px}.nav-check:not(:checked)~.nav-wrap,.nav-check:not(:checked)~.user-box{display:none}.sidebar:has(.nav-check:checked){position:fixed;inset:0 0 calc(63px + env(safe-area-inset-bottom)) 0;display:flex;flex-direction:column;overflow:hidden}.nav-check:checked~.nav-wrap{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--sp-1) var(--sp-3)}.nav-check:checked~.user-box{display:flex}.shell:has(.nav-check:checked) .mbar-more{color:var(--navy)}.shell:has(.nav-check:checked) .mbar a.on svg{background:none}body:has(.nav-check:checked){overflow:hidden}.nav-find{height:var(--control-h);font-size:var(--fs-lg)}.topbar{display:none}.cbar,.mbar{display:flex}.content{padding:var(--sp-4) var(--content-pad-x) calc(96px + env(safe-area-inset-bottom))}.portal{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.portal-head{flex-wrap:nowrap}.portal-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-head nav{flex-wrap:nowrap}.portal-head nav a{display:none}html{scroll-padding-top:64px}.page-header{align-items:stretch;flex-direction:column;margin-bottom:var(--sp-4)}.page-header>div:first-child{flex:none}.page-header .actions{width:100%}.page-header .actions>.btn,.page-header .actions>a.btn,.page-header .actions>form{flex:1 1 auto}.page-header .actions>form .btn{width:100%}.autocrumbs,.page-header .crumbs{display:none}.backlink{display:inline-flex;align-items:center;min-height:40px;font-weight:700;color:var(--navy);font-size:var(--fs-md)}.g2,.g21,.g3,.g4,.grid.g2,.grid.g3,.grid.g4{grid-template-columns:minmax(0,1fr)}.grid:has(>.kpi){grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid:has(>.kpi)>.kpi:last-child:nth-child(odd){grid-column:1/-1}.card.kpi,.kpi{padding:var(--sp-3)}.kpi-value{font-size:var(--fs-2xl)}.kpi-value.kpi-long{font-size:var(--fs-lg)}.focus-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-tiles>.focus-tile:last-child:nth-child(odd){grid-column:1/-1}.focus-next .btn{margin-left:0}.card{padding:var(--sp-4)}.card.flush .card-head{padding:var(--sp-3) var(--sp-4) 0}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.msg{max-width:100%}.bars{gap:var(--sp-1)!important}.bars:has(>.bar:nth-child(6)) .bar-val{display:none}.bar-label{font-size:var(--fs-2xs)}table.as-cards,table.as-cards tbody,table.as-cards tfoot{display:block;width:100%}table.as-cards thead{display:none}table.as-cards tr{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-2)}table.as-cards tbody tr:hover,table.as-cards tr{background:var(--surface)}table.as-cards td{display:grid;grid-template-columns:fit-content(42%) minmax(0,1fr);grid-column-gap:var(--sp-3);column-gap:var(--sp-3);justify-items:end;align-items:baseline;padding:var(--sp-1) 0;border:0;text-align:right;min-width:0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}table.as-cards td:before{content:attr(data-label);grid-column:1;grid-row:1/span 12;align-self:start;color:var(--muted);font-size:var(--fs-sm);font-weight:600;text-align:left;overflow-wrap:break-word}table.as-cards td>*{grid-column:2;min-width:0;max-width:100%}table.as-cards td,table.as-cards td *,table.as-cards td.num{white-space:normal}table.as-cards td .num,table.as-cards td.num>b{white-space:nowrap}table.as-cards td[data-label=""]:before{display:none}table.as-cards td[data-label=""]{grid-template-columns:minmax(0,1fr)}table.as-cards td[data-label=""]>*{grid-column:1}table.as-cards td:first-child{display:block;text-align:left;font-size:var(--fs-md);font-weight:700;color:var(--navy);padding-bottom:var(--sp-2);margin-bottom:var(--sp-1);border-bottom:1px solid var(--line-soft)}table.as-cards td:first-child:before{display:none}table.as-cards td:first-child .sub,table.as-cards td:first-child small{display:block;font-weight:500;font-size:var(--fs-sm);color:var(--muted)}table.as-cards td:empty{display:none}table.as-cards td:has(>.btn,>form,>.actions){display:block;text-align:left;padding-top:var(--sp-2)}table.as-cards td:has(>.btn,>form,>.actions):before{display:none}table.as-cards td>.btn,table.as-cards td>form .btn{width:100%}.card.flush:has(table.as-cards){background:transparent;border:0;overflow:visible}.card.flush:has(table.as-cards) .table-wrap{padding:0;overflow:visible}.card.flush:has(table.as-cards) .card-head{padding:0 0 var(--sp-1)}.card.flush:has(table.as-cards)>.card-head+.table-wrap{border-top:0}input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range]),select,textarea{font-size:var(--fs-lg)}.fields,.form-grid,.form-grid.g3cols{grid-template-columns:minmax(0,1fr)!important}.filters input,.filters select{max-width:none;flex:1 1 140px}.card table:not(.as-cards):not(.kv){display:block;max-width:100%;overflow-x:auto}.filters>label{flex:1 1 100%}.filters>label input,.filters>label select{width:100%}.timeline li form{display:block;margin:var(--sp-1) 0 0!important}.card ul:not(.list):not(.timeline):not(.nav-list){padding-left:var(--sp-5)}td.num{white-space:normal}td .num,td.num b{white-space:nowrap}form .actions .btn-primary,form>.btn-primary,form>button.btn:only-of-type{width:100%}input[type=checkbox],input[type=radio]{width:20px;height:20px}input,select,textarea{scroll-margin-bottom:96px}.add-line{grid-template-columns:1fr 1fr}.add-line input[name=description]{grid-column:1/-1}.add-line.expense-line{grid-template-columns:1fr 1fr}.edit-grid,.loc-grid,.rate-grid,.user-grid{grid-template-columns:minmax(0,1fr)}.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-left:calc(-1 * var(--content-pad-x));margin-right:calc(-1 * var(--content-pad-x));padding:0 var(--content-pad-x)}.tabs::-webkit-scrollbar{display:none}.tabs a{flex:0 0 auto}.flow{padding:var(--sp-2);gap:var(--sp-2)}.flow-title{width:100%}.flow-pos{display:inline}.flow li:not(.on) a{font-size:var(--fs-xs)}.flow ol{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%}.flow ol::-webkit-scrollbar{display:none}.flow li{flex:0 0 auto}.flow-next{margin-left:0;width:100%;display:flex;align-items:center;justify-content:center;height:var(--control-h);border-radius:var(--r);background:var(--navy);color:#fff}.jobcard .btn{align-self:stretch}.chat{max-height:none;min-height:40dvh}.chat .msg{max-width:88%;font-size:var(--fs-md)}.chat-composer{position:-webkit-sticky;position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:5;background:rgba(255,255,255,.97);padding:var(--sp-2);margin:0 calc(-1 * var(--sp-2));border-radius:var(--r-md);border:1px solid var(--line)}.chat-composer .muted{display:none}.intake .step-nav .btn{flex:1 1}.toast{bottom:calc(76px + env(safe-area-inset-bottom))}.login-wrap{grid-template-columns:1fr}.login-art{display:none}.login-form{padding:var(--sp-7) var(--sp-5);align-items:flex-start}.public{padding:var(--sp-5) var(--sp-4) var(--sp-7)}.public-card{padding:var(--sp-5)}.public-head small{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.skel,.toast,[data-busy]:after{animation:none}}