:root{--bg:var(--lightningcss-light,#f5f7fa)var(--lightningcss-dark,#0b1020);--card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#121a2e);--sunk:var(--lightningcss-light,#f0f3f8)var(--lightningcss-dark,#18213a);--raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a2440);--hover:var(--lightningcss-light,#f6f8fc)var(--lightningcss-dark,#1c2643);--press:var(--lightningcss-light,#eef2f8)var(--lightningcss-dark,#222d4d);--scrim:var(--lightningcss-light,#141b3361)var(--lightningcss-dark,#02050e9e);--glass:var(--lightningcss-light,#ffffffdb)var(--lightningcss-dark,#121a2ed6);--ink:var(--lightningcss-light,#141b33)var(--lightningcss-dark,#e9edf7);--ink-2:var(--lightningcss-light,#3a4562)var(--lightningcss-dark,#c3cadc);--muted:var(--lightningcss-light,#5e6886)var(--lightningcss-dark,#97a2be);--faint:var(--lightningcss-light,#8a93ab)var(--lightningcss-dark,#6c7795);--line:var(--lightningcss-light,#e4e8f0)var(--lightningcss-dark,#222c46);--line-2:var(--lightningcss-light,#d3d9e4)var(--lightningcss-dark,#2e3a58);--line-3:var(--lightningcss-light,#bcc4d4)var(--lightningcss-dark,#3d4a6c);--blue:var(--lightningcss-light,#0a5ca8)var(--lightningcss-dark,#5aa6f0);--blue-2:var(--lightningcss-light,#084b8a)var(--lightningcss-dark,#86bef5);--blue-soft:var(--lightningcss-light,#eaf2fb)var(--lightningcss-dark,#5aa6f024);--blue-line:var(--lightningcss-light,#c9ddf2)var(--lightningcss-dark,#5aa6f057);--navy:var(--lightningcss-light,#1b2a6b)var(--lightningcss-dark,#34479b);--navy-text:var(--lightningcss-light,#1b2a6b)var(--lightningcss-dark,#b9c5f2);--navy-soft:var(--lightningcss-light,#eceef6)var(--lightningcss-dark,#788ce129);--green:#8cc63f;--green-2:var(--lightningcss-light,#7db733)var(--lightningcss-dark,#9dd252);--green-bar:var(--lightningcss-light,#6aae2a)var(--lightningcss-dark,#7fc23d);--green-text:var(--lightningcss-light,#3a7a1e)var(--lightningcss-dark,#a6da68);--green-soft:var(--lightningcss-light,#eff7e5)var(--lightningcss-dark,#8cc63f26);--amber:var(--lightningcss-light,#c98a00)var(--lightningcss-dark,#e8b341);--amber-text:var(--lightningcss-light,#8a5a00)var(--lightningcss-dark,#f2c869);--amber-soft:var(--lightningcss-light,#fff4db)var(--lightningcss-dark,#e8b34126);--amber-line:var(--lightningcss-light,#f1dfaf)var(--lightningcss-dark,#e8b34157);--red:var(--lightningcss-light,#c8281d)var(--lightningcss-dark,#f2675d);--red-2:var(--lightningcss-light,#a61f16)var(--lightningcss-dark,#f68e86);--red-soft:var(--lightningcss-light,#fdecea)var(--lightningcss-dark,#f2675d26);--red-line:var(--lightningcss-light,#edb8b3)var(--lightningcss-dark,#f2675d66);--primary:var(--blue);--primary-2:var(--blue-2);--on-primary:var(--lightningcss-light,#fff)var(--lightningcss-dark,#06132a);--on-navy:#fff;--gold-bg:var(--lightningcss-light,#f6e7b4)var(--lightningcss-dark,#e6be4633);--gold-ink:var(--lightningcss-light,#7a5a00)var(--lightningcss-dark,#f0cf6a);--silver-bg:var(--lightningcss-light,#e4e8ef)var(--lightningcss-dark,#bec8dc29);--silver-ink:var(--lightningcss-light,#3a4562)var(--lightningcss-dark,#cbd3e6);--bronze-bg:var(--lightningcss-light,#f1d9c4)var(--lightningcss-dark,#d78c5033);--bronze-ink:var(--lightningcss-light,#7a4318)var(--lightningcss-dark,#ebb088);--f-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--f-display:"Bricolage Grotesque","Arial Black",system-ui,sans-serif;--f-mono:"DM Mono",ui-monospace,Consolas,monospace;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:28px;--fs-3xl:30px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--r-xs:6px;--r-sm:8px;--r-md:10px;--r:12px;--r-lg:16px;--r-xl:20px;--r-full:999px;--radius:var(--r);--sh-a:var(--lightningcss-light,#141b330d)var(--lightningcss-dark,#00000059);--sh-b:var(--lightningcss-light,#141b332e)var(--lightningcss-dark,#0009);--sh-c:var(--lightningcss-light,#141b3352)var(--lightningcss-dark,#000000bf);--shadow:0 1px 2px var(--sh-a);--shadow-1:0 1px 3px var(--sh-a), 0 1px 2px var(--sh-a);--shadow-2:0 10px 28px -10px var(--sh-b), 0 2px 6px -2px var(--sh-a);--shadow-3:0 28px 64px -22px var(--sh-c), 0 4px 12px -4px var(--sh-a);--ring:0 0 0 3px var(--blue-soft);--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--t-1:.12s;--t-2:.2s;--t-3:.32s;--z-sticky:40;--z-scrim:45;--z-drawer:50;--z-popover:60;--z-toast:80;--gut-l:max(16px,env(safe-area-inset-left,0px));--gut-r:max(16px,env(safe-area-inset-right,0px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=system]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--bg);color:var(--ink);font:var(--fs-base)/1.5 var(--f-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;min-height:100vh;margin:0}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--blue-2)}h1,h2,h3,h4{color:var(--ink);text-wrap:balance;margin:0}h1{font:800 var(--fs-3xl)/1.05 var(--f-display);font-variation-settings:"wdth" 86;letter-spacing:-.02em}h2{font:650 var(--fs-lg)/1.3 var(--f-body);letter-spacing:-.005em}h3{font:650 var(--fs-base)/1.3 var(--f-body)}h4{font:650 var(--fs-md)/1.3 var(--f-body)}p{margin:0}b,strong{font-weight:650}code{font-family:var(--f-mono);font-size:13px}hr{border:0;border-top:1px solid var(--line);margin:0}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}::selection{background:var(--blue-soft)}img,svg{-webkit-user-drag:none}a,button,input,select,textarea,label,summary,[role=button]{touch-action:manipulation}svg{flex:none}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.mono{font:500 var(--fs-xs)/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}.num{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sr{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.text-ok{color:var(--green-text)}.text-warn{color:var(--amber-text)}.text-err{color:var(--red)}.mt-0{margin-top:0}.mb-4{margin-bottom:var(--s-4)}.mb-5{margin-bottom:var(--s-5)}.narrow{max-width:720px}.w-form{max-width:760px}.stack{gap:var(--s-4);align-content:start;display:grid}.stack-sm{gap:var(--s-2);align-content:start;display:grid}.cluster{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.cards{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));display:grid}.grid-2{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;display:grid}.grid-3{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start;display:grid}.grid-3-1{gap:var(--s-4);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=1000px){.grid-3-1{grid-template-columns:1fr}}.list{display:grid}.list>*{padding:var(--s-3) 0;border-top:1px solid var(--line)}.list>:first-child{border-top:0;padding-top:0}.list>:last-child{padding-bottom:0}.topbar,.bottombar,.side nav,.tabs,.btn,.month-switch,.chip,.lvl,.place,.segmented,.icon-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media (display-mode:standalone){html,body{overscroll-behavior-y:none}}html.no-scroll{overflow:hidden}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.16s}::view-transition-new(root){animation-duration:.16s}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes gc-spin{to{transform:rotate(360deg)}}@keyframes gc-fade{0%{opacity:0}}@keyframes gc-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes gc-rise{0%{opacity:0;transform:translateY(12px)}}@keyframes gc-sheet{0%{transform:translateY(100%)}}@keyframes gc-slide{0%{transform:translate(100%)}}@keyframes gc-shimmer{to{background-position:-200% 0}}.shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.main{width:100%;min-width:0;max-width:1320px;padding:28px clamp(16px,3vw,40px) 64px}.side{gap:var(--s-1);background:var(--card);border-right:1px solid var(--line);overscroll-behavior:contain;flex-direction:column;height:100vh;padding:18px 12px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.side-top{justify-content:space-between;align-items:center;gap:var(--s-2);padding:2px 4px 18px 10px;display:flex}.side .brand{align-items:center;display:flex}.side .brand img{width:auto;height:26px}.logo-dark,:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:block}@media (prefers-color-scheme:dark){:root[data-theme=system] .logo-light{display:none}:root[data-theme=system] .logo-dark{display:block}}.side nav{gap:2px;display:grid}.nav-label{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:14px 10px 6px;font-size:11px;font-weight:650}.side nav a{border-radius:var(--r-sm);color:var(--ink-2);transition:background-color var(--t-1),color var(--t-1),transform var(--t-1);align-items:center;gap:10px;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.side nav a svg{width:18px;height:18px;color:var(--faint)}.side nav a:hover{background:var(--hover);color:var(--ink)}.side nav a:active{transform:scale(.98)}.side nav a[aria-current=page]{background:var(--navy);color:var(--on-navy)}.side nav a[aria-current=page] svg{color:var(--on-navy)}.side nav a .count{margin-left:auto}.side nav a[aria-current=page] .count{background:var(--on-navy);color:var(--navy)}.side-foot{padding-top:var(--s-3);border-top:1px solid var(--line);margin-top:auto}.me-btn{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r-md);width:100%;font-size:var(--fs-sm);align-items:center;gap:10px;padding:8px 10px;display:flex}.me-btn:hover,.me-btn[aria-expanded=true]{background:var(--hover)}.me-btn:focus-visible{outline:2px solid var(--blue)}.me-btn>span:not(.avatar){flex:1;min-width:0;display:grid}.me-btn b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.me-btn small{color:var(--muted);font-size:var(--fs-xs)}.me-btn>svg{width:16px;height:16px;color:var(--faint)}.topbar{display:none}@media (width<=900px){.shell{grid-template-columns:1fr}.side{width:min(86vw,300px);z-index:var(--z-drawer);height:auto;transition:transform var(--t-2) var(--ease-out);box-shadow:var(--shadow-3);padding-top:calc(18px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.side.open{transform:none}.side nav a{padding:12px 10px}.side-top .bell-wrap{display:none}.topbar{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--s-3);padding:calc(8px + env(safe-area-inset-top,0px)) var(--gut-r) 8px var(--gut-l);background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);border-bottom:1px solid var(--line);view-transition-name:gc-topbar;display:flex;position:sticky;top:0}.topbar .brand img{width:auto;height:32px}.topbar .cluster{gap:var(--s-1)}.scrim{z-index:var(--z-scrim);background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:gc-fade var(--t-2);position:fixed;inset:0}.main{padding:20px var(--gut-r) calc(96px + env(safe-area-inset-bottom,0px)) var(--gut-l)}h1{font-size:26px}.bottombar{z-index:var(--z-sticky);background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);border-top:1px solid var(--line);padding:6px var(--gut-r) calc(6px + env(safe-area-inset-bottom,0px)) var(--gut-l);view-transition-name:gc-bottombar;display:flex;position:fixed;bottom:0;left:0;right:0}.bottombar a,.bottombar button{all:unset;box-sizing:border-box;border-radius:var(--r-sm);cursor:pointer;min-width:0;color:var(--muted);font:500 11px/1.2 var(--f-body);text-align:center;flex:1;justify-items:center;gap:3px;padding:6px 2px 4px;display:grid;position:relative}.bottombar span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottombar svg{width:22px;height:22px;transition:transform var(--t-1) var(--ease)}.bottombar a:active svg,.bottombar button:active svg{transform:scale(.88)}.bottombar [aria-current]{color:var(--navy-text);font-weight:650}.bottombar [aria-current]:after{content:"";background:currentColor;border-radius:2px;width:18px;height:2px;position:absolute;bottom:0}.bottombar :focus-visible{outline:2px solid var(--blue)}.bottombar .count{position:absolute;top:1px;left:calc(50% + 5px)}}@media (width>=901px){.side .close,.bottombar,.scrim{display:none!important}}.side .close{top:calc(12px + env(safe-area-inset-top,0px));position:absolute;right:10px}.page-head,.main>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:24px;display:flex}.page-head>div:first-child{gap:6px;min-width:0;display:grid}.page-head h1{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.page-head p,.main>header p{color:var(--muted)}.page-head .actions{flex-wrap:wrap}.crumb{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:6px;display:flex}.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--ink);text-decoration:underline}.crumb svg{width:14px;height:14px;color:var(--faint)}@media (width<=600px){.page-head,.main>header{align-items:stretch}.page-head>.actions{width:100%}.page-head>.actions>.btn,.page-head>.actions>form,.main>header>.actions .btn{flex:auto}.page-head>.actions>form .btn{width:100%}.page-head>.month-switch{justify-content:space-between;width:100%}}.guest{min-height:100vh;padding:calc(24px + env(safe-area-inset-top,0px)) var(--gut-r) calc(24px + env(safe-area-inset-bottom,0px)) var(--gut-l);background:var(--bg);align-content:center;place-items:center;gap:20px;display:grid}.guest>img{width:auto;height:30px}.guest .box{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);width:min(100%,400px);box-shadow:var(--shadow-2);gap:18px;padding:28px;display:grid}.guest .box h1{font-size:24px}.guest .links{font-size:var(--fs-sm);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.btn{--btn-bg:var(--card);--btn-fg:var(--ink);--btn-bd:var(--line-2);border-radius:var(--r-sm);background:var(--btn-bg);min-height:40px;color:var(--btn-fg);box-shadow:inset 0 0 0 1px var(--btn-bd);font:600 var(--fs-md)/1.2 var(--f-body);cursor:pointer;white-space:nowrap;transition:background-color var(--t-1),box-shadow var(--t-1),color var(--t-1),transform var(--t-1) var(--ease);border:0;justify-content:center;align-items:center;gap:8px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn:hover{color:var(--btn-fg)}.btn:active{transform:scale(.97)}.btn svg{width:16px;height:16px}.btn-primary{--btn-bg:var(--primary);--btn-fg:var(--on-primary);--btn-bd:transparent}.btn-primary:hover{--btn-bg:var(--primary-2)}.btn-green{--btn-bg:var(--green);--btn-fg:#141b33;--btn-bd:transparent}.btn-green:hover{--btn-bg:var(--green-2)}.btn-secondary{--btn-bg:var(--blue-soft);--btn-fg:var(--blue-2);--btn-bd:transparent}.btn-secondary:hover{--btn-bd:var(--blue-line)}.btn-ghost:hover{--btn-bg:var(--hover);--btn-bd:var(--line-3)}.btn-quiet{--btn-bg:transparent;--btn-bd:transparent;--btn-fg:var(--ink-2)}.btn-quiet:hover{--btn-bg:var(--hover);--btn-fg:var(--ink)}.btn-danger{--btn-fg:var(--red);--btn-bd:var(--red-line)}.btn-danger:hover{--btn-bg:var(--red-soft)}.btn-danger-solid{--btn-bg:var(--red);--btn-fg:#fff;--btn-bd:transparent}.btn-danger-solid:hover{--btn-bg:var(--red-2)}.btn-link{--btn-bg:transparent;--btn-bd:transparent;--btn-fg:var(--blue);min-height:0;padding:0;font-weight:600}.btn-link:hover{--btn-fg:var(--blue-2);text-decoration:underline}.btn-sm{min-height:34px;font-size:var(--fs-sm);padding:7px 12px}.btn-lg{min-height:48px;font-size:var(--fs-base);padding:12px 22px}.btn-block{width:100%}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.btn.is-busy{pointer-events:none;opacity:.75}.btn.is-busy:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite gc-spin}.icon-btn{all:unset;box-sizing:border-box;border-radius:var(--r-md);width:40px;height:40px;color:var(--ink-2);cursor:pointer;transition:background-color var(--t-1),color var(--t-1),transform var(--t-1);place-items:center;display:inline-grid;position:relative}.icon-btn:hover,.icon-btn[aria-expanded=true]{background:var(--hover);color:var(--ink)}.icon-btn:active{transform:scale(.94)}.icon-btn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.icon-btn svg{width:20px;height:20px}.icon-btn.sm{border-radius:var(--r-sm);width:32px;height:32px}.icon-btn.sm svg{width:16px;height:16px}.icon-btn .dot{border-radius:var(--r-full);background:var(--red);color:#fff;min-width:18px;height:18px;font:700 10px/18px var(--f-body);text-align:center;box-shadow:0 0 0 2px var(--card);padding:0 5px;position:absolute;top:4px;right:4px}.actions{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.actions.end{justify-content:flex-end}.actions form{margin:0}@media (width<=600px){.btn{min-height:44px}.btn-sm{min-height:38px}}.icon-btn.danger{color:var(--red)}.icon-btn.danger:hover{background:var(--red-soft);color:var(--red)}.chip,.badge{--tone-bg:var(--sunk);--tone-fg:var(--ink-2);border-radius:var(--r-xs);font-size:var(--fs-xs);background:var(--tone-bg);color:var(--tone-fg);white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;padding:3px 9px;font-weight:600;line-height:1.4;display:inline-flex}.chip svg,.badge svg{width:12px;height:12px}.tone-info,.chip.nieuw,.chip.lead,.chip.event,.chip.behouden{--tone-bg:var(--blue-soft);--tone-fg:var(--blue-2)}.tone-warning,.chip.contact,.chip.battle{--tone-bg:var(--amber-soft);--tone-fg:var(--amber-text)}.tone-brand,.chip.uitgenodigd{--tone-bg:var(--navy-soft);--tone-fg:var(--navy-text)}.tone-success,.chip.actief,.chip.creator,.chip.ok,.chip.afspraak,.chip.gestegen{--tone-bg:var(--green-soft);--tone-fg:var(--green-text)}.tone-danger,.chip.afgewezen,.chip.gestopt,.chip.err,.chip.gedaald{--tone-bg:var(--red-soft);--tone-fg:var(--red)}.badge.outline{box-shadow:inset 0 0 0 1px var(--line-2);background:0 0}.badge.pill{border-radius:var(--r-full)}.count{border-radius:var(--r-full);background:var(--primary);min-width:20px;color:var(--on-primary);font:600 11px/1 var(--f-body);place-items:center;padding:4px 6px;font-style:normal;display:inline-grid}.lvl{background:var(--navy);min-width:26px;height:26px;color:var(--on-navy);font:700 13px/1 var(--f-body);font-variant-numeric:tabular-nums;vertical-align:middle;border-radius:7px;place-items:center;padding:0 6px;display:inline-grid}.place{background:var(--sunk);width:26px;height:26px;color:var(--muted);font:700 12px/1 var(--f-body);border-radius:50%;place-items:center;display:inline-grid}.place.p1{background:var(--gold-bg);color:var(--gold-ink)}.place.p2{background:var(--silver-bg);color:var(--silver-ink)}.place.p3{background:var(--bronze-bg);color:var(--bronze-ink)}.trend{font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-weight:600;display:inline-flex}.trend svg{width:14px;height:14px}.trend.up{color:var(--green-text)}.trend.down{color:var(--red)}.kbd{background:var(--sunk);box-shadow:inset 0 -1px 0 var(--line-2);font:500 11px/1.6 var(--f-mono);color:var(--ink-2);border-radius:5px;padding:1px 6px;display:inline-block}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}.card.pad{padding:var(--s-5)}.card.interactive{transition:border-color var(--t-1),box-shadow var(--t-1)}.card.interactive:hover{border-color:var(--line-3);box-shadow:var(--shadow-2)}.card.sunk{background:var(--sunk);box-shadow:none}.card.brand{color:#fff;background:linear-gradient(135deg,#1b2a6b,#0a5ca8);border-color:#0000}.card.brand :is(h2,h3,b){color:#fff}.card.brand .muted{color:#ffffffc7}.card-head,.section>.head,.card>.head{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.card-head>div:first-child{gap:2px;min-width:0;display:grid}.card-head h2{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-head p{font-size:var(--fs-sm);color:var(--muted)}.card:not(.pad)>.card-head,.card:not(.pad)>.head{padding:var(--s-4) var(--s-5) var(--s-3)}.card-head a:not(.btn),.head a:not(.btn){font-size:var(--fs-sm);font-weight:500}.card-body{padding:0 var(--s-5) var(--s-5)}.card-foot{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-top:1px solid var(--line);background:var(--sunk);border-radius:0 0 var(--r) var(--r);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.card.pad>.card-foot{margin:var(--s-1) calc(-1 * var(--s-5)) calc(-1 * var(--s-5))}.section{align-content:start;gap:14px;display:grid}.stat{align-content:start;gap:6px;padding:16px 18px;display:grid}.stat-top{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.stat .label{font-size:var(--fs-sm);color:var(--muted)}.ico{border-radius:var(--r-sm);background:var(--sunk);width:32px;height:32px;color:var(--ink-2);flex:none;place-items:center;display:grid}.ico svg{width:17px;height:17px}.ico.lg{border-radius:var(--r-md);width:44px;height:44px}.ico.lg svg{width:22px;height:22px}.ico.info{background:var(--blue-soft);color:var(--blue)}.ico.success{background:var(--green-soft);color:var(--green-text)}.ico.warning{background:var(--amber-soft);color:var(--amber-text)}.ico.danger{background:var(--red-soft);color:var(--red)}.ico.brand{background:var(--navy-soft);color:var(--navy-text)}.stat .value{font:700 var(--fs-2xl)/1.05 var(--f-body);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .value small{font-size:var(--fs-base);color:var(--muted);letter-spacing:0;font-weight:500}.stat .delta{font-size:var(--fs-sm);color:var(--muted)}@media (width<=600px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:14px}.stat .value{font-size:24px}.stat .ico{display:none}}.alert,.flash{--tone:var(--blue);--tint:var(--blue-soft);--tone-ink:var(--ink);border-radius:var(--r-lg);background:var(--tint);color:var(--tone-ink);font-size:var(--fs-md);align-items:flex-start;gap:12px;padding:14px 16px;line-height:1.5;display:flex}.alert+.alert{margin-top:var(--s-2)}.main>.alert,.main>.flash{margin-bottom:18px}.alert-ico{background:var(--tone);width:24px;height:24px;color:var(--card);border-radius:50%;flex:none;place-items:center;display:grid}.alert-ico svg{stroke-width:2.6px;width:14px;height:14px}.alert-body{flex:1;gap:2px;min-width:0;padding-top:1px;display:grid}.alert-body>b{font-weight:650}.alert-body a{color:inherit;font-weight:600}.alert-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.alert>.icon-btn{color:var(--muted);margin:-6px -8px -6px 0}.alert.success,.flash.ok{--tone:var(--green-text);--tint:var(--green-soft)}.alert.warning,.flash.warn{--tone:var(--amber);--tint:var(--amber-soft)}.alert.danger,.flash.err{--tone:var(--red);--tint:var(--red-soft)}.alert.brand{--tone:var(--navy);--tint:var(--navy-soft)}.alert.compact{border-radius:var(--r-md);font-size:var(--fs-sm);padding:10px 12px}.alert.compact .alert-ico{width:20px;height:20px}.alert.compact .alert-ico svg{width:12px;height:12px}.flash:before{content:"i";background:var(--tone);width:24px;height:24px;color:var(--card);font:700 13px/1 var(--f-body);border-radius:50%;flex:none;place-items:center;display:grid}.flash.ok:before{content:"✓"}.flash.warn:before,.flash.err:before{content:"!"}.flash b{margin-bottom:2px;display:block}.toasts{z-index:var(--z-toast);pointer-events:none;gap:10px;width:min(380px,100vw - 32px);display:grid;position:fixed;top:16px;right:16px}.toast{--tone:var(--blue);border-radius:var(--r);background:var(--raised);border:1px solid var(--line);box-shadow:var(--shadow-3);color:var(--ink);font-size:var(--fs-md);pointer-events:auto;animation:gc-pop var(--t-3) var(--ease-out);align-items:flex-start;gap:12px;padding:12px 10px 12px 14px;display:flex;position:relative;overflow:hidden}.toast .alert-ico{background:var(--tone)}.toast-body{flex:1;gap:2px;min-width:0;padding-top:2px;display:grid}.toast-body b{font-weight:650}.toast-body span{color:var(--muted);font-size:var(--fs-sm)}.toast .icon-btn{margin:-4px 0}.toast.success{--tone:var(--green-text)}.toast.warning{--tone:var(--amber)}.toast.danger{--tone:var(--red)}.toast-timer{background:var(--tone);opacity:.5;transform-origin:0;width:100%;height:2px;animation:linear forwards gc-timer;position:absolute;bottom:0;left:0}.toast:hover .toast-timer{animation-play-state:paused}.toast.leaving{transition:opacity var(--t-2),transform var(--t-2);opacity:0;transform:translate(16px)}@keyframes gc-timer{to{transform:scaleX(0)}}@media (width<=900px){.toasts{top:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:var(--gut-l);right:var(--gut-r);width:auto}.toast{animation-name:gc-rise}.toast.leaving{transform:translateY(12px)}}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:6px;padding:40px 20px;display:grid}.empty-state .ico{border-radius:50%;width:48px;height:48px;margin-bottom:6px}.empty-state .ico svg{width:22px;height:22px}.empty-state b{color:var(--ink);font-size:var(--fs-base)}.empty-state p{max-width:42ch;font-size:var(--fs-md)}.empty-state .actions{justify-content:center;margin-top:10px}.empty-state.sm{padding:20px 12px}.empty{text-align:center;color:var(--muted);padding:36px 20px}.skeleton{border-radius:var(--r-xs);background:linear-gradient(90deg,var(--sunk) 0%,var(--press) 50%,var(--sunk) 100%);background-size:200% 100%;animation:1.4s linear infinite gc-shimmer;display:block}.skeleton.text{height:12px;margin:6px 0}.skeleton.title{width:40%;height:20px}.skeleton.circle{border-radius:50%}.spinner{border:2px solid var(--line-2);border-top-color:var(--blue);vertical-align:middle;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite gc-spin;display:inline-block}@media (hover:hover){[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);z-index:var(--z-popover);border-radius:var(--r-xs);background:var(--ink);width:max-content;max-width:240px;color:var(--card);font:500 12px/1.4 var(--f-body);text-align:center;white-space:normal;opacity:0;pointer-events:none;transition:opacity var(--t-1),transform var(--t-1);padding:6px 9px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transition-delay:.25s;transform:translate(-50%)}[data-tip-pos=bottom]:after{top:calc(100% + 8px);bottom:auto}}.meter{background:var(--sunk);border-radius:99px;height:8px;overflow:hidden}.meter i{border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green-bar));height:100%;transition:width var(--t-3) var(--ease-out);display:block}.meter.lg{height:12px}.meter.success i{background:var(--green-bar)}.meter.warning i{background:var(--amber)}.meter.danger i{background:var(--red)}dialog{color:var(--ink);background:var(--raised)}dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(100% - 32px,var(--modal-w,480px));border:1px solid var(--line);border-radius:var(--r-lg);max-height:min(100% - 48px,760px);box-shadow:var(--shadow-3);padding:0;overflow:hidden}.modal[open]{animation:gc-pop var(--t-2) var(--ease-out);flex-direction:column;display:flex}.modal[open]::backdrop{animation:gc-fade var(--t-2)}.modal.sm{--modal-w:400px}.modal.lg{--modal-w:720px}.modal.xl{--modal-w:960px}.modal-head{align-items:flex-start;gap:12px;padding:18px 18px 0 22px;display:flex}.modal-head>div{flex:1;gap:4px;min-width:0;padding-top:6px;display:grid}.modal-head p{color:var(--muted);font-size:var(--fs-md)}.modal-body{align-content:start;gap:14px;padding:16px 22px 4px;display:grid;overflow-y:auto}.modal-foot{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:18px 22px 20px;display:flex}.modal-foot form{margin:0}.modal.confirm .modal-head{padding-top:22px}.modal .ico.lg{margin-top:2px}.drawer{height:100%;max-height:none;width:min(100%,var(--drawer-w,460px));border:1px solid var(--line);border-radius:var(--r-lg) 0 0 var(--r-lg);box-shadow:var(--shadow-3);border-right:0;margin:0 0 0 auto;padding:0}.drawer[open]{animation:gc-slide var(--t-3) var(--ease-out);flex-direction:column;display:flex}.drawer.lg{--drawer-w:640px}.drawer .modal-head{border-bottom:1px solid var(--line);padding:18px 16px 14px 22px}.drawer .modal-body{flex:1;padding:20px 22px}.drawer .modal-foot{border-top:1px solid var(--line);background:var(--sunk)}@media (width<=600px){.modal,.drawer{border-radius:var(--r-xl) var(--r-xl) 0 0;border:0;border-top:1px solid var(--line);width:100%;max-width:none;height:fit-content;max-height:92dvh;margin:auto 0 0}.modal[open],.drawer[open]{animation:gc-sheet var(--t-3) var(--ease-out)}.modal-head{padding:12px 12px 0 var(--gut-l)}.modal-head:before{content:"";background:var(--line-2);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:7px;left:50%}.modal-body{padding:14px var(--gut-r) 4px var(--gut-l)}.modal-foot{padding:16px var(--gut-r) calc(16px + env(safe-area-inset-bottom,0px)) var(--gut-l);flex-direction:column-reverse;align-items:stretch}.modal-foot>*,.modal-foot form .btn{width:100%}}.menu-wrap{display:inline-flex;position:relative}.menu{z-index:var(--z-popover);border-radius:var(--r);background:var(--raised);border:1px solid var(--line);min-width:220px;max-width:min(320px,100vw - 24px);box-shadow:var(--shadow-2);animation:gc-pop var(--t-1) var(--ease-out);transform-origin:100% 0;gap:1px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.menu.left{transform-origin:0 0;left:0;right:auto}.menu.up{transform-origin:0 100%;top:auto;bottom:calc(100% + 6px)}.menu-item{all:unset;box-sizing:border-box;border-radius:var(--r-sm);width:100%;color:var(--ink);font-size:var(--fs-md);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--hover);color:var(--ink)}.menu-item svg{width:16px;height:16px;color:var(--muted)}.menu-item.danger,.menu-item.danger svg{color:var(--red)}.menu-item.danger:hover{background:var(--red-soft)}.menu-item[aria-checked=true]{font-weight:650}.menu-item .end{color:var(--muted);font-size:var(--fs-xs);margin-left:auto}.menu-sep{background:var(--line);height:1px;margin:5px -6px}.menu-label{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:8px 10px 4px;font-size:11px;font-weight:650}.menu form{margin:0}.menu-head{align-items:center;gap:10px;padding:8px 10px 10px;display:flex}.menu-head>div{min-width:0;display:grid}.menu-head b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-head span{color:var(--muted);font-size:var(--fs-xs)}.notif-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:0;width:380px;max-height:min(560px,100vh - 80px);padding:0;overflow:hidden}.side .notif-panel{transform-origin:0 0;left:0;right:auto}.notif-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:14px 14px 10px 16px;display:flex}.notif-head h2{font-size:var(--fs-base)}.notif-list{overscroll-behavior:contain;overflow-y:auto}.notif-foot{border-top:1px solid var(--line);text-align:center;padding:8px}.notif-foot a{border-radius:var(--r-sm);font-size:var(--fs-sm);padding:6px;font-weight:600;text-decoration:none;display:block}.notif-foot a:hover{background:var(--hover)}.notif{color:var(--ink);border-bottom:1px solid var(--line);transition:background-color var(--t-1);gap:12px;padding:12px 16px;text-decoration:none;display:flex}.notif:last-child{border-bottom:0}.notif:hover{background:var(--hover);color:var(--ink)}.notif>div{flex:1;gap:2px;min-width:0;display:grid}.notif b{font-weight:600;font-size:var(--fs-md)}.notif p{font-size:var(--fs-sm);color:var(--muted)}.notif time{font-size:var(--fs-xs);color:var(--faint)}.notif.unread{background:color-mix(in srgb,var(--blue) 5%,var(--raised))}.notif.unread:hover{background:color-mix(in srgb,var(--blue) 9%,var(--raised))}.notif.unread b{font-weight:700}.notif-list .empty-state{padding:36px 20px}@media (width<=600px){.menu.notif-panel{top:calc(58px + env(safe-area-inset-top,0px));left:var(--gut-l);right:var(--gut-r);width:auto;max-width:none;max-height:calc(100dvh - 160px);position:fixed}}.form{gap:14px;display:grid}.form .row{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;display:grid}.form-section{border-top:1px solid var(--line);gap:14px;padding-top:18px;display:grid}.form-section>.head{gap:2px;display:grid}.form-section>.head p{font-size:var(--fs-sm);color:var(--muted)}label,.field{font-size:var(--fs-sm);color:var(--ink-2);gap:6px;font-weight:600;display:grid}label>*,.field>*{min-width:0;max-width:100%}.field-label{justify-content:space-between;gap:8px;display:flex}.field-label .opt{color:var(--faint);font-weight:400}.req{color:var(--red);margin-left:2px}input,select,textarea{width:100%;min-width:0;max-width:100%;min-height:42px;font:16px/1.4 var(--f-body);color:var(--ink);background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-sm);appearance:none;transition:border-color var(--t-1),box-shadow var(--t-1);padding:10px 12px;display:block}@media (width>=601px){input,select,textarea{font-size:var(--fs-base)}}select{background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A93AB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/18px;padding-right:36px}input[type=date],input[type=datetime-local],input[type=time]{text-align:left;line-height:22px}input::-webkit-date-and-time-value{text-align:left;margin:0}input::-webkit-datetime-edit{padding:0}input::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}:root[data-theme=dark] input::-webkit-calendar-picker-indicator{filter:invert()}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover,select:hover,textarea:hover{border-color:var(--line-3)}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:var(--ring);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--sunk);color:var(--muted);cursor:not-allowed}[aria-invalid=true],.is-invalid{border-color:var(--red)!important}[aria-invalid=true]:focus,.is-invalid:focus{box-shadow:0 0 0 3px var(--red-soft)!important}textarea{resize:vertical;min-height:100px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--blue);appearance:auto;flex:none;margin:0;padding:0;display:inline-block}input[type=file]{font-size:var(--fs-md);color:var(--muted);background:var(--sunk);cursor:pointer;border-style:dashed;padding:6px;line-height:30px}input[type=file]::file-selector-button{border-radius:var(--r-xs);background:var(--card);color:var(--ink);font:600 var(--fs-md)/1.2 var(--f-body);box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;border:0;margin-right:10px;padding:6px 12px}.check{color:var(--ink);font-weight:500;font-size:var(--fs-md);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hint{font-size:var(--fs-xs);color:var(--muted);font-weight:400}.error{color:var(--red);font-size:var(--fs-sm);font-weight:500}.inline-form{display:inline}.input-group{align-items:center;display:flex;position:relative}.input-group>svg{width:18px;height:18px;color:var(--faint);pointer-events:none;position:absolute;left:12px}.input-group>svg~input{padding-left:38px}.search{flex:280px;gap:8px;max-width:420px;display:flex}.search .input-group{flex:1}.search input{width:100%}.switch{color:var(--ink);font-weight:500;font-size:var(--fs-md);cursor:pointer;align-items:center;gap:12px;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch i{background:var(--line-2);width:38px;height:22px;transition:background-color var(--t-2);border-radius:99px;flex:none;position:relative}.switch i:after{content:"";width:16px;height:16px;transition:transform var(--t-2) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+i{background:var(--blue)}.switch input:checked+i:after{transform:translate(16px)}.switch input:focus-visible+i{outline:2px solid var(--blue);outline-offset:2px}.switch small{color:var(--muted);font-weight:400;font-size:var(--fs-xs);display:block}.choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px;display:grid}.choice{border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--card);color:var(--ink);cursor:pointer;transition:border-color var(--t-1),background-color var(--t-1);align-items:center;gap:10px;padding:12px 14px;font-weight:500;display:flex;position:relative}.choice:hover{border-color:var(--line-3)}.choice input{opacity:0;position:absolute}.choice svg{width:18px;height:18px;color:var(--muted)}.choice:has(input:checked){border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue)}.choice:has(input:checked) svg{color:var(--blue)}.choice:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.drop{border:1.5px dashed var(--line-2);border-radius:var(--r-md);background:var(--sunk);text-align:center;cursor:pointer;font-size:var(--fs-base);color:var(--ink);transition:border-color var(--t-1),background-color var(--t-1);justify-items:center;gap:4px;padding:26px 16px;display:grid;position:relative}.drop>svg{width:26px;height:26px;color:var(--faint);margin-bottom:4px}.drop:hover,.drop.over{border-color:var(--blue);background:var(--blue-soft)}.drop.has-file{border-style:solid;border-color:var(--blue);background:var(--blue-soft)}.drop.has-file [data-drop-name]{color:var(--ink);font-weight:600;font-size:var(--fs-md)}.drop input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;position:absolute;inset:0}.drop:focus-within{outline:2px solid var(--blue);outline-offset:2px}@media (width<=600px){input,select,textarea,td select{font-size:16px}}.sr-label .field-label{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.tabs{border-radius:var(--r-md);background:var(--sunk);border:1px solid var(--line);flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;padding:3px;display:flex}.tabs a,.tabs button{all:unset;box-sizing:border-box;color:var(--muted);font-weight:500;font-size:var(--fs-md);cursor:pointer;transition:color var(--t-1),background-color var(--t-1),transform var(--t-1);border-radius:7px;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;display:inline-flex}.tabs a:hover,.tabs button:hover{color:var(--ink)}.tabs a:active,.tabs button:active{transform:scale(.97)}.tabs a:focus-visible,.tabs button:focus-visible{outline:2px solid var(--blue)}.tabs [aria-current],.tabs [aria-selected=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow-1),0 0 0 1px var(--line);font-weight:600}.tabs .n{font-size:var(--fs-xs);color:var(--faint);font-variant-numeric:tabular-nums;font-weight:600}.tabs [aria-current] .n,.tabs [aria-selected=true] .n{color:var(--muted)}.tabs.line{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:18px;width:100%;padding:0}.tabs.line a,.tabs.line button{border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 0}.tabs.line [aria-current],.tabs.line [aria-selected=true]{box-shadow:none;border-bottom-color:var(--navy-text);background:0 0}.pager{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:16px;display:flex}.pager a,.pager span{border-radius:var(--r-sm);min-width:36px;height:36px;color:var(--ink);background:var(--card);border:1px solid var(--line);font-size:var(--fs-md);font-variant-numeric:tabular-nums;place-items:center;padding:0 10px;text-decoration:none;display:inline-grid}.pager a:hover{background:var(--hover)}.pager svg{width:16px;height:16px}.pager .active{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}.pager .disabled{color:var(--faint)}.month-switch{border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);align-items:center;gap:4px;padding:4px;display:inline-flex}.month-switch b{text-align:center;min-width:132px;font-size:var(--fs-md);font-weight:650}.month-switch a,.month-switch span{width:34px;height:34px;color:var(--ink);transition:background-color var(--t-1),transform var(--t-1);border-radius:7px;place-items:center;display:grid}.month-switch a:hover{background:var(--hover)}.month-switch a:active{transform:scale(.94)}.month-switch span{color:var(--line-2)}.month-switch svg{width:18px;height:18px}.steps{font-size:var(--fs-md);color:var(--ink-2);gap:8px;margin:0;padding-left:20px;display:grid}.steps b{color:var(--ink)}.stepper{counter-reset:st;gap:0;margin:0;padding:0;list-style:none;display:grid}.stepper li{counter-increment:st;font-size:var(--fs-md);color:var(--ink-2);grid-template-columns:28px 1fr;gap:12px;padding-bottom:16px;display:grid;position:relative}.stepper li:before{content:counter(st);background:var(--sunk);width:28px;height:28px;color:var(--ink-2);font:700 12px/1 var(--f-body);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:50%;place-items:center;display:grid}.stepper li:not(:last-child):after{content:"";background:var(--line-2);width:1px;position:absolute;top:30px;bottom:2px;left:13.5px}.stepper li.done:before{content:"✓";background:var(--green-soft);color:var(--green-text);box-shadow:none}.stepper li.current:before{background:var(--navy);color:var(--on-navy);box-shadow:none}.stepper li>div{gap:2px;padding-top:4px;display:grid}.stepper b{color:var(--ink)}@media (width<=600px){.tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;flex-wrap:nowrap;width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a,.tabs button{white-space:nowrap;flex:none;padding:8px 14px}.toolbar{gap:10px}.search{max-width:none}.month-switch b{flex:1;min-width:0}.month-switch a,.month-switch span{width:40px;height:40px}}.table-wrap{border-radius:0 0 var(--r) var(--r);overflow-x:auto}.card>.table-wrap:only-child{border-radius:var(--r)}.card.pad>.table-wrap:last-child{margin:0 -20px -20px}table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 16px}th{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;background:var(--sunk);border-top:1px solid var(--line);font-weight:600}.card>.table-wrap:first-child th{border-top:0}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color var(--t-1)}tbody tr:hover td{background:var(--hover)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td a.row{color:var(--ink);font-weight:600;text-decoration:none}td a.row:hover{color:var(--blue);text-decoration:underline}td select{width:auto;min-width:132px;min-height:36px;font-size:var(--fs-md);padding-top:6px;padding-bottom:6px}td .btn-sm+.btn-sm,td form+form{margin-left:6px}.row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px;display:flex}.row-actions form{margin:0}.preview td,.preview th{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}@media (hover:none){tbody tr:hover td{background:0 0}tbody tr:active td{background:var(--press)}}@media (width<=600px){th,td{padding:10px 12px}td a.row,td:first-child,td.num,th{white-space:nowrap}.hide-sm{display:none}table.as-list,table.as-list tbody{display:block}table.as-list thead{display:none}table.as-list tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:14px 16px;display:grid;position:relative}table.as-list tbody tr:last-child{border-bottom:0}table.as-list td{text-align:left;white-space:normal;min-width:0;font-size:var(--fs-md);border:0;align-content:start;gap:2px;padding:0;display:grid}table.as-list td:before{content:attr(data-label);color:var(--faint);letter-spacing:.02em;font-size:11px;font-weight:600}table.as-list td.primary{font-size:var(--fs-base);flex-wrap:wrap;order:-1;grid-column:1/-1;align-items:center;gap:2px 8px;display:flex}table.as-list td.primary br{display:none}table.as-list td.primary .small{flex-basis:100%}table.as-list td.primary:before,table.as-list td[data-label=""]:before,table.as-list td[colspan]:before{display:none}table.as-list td[colspan]{grid-column:1/-1}table.as-list td.primary a.row:after{content:"";position:absolute;inset:0}table.as-list td a:not(.row),table.as-list td button,table.as-list td select,table.as-list td form{z-index:1;position:relative}table.as-list .chip,table.as-list .lvl{justify-self:start}table.as-list.compact tr{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px;padding:12px 16px}table.as-list.compact td{font-variant-numeric:tabular-nums}table.as-list td.hide-sm{display:none}table.as-list .row-actions{justify-content:flex-start}}.kv{font-size:var(--fs-md);grid-template-columns:max-content 1fr;gap:10px 18px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0;font-weight:500}@media (width<=420px){.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:10px}}.avatar{--av:36px;width:var(--av);height:var(--av);background:var(--navy-soft);color:var(--navy-text);font:700 calc(var(--av) * .38)/1 var(--f-body);border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.sm{--av:28px}.avatar.lg{--av:48px}.avatar.xl{--av:64px}.avatar.c1{background:var(--blue-soft);color:var(--blue-2)}.avatar.c2{background:var(--green-soft);color:var(--green-text)}.avatar.c3{background:var(--amber-soft);color:var(--amber-text)}.avatar.c4{background:var(--red-soft);color:var(--red)}.person{align-items:center;gap:12px;min-width:0;display:flex}.person>div{min-width:0;display:grid}.person b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person span{color:var(--muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline{margin:0;padding:0;list-style:none;display:grid}.timeline>li{grid-template-columns:28px 1fr;gap:12px;padding-bottom:16px;display:grid;position:relative}.timeline>li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:32px;bottom:4px;left:13.5px}.timeline .avatar{--av:28px}.timeline-body{gap:4px;min-width:0;display:grid}.timeline-meta{font-size:var(--fs-xs);color:var(--muted)}.timeline-meta b{color:var(--ink);font-weight:600}.timeline-text{border-radius:0 var(--r-md) var(--r-md) var(--r-md);background:var(--sunk);font-size:var(--fs-md);overflow-wrap:anywhere;padding:10px 12px}.notes{gap:10px;display:grid}.note{border-radius:var(--r-sm);background:var(--sunk);font-size:var(--fs-md);padding:12px 14px}.note .meta{font-size:var(--fs-xs);color:var(--muted);margin-bottom:4px}.event{gap:4px;display:grid}.event b{font-weight:600}.event a,.near a{color:var(--ink);text-decoration:none}.event a:hover,.near a:hover{color:var(--blue)}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .bar{fill:var(--blue);transition:opacity var(--t-1)}.chart .bar.alt{fill:var(--green-bar)}.chart:hover .bar{opacity:.55}.chart .bar:hover{opacity:1}.chart text{font:11px var(--f-body);fill:var(--muted)}.chart text.alt{fill:var(--green-text)}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .base{stroke:var(--line-2);stroke-width:1px}.legend{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:16px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.legend .s1{background:var(--blue)}.legend .s2{background:var(--green-bar)}@media (width<=600px){.chart text{font-size:17px}}.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,2fr);gap:20px;padding:22px 24px;display:grid}.hero .big{font:700 46px/1 var(--f-body);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:8px 0 10px}.hero .facts{border-left:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));align-content:center;gap:12px;padding-left:24px;display:grid}.hero .facts div{align-content:start;gap:2px;display:grid}.hero .facts span{color:var(--muted);font-size:13px}.hero .facts b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}@media (width<=760px){.hero{grid-template-columns:1fr}.hero .facts{border-left:0;border-top:1px solid var(--line);padding-top:18px;padding-left:0}.hero .big{font-size:38px}}.records{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));display:grid}.records>div{border-left:1px solid var(--line);gap:2px;padding:16px 20px;display:grid}.records>div:first-child{border-left:0}.records span{color:var(--muted);font-size:13px}.records b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}@media (width<=600px){.records>div{border-left:0;border-top:1px solid var(--line)}.records>div:first-child{border-top:0}}.users-head,.user{grid-template-columns:minmax(0,1.5fr) 300px minmax(0,1fr) 190px;align-items:center;gap:16px;padding:12px 20px;display:grid}.users-head{background:var(--sunk);border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;color:var(--muted);padding-top:10px;padding-bottom:10px;font-size:12px;font-weight:600}.user+.user{border-top:1px solid var(--line)}.user .person>div{min-width:0}.user .person b,.user .person span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-form{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px;margin:0;display:grid}.user-form .field{display:block}.user-form select{min-height:38px;padding-top:7px;padding-bottom:7px;font-size:14px}.field.static{background:var(--sunk);min-height:38px;color:var(--ink-2);border-radius:8px;align-items:center;padding:0 12px;font-size:14px;font-weight:500;display:flex}.user .actions{flex-wrap:nowrap;justify-content:flex-end}.user .actions form{margin:0}@media (width<=1100px){.users-head{display:none}.user{grid-template-columns:minmax(0,1fr) auto;gap:12px}.user .person,.user-form{grid-column:1/-1}}table.rank td{vertical-align:middle}table.rank .pos{width:44px;padding-right:0}table.rank .sub{color:var(--muted);margin-top:2px;font-size:12px;display:block}.near{gap:6px;display:grid}.near-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.near a,.event a{color:var(--ink);text-decoration:none}.near a:hover,.event a:hover{color:var(--blue)}.level-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,2fr);gap:20px;padding:22px 24px;display:grid}.lh-main{align-content:start;gap:10px;display:grid}.lh-level{align-items:center;gap:12px;display:flex}.lh-level>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lh-level b{font:800 22px/1 var(--f-display);font-variation-settings:"wdth" 86}.lh-badge{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;width:48px;height:48px;font:800 24px/1 var(--f-display);border-radius:12px;place-items:center;display:grid}.level-hero .big{font:700 40px/1 var(--f-body);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.level-hero .big small{color:var(--muted);letter-spacing:0;font-size:15px;font-weight:500}.level-hero .facts{border-left:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));align-content:center;gap:14px;padding-left:24px;display:grid}.level-hero .facts div{align-content:start;gap:2px;display:grid}.level-hero .facts span{color:var(--muted);font-size:13px}.level-hero .facts b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.ink{color:var(--ink)}@media (width<=760px){.level-hero{grid-template-columns:1fr;padding:18px}.level-hero .facts{border-left:0;border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));padding-top:16px;padding-left:0}.level-hero .big{font-size:34px}}.goals{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;display:grid}.goal{gap:8px;padding:16px 18px;display:grid}.goal-top{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;min-height:24px;font-size:13px;display:flex}.goal b{font:700 24px/1.05 var(--f-body);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.goal b small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:500}.goal.done .meter i{background:var(--green-bar)}.tips{gap:10px;margin:0;padding:0;list-style:none;display:grid}.tips li{background:var(--sunk);border-radius:10px;padding:12px 14px;font-size:14px}.ladder{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ladder li{border-radius:8px;grid-template-columns:auto 1fr auto 64px;align-items:center;gap:10px;padding:7px 8px;font-size:14px;display:grid}.ladder li>:last-child{justify-self:end}.ladder li.later{color:var(--faint)}.ladder li.later .lvl{background:var(--sunk);color:var(--faint)}.ladder li.behaald .lvl{background:var(--green-soft);color:var(--green-text)}.ladder li.huidig{background:var(--navy-soft);font-weight:650}.ladder li.volgend{box-shadow:inset 0 0 0 1px var(--blue-line)}.ladder .tick{color:var(--green-text);width:18px;height:18px}.ladder .tick svg{width:18px;height:18px}.mapping{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;display:grid}.qr{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.qr svg{border:1px solid var(--line);background:#fff;border-radius:8px;width:160px;height:160px;padding:6px}@media (width<=480px){.qr{grid-template-columns:1fr}}.codes{columns:2;font-family:var(--f-mono);background:var(--amber-soft);border:1px solid var(--amber-line);color:var(--ink);border-radius:8px;padding:12px 16px;font-size:14px}.users-table .person b{display:block}.users-table .person>div{min-width:0}.users-table .person .small{text-overflow:ellipsis;white-space:nowrap;max-width:280px;display:block;overflow:hidden}@media (width<=600px){.users-table td:last-child{grid-column:1/-1}.users-table td:last-child:before{display:none}.row-actions{justify-content:flex-start}.row-actions .btn{flex:1}.users-table td select{width:100%;min-width:0}.users-table .person .small{white-space:normal;max-width:none}table.rank,table.rank tbody{display:block}table.rank thead{display:none}table.rank tr{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:12px 16px;display:grid;position:relative}table.rank tbody tr:last-child{border-bottom:0}table.rank td{white-space:normal;border:0;padding:0}table.rank td.pos{grid-row:1/3;width:auto}table.rank td:nth-child(2){grid-area:1/2;min-width:0}table.rank td:nth-child(3){grid-area:2/2;align-items:center;gap:6px;display:flex}table.rank td:nth-child(4){grid-area:1/3;font-weight:650}table.rank td:nth-child(6){color:var(--muted);grid-area:2/3;font-size:13px}table.rank td[colspan]{grid-area:auto/1/auto/-1}table.rank td:nth-child(2) a.row:after{content:"";position:absolute;inset:0}table.rank .sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.level-hero .facts b{font-size:18px}.goal{padding:14px 16px}.goals{grid-template-columns:1fr}}.data-list{gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.data-list li{color:var(--ink-2);padding-left:26px;position:relative}.data-list li:before{content:"";border-left:2px solid var(--green-text);border-bottom:2px solid var(--green-text);width:12px;height:7px;position:absolute;top:4px;left:4px;transform:rotate(-45deg)}.connect-head{align-items:center;gap:12px;display:flex}.connect-head>div{display:grid}.connect-icon{background:var(--navy-soft);width:44px;height:44px;color:var(--navy-text);border-radius:10px;flex:none;place-items:center;display:grid}.connect-icon svg{width:22px;height:22px}.stream{gap:8px;display:grid}.stream>div{display:grid}.stream dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.stream dl div{background:var(--sunk);border-radius:8px;gap:1px;padding:8px 10px;display:grid}.stream dt{color:var(--muted);font-size:12px}.stream dd{font-variant-numeric:tabular-nums;margin:0;font-weight:650}.sg{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:24px;display:grid}.sg-toc{font-size:var(--fs-sm);gap:2px;display:grid;position:sticky;top:24px}.sg-toc a{border-radius:var(--r-sm);color:var(--muted);padding:6px 10px;text-decoration:none}.sg-toc a:hover{background:var(--hover);color:var(--ink)}.sg-body{gap:var(--s-4);min-width:0;display:grid}.sg-body>[id]{scroll-margin-top:24px}.sg-swatches{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.sg-swatch{font-size:var(--fs-sm);gap:2px;display:grid}.sg-swatch i{border-radius:var(--r-sm);border:1px solid var(--line);height:44px;margin-bottom:4px}.sg-swatch code{color:var(--muted);font-size:11px}.sg-type{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.sg-code{border-radius:var(--r-sm);background:var(--sunk);border:1px solid var(--line);font:500 12px/1.6 var(--f-mono);color:var(--ink-2);white-space:pre;margin:0;padding:12px 14px;overflow-x:auto}.sg-icons{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;display:grid}.sg-icons div{border-radius:var(--r-sm);background:var(--sunk);color:var(--ink-2);justify-items:center;gap:6px;padding:12px 6px;display:grid}.sg-icons svg{width:22px;height:22px}.sg-icons code{color:var(--muted);font-size:10px}@media (width<=900px){.sg{grid-template-columns:1fr}.sg-toc{flex-wrap:wrap;gap:4px;display:flex;position:static}.sg-toc a{background:var(--card);border:1px solid var(--line)}}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/assets/hanken-grotesk-latin-400-CaVRRdDk.woff2)format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:75% 90%;font-display:swap;src:url(/build/assets/bricolage-grotesque-latin-DgyNgKBy.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/dm-mono-latin-500-DRMDZjhP.woff2)format("woff2")}
