:root{--wf-white:#fff;--wf-grey-50:#f7f7f7;--wf-grey-100:#eee;--wf-grey-200:#e0e0e0;--wf-grey-300:#ccc;--wf-grey-400:#a3a3a3;--wf-grey-500:#7a7a7a;--wf-grey-700:#444;--wf-grey-900:#1a1a1a;--wf-black:#000;--wf-bg:var(--wf-white);--wf-surface:var(--wf-grey-50);--wf-surface-strong:var(--wf-grey-100);--wf-border:var(--wf-grey-300);--wf-border-strong:var(--wf-grey-500);--wf-text:var(--wf-grey-900);--wf-text-muted:var(--wf-grey-500);--wf-accent:var(--wf-black);--wf-accent-contrast:var(--wf-white);--wf-font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--wf-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--wf-text-xs:.75rem;--wf-text-sm:.875rem;--wf-text-md:1rem;--wf-text-lg:1.25rem;--wf-text-xl:1.5rem;--wf-text-2xl:2rem;--wf-leading:1.5;--wf-space-1:.25rem;--wf-space-2:.5rem;--wf-space-3:.75rem;--wf-space-4:1rem;--wf-space-6:1.5rem;--wf-space-8:2rem;--wf-space-12:3rem;--wf-radius:4px;--wf-border-width:1px;--wf-control-height:2.25rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--wf-font);font-size:var(--wf-text-md);line-height:var(--wf-leading);color:var(--wf-text);background:var(--wf-bg);margin:0}img,svg,video{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{margin:0 0 var(--wf-space-3);font-weight:600;line-height:1.2}h1{font-size:var(--wf-text-2xl)}h2{font-size:var(--wf-text-xl)}h3{font-size:var(--wf-text-lg)}h4,h5,h6{font-size:var(--wf-text-md)}p,ul,ol,dl,blockquote,pre,table,figure{margin:0 0 var(--wf-space-4)}small,.wf-muted{color:var(--wf-text-muted);font-size:var(--wf-text-sm)}a{color:var(--wf-accent);text-underline-offset:2px;text-decoration:underline}a:hover{text-decoration-thickness:2px}code,kbd,pre{font-family:var(--wf-font-mono);font-size:.9em}code,kbd{background:var(--wf-surface-strong);border-radius:var(--wf-radius);padding:.1em .35em}pre{background:var(--wf-surface);border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);padding:var(--wf-space-4);overflow-x:auto}pre code{background:0 0;padding:0}blockquote{padding-left:var(--wf-space-4);border-left:3px solid var(--wf-border-strong);color:var(--wf-text-muted);margin-left:0}hr{border:0;border-top:var(--wf-border-width) solid var(--wf-border);margin:var(--wf-space-6) 0}label{font-size:var(--wf-text-sm);margin-bottom:var(--wf-space-1);font-weight:500;display:block}input:not([type=checkbox],[type=radio],[type=range]),select,textarea{width:100%;min-height:var(--wf-control-height);padding:var(--wf-space-2) var(--wf-space-3);font:inherit;font-size:var(--wf-text-sm);color:var(--wf-text);background:var(--wf-bg);border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);display:block}textarea{resize:vertical;min-height:6rem}::placeholder{color:var(--wf-grey-400)}input[type=checkbox],input[type=radio]{accent-color:var(--wf-accent)}fieldset{border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);padding:var(--wf-space-4);margin:0 0 var(--wf-space-4)}legend{padding:0 var(--wf-space-2);font-weight:600;font-size:var(--wf-text-sm)}:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--wf-accent);outline-offset:2px}button,.wf-button,input[type=submit],input[type=button]{justify-content:center;align-items:center;gap:var(--wf-space-2);min-height:var(--wf-control-height);padding:0 var(--wf-space-4);font:inherit;font-size:var(--wf-text-sm);color:var(--wf-accent-contrast);background:var(--wf-accent);border:var(--wf-border-width) solid var(--wf-accent);border-radius:var(--wf-radius);cursor:pointer;white-space:nowrap;font-weight:500;text-decoration:none;display:inline-flex}button:hover,.wf-button:hover{opacity:.85}.wf-secondary{color:var(--wf-text);background:var(--wf-bg);border-color:var(--wf-border-strong)}.wf-ghost{color:var(--wf-text);background:0 0;border-color:#0000}.wf-secondary:hover,.wf-ghost:hover{opacity:1;background:var(--wf-surface-strong)}table{border-collapse:collapse;width:100%;font-size:var(--wf-text-sm)}th,td{text-align:left;padding:var(--wf-space-2) var(--wf-space-3);border-bottom:var(--wf-border-width) solid var(--wf-border)}th{background:var(--wf-surface);font-weight:600}tbody tr:hover{background:var(--wf-surface)}details{border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);padding:var(--wf-space-3) var(--wf-space-4);margin-bottom:var(--wf-space-4)}summary{cursor:pointer;font-weight:500}details[open] summary{margin-bottom:var(--wf-space-3)}dialog{border:var(--wf-border-width) solid var(--wf-border-strong);border-radius:var(--wf-radius);padding:var(--wf-space-6);max-width:min(32rem,90vw)}dialog::backdrop{background:#0006}progress,meter{accent-color:var(--wf-accent);width:100%}.wf-shell{grid-template:"header header""nav main"1fr/15rem 1fr;min-height:100vh;display:grid}.wf-shell>header{align-items:center;gap:var(--wf-space-4);padding:var(--wf-space-3) var(--wf-space-6);border-bottom:var(--wf-border-width) solid var(--wf-border);grid-area:header;display:flex}.wf-shell>nav{padding:var(--wf-space-4);border-right:var(--wf-border-width) solid var(--wf-border);background:var(--wf-surface);grid-area:nav}.wf-shell>main{padding:var(--wf-space-6);grid-area:main;min-width:0}@media (width<=768px){.wf-shell{grid-template-columns:1fr;grid-template-areas:"header""nav""main"}.wf-shell>nav{border-right:0;border-bottom:var(--wf-border-width) solid var(--wf-border)}}.wf-shell>nav ul{margin:0;padding:0;list-style:none}.wf-shell>nav a{padding:var(--wf-space-2) var(--wf-space-3);border-radius:var(--wf-radius);color:var(--wf-text);font-size:var(--wf-text-sm);text-decoration:none;display:block}.wf-shell>nav a:hover{background:var(--wf-surface-strong)}.wf-shell>nav a[aria-current=page]{background:var(--wf-accent);color:var(--wf-accent-contrast)}.wf-container{max-width:72rem;padding-inline:var(--wf-space-4);margin-inline:auto}.wf-stack{gap:var(--wf-space-4);flex-direction:column;display:flex}.wf-stack>*{margin:0}.wf-row{align-items:center;gap:var(--wf-space-3);flex-wrap:wrap;display:flex}.wf-between{justify-content:space-between}.wf-end{justify-content:flex-end}.wf-grid{--wf-min:14rem;grid-template-columns:repeat(auto-fit, minmax(min(var(--wf-min), 100%), 1fr));gap:var(--wf-space-4);display:grid}.wf-card{background:var(--wf-bg);border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);padding:var(--wf-space-4)}.wf-card>:last-child{margin-bottom:0}.wf-badge{font-size:var(--wf-text-xs);border:var(--wf-border-width) solid var(--wf-border-strong);color:var(--wf-text);background:var(--wf-surface);border-radius:999px;padding:.1em .5em;font-weight:500;display:inline-block}.wf-badge.wf-solid{background:var(--wf-accent);color:var(--wf-accent-contrast);border-color:var(--wf-accent)}.wf-tabs{gap:var(--wf-space-1);border-bottom:var(--wf-border-width) solid var(--wf-border);margin-bottom:var(--wf-space-4);display:flex}.wf-tabs>*{padding:var(--wf-space-2) var(--wf-space-3);font-size:var(--wf-text-sm);color:var(--wf-text-muted);border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none}.wf-tabs>[aria-selected=true],.wf-tabs>[aria-current=page]{color:var(--wf-text);border-bottom-color:var(--wf-accent);font-weight:500}.wf-notice{padding:var(--wf-space-3) var(--wf-space-4);border:var(--wf-border-width) dashed var(--wf-border-strong);border-radius:var(--wf-radius);background:var(--wf-surface);font-size:var(--wf-text-sm)}.wf-placeholder{background:linear-gradient(to top right, transparent calc(50% - .5px), var(--wf-border) 50%, transparent calc(50% + .5px)), linear-gradient(to top left, transparent calc(50% - .5px), var(--wf-border) 50%, transparent calc(50% + .5px)), var(--wf-surface);border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);min-height:6rem;position:relative}.wf-placeholder[data-label]:after{content:attr(data-label);padding:var(--wf-space-1) var(--wf-space-2);font-size:var(--wf-text-xs);color:var(--wf-text-muted);background:var(--wf-bg);border-radius:var(--wf-radius);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.wf-ratio-16x9{aspect-ratio:16/9;min-height:0}.wf-ratio-1x1{aspect-ratio:1;min-height:0}.wf-avatar{background:var(--wf-grey-200);border:var(--wf-border-width) solid var(--wf-border);border-radius:50%;flex:none;width:2.25rem;height:2.25rem}.wf-lines{gap:var(--wf-space-2);flex-direction:column;display:flex}.wf-lines>span{background:var(--wf-grey-200);border-radius:999px;height:.6rem;display:block}.wf-lines>span:last-child:not(:first-child){width:60%}.wf-skeleton{border-radius:var(--wf-radius);background:linear-gradient(90deg, var(--wf-grey-100) 25%, var(--wf-grey-200) 50%, var(--wf-grey-100) 75%);background-size:200% 100%;min-height:1rem;animation:1.4s linear infinite wf-shimmer}@keyframes wf-shimmer{to{background-position:-200% 0}}.wf-breadcrumbs{align-items:center;gap:var(--wf-space-2);font-size:var(--wf-text-sm);color:var(--wf-text-muted);flex-wrap:wrap;display:flex}.wf-breadcrumbs>*+:before{content:"/";margin-right:var(--wf-space-2);color:var(--wf-grey-400)}.wf-breadcrumbs a{color:var(--wf-text-muted);padding:0;text-decoration:none;display:inline}.wf-breadcrumbs a:hover{color:var(--wf-text);background:0 0;text-decoration:underline}.wf-breadcrumbs>:last-child{color:var(--wf-text)}.wf-alert{gap:var(--wf-space-3);padding:var(--wf-space-3) var(--wf-space-4);border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);background:var(--wf-surface);font-size:var(--wf-text-sm);border-left-width:4px;align-items:flex-start;display:flex}.wf-alert>strong{flex:none}.wf-alert[data-kind=info]{border-left-color:var(--wf-grey-400)}.wf-alert[data-kind=success]{border-left-color:var(--wf-grey-500);border-left-style:double;border-left-width:6px}.wf-alert[data-kind=warning]{border-left-color:var(--wf-grey-700);border-left-style:dashed}.wf-alert[data-kind=error]{border-left-color:var(--wf-black);background:var(--wf-surface-strong)}.wf-toasts{right:var(--wf-space-4);bottom:var(--wf-space-4);gap:var(--wf-space-2);z-index:100;flex-direction:column;display:flex;position:fixed}.wf-toast{align-items:center;gap:var(--wf-space-3);padding:var(--wf-space-2) var(--wf-space-2) var(--wf-space-2) var(--wf-space-4);background:var(--wf-grey-900);color:var(--wf-white);border-radius:var(--wf-radius);font-size:var(--wf-text-sm);display:flex;box-shadow:0 4px 12px #00000026}.wf-toast .wf-ghost{color:var(--wf-white)}.wf-toast .wf-ghost:hover{background:var(--wf-grey-700)}.wf-tooltip{cursor:help;display:inline-block;position:relative}.wf-tooltip:after{content:attr(data-tip);padding:var(--wf-space-1) var(--wf-space-2);background:var(--wf-grey-900);color:var(--wf-white);font-size:var(--wf-text-xs);white-space:nowrap;border-radius:var(--wf-radius);opacity:0;pointer-events:none;z-index:50;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.wf-tooltip:hover:after,.wf-tooltip:focus:after{opacity:1}.wf-icon{width:1.25rem;height:1.25rem;font-size:var(--wf-text-xs);border:var(--wf-border-width) solid var(--wf-border-strong);color:var(--wf-text-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}button.wf-icon-button{width:var(--wf-control-height);padding:0}.wf-spinner{border:2px solid var(--wf-grey-200);border-top-color:var(--wf-accent);border-radius:50%;flex:none;width:1.25rem;height:1.25rem;animation:.8s linear infinite wf-spin}@keyframes wf-spin{to{transform:rotate(360deg)}}.wf-switch{align-items:center;gap:var(--wf-space-2);cursor:pointer;margin:0;font-weight:400;display:inline-flex}.wf-switch input{appearance:none;background:var(--wf-grey-300);cursor:pointer;border-radius:999px;flex:none;width:2.25rem;height:1.25rem;margin:0;transition:background .15s;position:relative}.wf-switch input:after{content:"";background:var(--wf-white);border-radius:50%;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);transition:transform .15s;position:absolute;top:2px;left:2px}.wf-switch input:checked{background:var(--wf-accent)}.wf-switch input:checked:after{transform:translate(1rem)}.wf-segmented{background:var(--wf-surface-strong);border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);padding:2px;display:inline-flex}.wf-segmented>button{min-height:calc(var(--wf-control-height) - 6px);color:var(--wf-text-muted);background:0 0;border-color:#0000}.wf-segmented>button:hover{opacity:1;color:var(--wf-text)}.wf-segmented>button[aria-pressed=true]{background:var(--wf-bg);color:var(--wf-text);border-color:var(--wf-border)}.wf-input-group{align-items:stretch;display:flex}.wf-input-group>*{margin:0;border-radius:0!important}.wf-input-group>:first-child{border-top-left-radius:var(--wf-radius)!important;border-bottom-left-radius:var(--wf-radius)!important}.wf-input-group>:last-child{border-top-right-radius:var(--wf-radius)!important;border-bottom-right-radius:var(--wf-radius)!important}.wf-input-group>*+*{margin-left:calc(var(--wf-border-width) * -1)}.wf-input-group>input,.wf-input-group>select{flex:1;min-width:0}.wf-input-group>span{padding:0 var(--wf-space-3);font-size:var(--wf-text-sm);color:var(--wf-text-muted);background:var(--wf-surface);border:var(--wf-border-width) solid var(--wf-border);align-items:center;display:inline-flex}.wf-hint{margin-top:var(--wf-space-1);font-size:var(--wf-text-xs);color:var(--wf-text-muted);display:block}.wf-invalid{border-color:var(--wf-black)!important;border-width:2px!important}.wf-hint.wf-error{color:var(--wf-text);font-weight:600}.wf-hint.wf-error:before{content:"⚠ "}.wf-chip{align-items:center;gap:var(--wf-space-1);font-size:var(--wf-text-xs);background:var(--wf-surface-strong);border:var(--wf-border-width) solid var(--wf-border);border-radius:999px;padding:.15em .6em;display:inline-flex}.wf-chip>button{width:1rem;height:1rem;min-height:0;font-size:var(--wf-text-sm);color:var(--wf-text-muted);background:0 0;border:0;border-radius:50%;padding:0;line-height:1}.wf-chip>button:hover{background:var(--wf-grey-300);color:var(--wf-text);opacity:1}.wf-avatar-group{display:flex}.wf-avatar-group>.wf-avatar{border:2px solid var(--wf-bg)}.wf-avatar-group>.wf-avatar+.wf-avatar{margin-left:-.6rem}.wf-avatar.wf-sm{width:1.5rem;height:1.5rem}.wf-avatar.wf-lg{width:3.5rem;height:3.5rem}details.wf-dropdown{border:0;margin:0;padding:0;display:inline-block;position:relative}details.wf-dropdown>summary{margin:0;list-style:none}details.wf-dropdown>summary::-webkit-details-marker{display:none}details.wf-dropdown>summary:after{content:"▾";font-size:.8em}.wf-menu{min-width:11rem;padding:var(--wf-space-1);background:var(--wf-bg);border:var(--wf-border-width) solid var(--wf-border-strong);border-radius:var(--wf-radius);z-index:40;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 16px #0000001a}.wf-dropdown.wf-right .wf-menu{left:auto;right:0}.wf-menu>a,.wf-menu>button{width:100%;padding:var(--wf-space-2) var(--wf-space-3);min-height:0;font-size:var(--wf-text-sm);color:var(--wf-text);border-radius:var(--wf-radius);background:0 0;border:0;justify-content:flex-start;font-weight:400;text-decoration:none;display:flex}.wf-menu>a:hover,.wf-menu>button:hover{background:var(--wf-surface-strong);opacity:1}.wf-menu>hr{margin:var(--wf-space-1) 0}dialog.wf-modal{width:min(32rem,90vw);padding:0}.wf-modal>header,.wf-modal>footer{align-items:center;gap:var(--wf-space-2);padding:var(--wf-space-3) var(--wf-space-4);display:flex}.wf-modal>header{border-bottom:var(--wf-border-width) solid var(--wf-border);justify-content:space-between;font-weight:600}.wf-modal>section{padding:var(--wf-space-4)}.wf-modal>footer{border-top:var(--wf-border-width) solid var(--wf-border);background:var(--wf-surface);justify-content:flex-end}dialog.wf-drawer{border-width:0 0 0 var(--wf-border-width);border-radius:0;width:min(26rem,90vw);max-width:none;height:100vh;max-height:100vh;margin:0 0 0 auto}.wf-pagination{align-items:center;gap:var(--wf-space-1);font-size:var(--wf-text-sm);display:flex}.wf-pagination>a,.wf-pagination>span{min-width:2rem;height:2rem;padding:0 var(--wf-space-2);color:var(--wf-text);border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.wf-pagination>span{color:var(--wf-text-muted);border-color:#0000}.wf-pagination>a:hover{background:var(--wf-surface-strong)}.wf-pagination>a[aria-current=page]{background:var(--wf-accent);color:var(--wf-accent-contrast);border-color:var(--wf-accent)}.wf-steps{gap:var(--wf-space-2);counter-reset:wf-step;font-size:var(--wf-text-sm);padding:0;list-style:none;display:flex}.wf-steps>li{align-items:center;gap:var(--wf-space-2);color:var(--wf-text-muted);counter-increment:wf-step;flex:1;display:flex}.wf-steps>li:before{content:counter(wf-step);border:var(--wf-border-width) solid var(--wf-border-strong);width:1.75rem;height:1.75rem;font-size:var(--wf-text-xs);background:var(--wf-bg);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.wf-steps>li:not(:last-child):after{content:"";background:var(--wf-border);flex:1;height:1px}.wf-steps>li[data-state=current]{color:var(--wf-text);font-weight:600}.wf-steps>li[data-state=current]:before{border-width:2px;border-color:var(--wf-accent)}.wf-steps>li[data-state=done]{color:var(--wf-text)}.wf-steps>li[data-state=done]:before{content:"✓";background:var(--wf-accent);color:var(--wf-accent-contrast);border-color:var(--wf-accent)}.wf-stat{gap:var(--wf-space-1);flex-direction:column;display:flex}.wf-stat>strong{font-size:var(--wf-text-xl);font-weight:600;line-height:1.2}.wf-stat>[data-trend]{font-size:var(--wf-text-xs);color:var(--wf-text-muted)}.wf-stat>[data-trend=up]:before{content:"▲ "}.wf-stat>[data-trend=down]:before{content:"▼ "}.wf-bar{background:linear-gradient(to right, var(--wf-accent) var(--wf-value,0%), var(--wf-grey-200) var(--wf-value,0%));border-radius:999px;height:.5rem}.wf-list{border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);padding:0;list-style:none}.wf-list>li{align-items:center;gap:var(--wf-space-3);padding:var(--wf-space-3) var(--wf-space-4);display:flex}.wf-list>li+li{border-top:var(--wf-border-width) solid var(--wf-border)}.wf-list.wf-interactive>li:hover{background:var(--wf-surface);cursor:pointer}.wf-kv{gap:var(--wf-space-2) var(--wf-space-6);font-size:var(--wf-text-sm);grid-template-columns:max-content 1fr;display:grid}.wf-kv>dt{color:var(--wf-text-muted)}.wf-kv>dd{margin:0}.wf-toolbar{align-items:center;gap:var(--wf-space-2);padding:var(--wf-space-2);background:var(--wf-surface);border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);flex-wrap:wrap;display:flex}.wf-toolbar>input,.wf-toolbar>select{width:auto}.wf-toolbar>.wf-divider{background:var(--wf-border);align-self:stretch;width:1px}.wf-table-wrap{border:var(--wf-border-width) solid var(--wf-border);border-radius:var(--wf-radius);overflow-x:auto}.wf-table-wrap>table{margin:0}.wf-table-wrap tr:last-child>td{border-bottom:0}td.wf-num,th.wf-num{text-align:right;font-variant-numeric:tabular-nums}th[aria-sort]{cursor:pointer}th[aria-sort=ascending]:after{content:" ↑"}th[aria-sort=descending]:after{content:" ↓"}.wf-empty{align-items:center;gap:var(--wf-space-3);padding:var(--wf-space-12) var(--wf-space-6);text-align:center;border:var(--wf-border-width) dashed var(--wf-border-strong);border-radius:var(--wf-radius);flex-direction:column;display:flex}.wf-empty>p{max-width:28rem;color:var(--wf-text-muted);margin:0}.wf-annotation{padding:var(--wf-space-1) var(--wf-space-2);font-family:var(--wf-font-mono);font-size:var(--wf-text-xs);color:var(--wf-grey-700);background:var(--wf-grey-100);border:var(--wf-border-width) dashed var(--wf-grey-500);border-radius:var(--wf-radius);display:inline-block}.wf-annotation:before{content:"✎ "}.wf-text-sm{font-size:var(--wf-text-sm)}.wf-text-lg{font-size:var(--wf-text-lg)}.wf-bold{font-weight:600}.wf-center{text-align:center}.wf-full{width:100%}.wf-grow{flex:1}.wf-hidden{display:none!important}.wf-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-page{max-width:26rem;margin:var(--wf-space-12) auto;padding-inline:var(--wf-space-4)}.wf-shell>header>a{font-weight:600;text-decoration:none}.page-loading{padding:var(--wf-space-12);justify-content:center;display:flex}
