*,*:before,*:after{box-sizing:border-box;border:0 solid}html{-webkit-text-size-adjust:100%;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}@font-face{font-family:Kanit;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/kanit/v17/nKKU-Go6G5tXcr4-OSWg.ttf) format("truetype")}@font-face{font-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/kanit/v17/nKKZ-Go6G5tXcoaS.ttf) format("truetype")}@font-face{font-family:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/kanit/v17/nKKU-Go6G5tXcr5mOCWg.ttf) format("truetype")}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/kanit/v17/nKKU-Go6G5tXcr5KPyWg.ttf) format("truetype")}@font-face{font-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/kanit/v17/nKKU-Go6G5tXcr4uPiWg.ttf) format("truetype")}@font-face{font-family:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/kanit/v17/nKKU-Go6G5tXcr4yPSWg.ttf) format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTM.ttf) format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhRTM.ttf) format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTM.ttf) format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTM.ttf) format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDDsmRTM.ttf) format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/nunito/v32/XRXI3I6Li01BKofiOc5wtlZ2di8HDBImRTM.ttf) format("truetype")}:root{--fs-display: "Kanit", "Helvetica Neue", system-ui, sans-serif;--fs-body: "Nunito", system-ui, -apple-system, sans-serif;--fs-mono: ui-monospace, "SF Mono", "Roboto Mono", Menlo, monospace;--ink-1000: oklch(.18 .012 60);--ink-900: oklch(.24 .012 60);--ink-800: oklch(.32 .01 60);--ink-700: oklch(.42 .01 60);--ink-600: oklch(.55 .01 60);--ink-500: oklch(.66 .008 60);--ink-400: oklch(.78 .006 60);--ink-300: oklch(.86 .005 60);--ink-200: oklch(.92 .004 60);--ink-150: oklch(.95 .004 60);--ink-100: oklch(.97 .004 60);--ink-50: oklch(.985 .003 60);--signal: oklch(.86 .2 122);--signal-bright: oklch(.92 .22 122);--signal-deep: oklch(.55 .18 130);--signal-ink: oklch(.28 .1 130);--signal-soft: oklch(.95 .08 122);--hue-red: oklch(.66 .11 25);--hue-orange: oklch(.74 .1 55);--hue-yellow: oklch(.85 .09 90);--hue-green: oklch(.7 .1 145);--hue-blue: oklch(.65 .09 240);--hue-purple: oklch(.62 .1 295);--hue-charcoal: oklch(.48 .012 60);--bg: var(--ink-100);--surface: var(--ink-50);--surface-2: #ffffff;--surface-sunken: var(--ink-150);--line: var(--ink-200);--line-strong: var(--ink-300);--text: var(--ink-900);--text-soft: var(--ink-700);--text-mute: var(--ink-600);--text-faint: var(--ink-500);--accent: var(--signal);--accent-bright: var(--signal-bright);--accent-deep: var(--signal-deep);--accent-ink: var(--signal-ink);--accent-soft: var(--signal-soft);--r-xs: 4px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--d-1: 4px;--d-2: 8px;--d-3: 11px;--d-4: 14px;--d-5: 18px;--d-6: 22px;--d-7: 28px;--d-8: 36px;--d-9: 48px;--row-h: 44px;--tap: 34px;--shadow-sm: 0 1px 2px rgba(38, 30, 20, .04), 0 1px 1px rgba(38, 30, 20, .03);--shadow-md: 0 2px 4px rgba(38, 30, 20, .05), 0 4px 12px rgba(38, 30, 20, .06);--shadow-lg: 0 8px 16px rgba(38, 30, 20, .06), 0 24px 48px rgba(38, 30, 20, .08);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .6);--side-w: 232px;--header-h: 60px}[data-density=compact]{--d-1: 3px;--d-2: 6px;--d-3: 9px;--d-4: 12px;--d-5: 14px;--d-6: 18px;--d-7: 24px;--d-8: 32px;--d-9: 44px;--row-h: 36px;--tap: 30px}[data-density=comfortable]{--d-1: 5px;--d-2: 10px;--d-3: 14px;--d-4: 20px;--d-5: 24px;--d-6: 32px;--d-7: 40px;--d-8: 52px;--d-9: 72px;--row-h: 52px;--tap: 40px}body.dark-mode{--bg: oklch(.16 .01 60);--surface: oklch(.2 .01 60);--surface-2: oklch(.23 .01 60);--surface-sunken: oklch(.13 .01 60);--line: oklch(.28 .01 60);--line-strong: oklch(.36 .01 60);--text: oklch(.96 .005 60);--text-soft: oklch(.82 .006 60);--text-mute: oklch(.66 .008 60);--text-faint: oklch(.5 .01 60);--accent: oklch(.88 .22 122);--accent-bright: oklch(.94 .24 122);--accent-deep: oklch(.72 .2 125);--accent-ink: oklch(.2 .08 130);--accent-soft: oklch(.32 .08 122);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 1px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .5), 0 24px 48px rgba(0, 0, 0, .5);--ink: var(--text);--ink-soft: var(--text-soft);--ink-mute: var(--text-mute);--ink-faint: var(--text-faint)}html,body{font-family:var(--fs-body)}body{background:var(--bg);color:var(--text)}.fs-app,.fs-app *,.fs-ds,.fs-ds *{box-sizing:border-box}.fs-app,.fs-ds{font-family:var(--fs-body);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);font-feature-settings:"ss01","cv11"}.fs-ds h1,.fs-ds h2,.fs-ds h3,.fs-ds h4,.fs-ds h5,.fs-app h1,.fs-app h2,.fs-app h3,.fs-app h4,.fs-app h5{font-family:var(--fs-display);font-weight:500;letter-spacing:-.01em;margin:0;color:var(--text)}.fs-app button,.fs-ds button{font-family:inherit}.fs-app a,.fs-ds a{color:inherit;text-decoration:none}.fs-app input,.fs-app select,.fs-app textarea,.fs-ds input,.fs-ds select,.fs-ds textarea{font-family:inherit}.fs-contour{background-image:radial-gradient(ellipse 80% 60% at 30% 20%,transparent 38%,color-mix(in srgb,var(--accent) 12%,transparent) 39%,transparent 40%),radial-gradient(ellipse 80% 60% at 30% 20%,transparent 48%,color-mix(in srgb,var(--accent) 10%,transparent) 49%,transparent 50%),radial-gradient(ellipse 80% 60% at 30% 20%,transparent 58%,color-mix(in srgb,var(--accent) 8%,transparent) 59%,transparent 60%),radial-gradient(ellipse 80% 60% at 30% 20%,transparent 68%,color-mix(in srgb,var(--accent) 6%,transparent) 69%,transparent 70%)}.fs-grid-bg{background-image:linear-gradient(to right,color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px);background-size:24px 24px}[data-imagery=none] .fs-contour,[data-imagery=none] .fs-grid-bg{background-image:none!important}.fs-btn{display:inline-flex;align-items:center;gap:var(--d-2);height:var(--tap);padding:0 var(--d-4);border-radius:var(--r-sm);border:1px solid transparent;background:var(--surface-2);color:var(--text);font-weight:600;font-size:13px;letter-spacing:.01em;cursor:pointer;transition:background .12s,border-color .12s,transform .04s;white-space:nowrap}.fs-btn:hover{background:var(--ink-150)}.fs-btn:active{transform:translateY(.5px)}.fs-btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.fs-btn--primary:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.fs-btn--ghost{background:transparent;border-color:var(--line);color:var(--text-soft)}.fs-btn--ghost:hover{background:var(--surface-2);color:var(--text)}.fs-btn--danger{background:transparent;border-color:var(--line);color:var(--hue-red)}.fs-btn--danger:hover{background:color-mix(in srgb,var(--hue-red) 8%,transparent)}.fs-btn--sm{height:28px;padding:0 10px;font-size:12px}.fs-btn--xs{height:24px;padding:0 8px;font-size:11px;gap:4px}.fs-btn--icon{padding:0;width:var(--tap);justify-content:center}.fs-pill{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-pill);background:var(--ink-150);color:var(--text-soft);font-family:var(--fs-body);font-weight:600;font-size:11px;letter-spacing:.02em;border:1px solid var(--line);white-space:nowrap}body.dark-mode .fs-pill{background:var(--surface-2)}.fs-pill--match{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}body.dark-mode .fs-pill--match{color:var(--accent-bright)}.fs-pill--filled{background:var(--text);color:var(--bg);border-color:var(--text)}.fs-stage{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 6px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--line);font-size:11px;font-weight:600;color:var(--text-soft)}.fs-stage:before{content:"";width:6px;height:6px;border-radius:var(--r-pill);background:var(--stripe, var(--ink-400))}.fs-stage[data-color=red]{--stripe: var(--hue-red)}.fs-stage[data-color=orange]{--stripe: var(--hue-orange)}.fs-stage[data-color=yellow]{--stripe: var(--hue-yellow)}.fs-stage[data-color=green]{--stripe: var(--hue-green)}.fs-stage[data-color=blue]{--stripe: var(--hue-blue)}.fs-stage[data-color=purple]{--stripe: var(--hue-purple)}.fs-stage[data-color=charcoal]{--stripe: var(--hue-charcoal)}.fs-status{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text-soft);display:inline-flex;font-size:11px;font-weight:600;gap:6px;padding:2px 8px 2px 6px}.fs-status:before{background:var(--stripe, var(--ink-400));border-radius:var(--r-pill);content:"";height:6px;width:6px}.fs-status[data-status=active]{--stripe: var(--hue-green)}.fs-status[data-status=on_boarding]{--stripe: var(--hue-yellow)}.fs-status[data-status=inactive]{--stripe: var(--hue-charcoal);opacity:.7}.fs-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.fs-panel--raised{background:var(--surface-2);box-shadow:var(--shadow-md)}.fs-panel__head{display:flex;align-items:center;gap:var(--d-3);padding:var(--d-3) var(--d-4);border-bottom:1px solid var(--line)}.fs-panel__title{font-family:var(--fs-display);font-weight:500;font-size:14px;letter-spacing:-.005em;text-transform:none;color:var(--text)}.fs-panel__count{font-family:var(--fs-mono);font-size:11px;color:var(--text-mute);font-weight:500}.fs-input,.fs-select{height:var(--tap);padding:0 var(--d-3);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-family:var(--fs-body);font-size:13px;outline:none;transition:border-color .12s,box-shadow .12s;width:100%}.fs-input:focus,.fs-select:focus{border-color:var(--accent-deep);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.fs-label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);margin-bottom:4px}.fs-side{width:var(--side-w);background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0}.fs-side__brand{display:flex;align-items:center;gap:10px;height:var(--header-h);padding:0 var(--d-4);border-bottom:1px solid var(--line)}.fs-side__wordmark{font-family:var(--fs-display);font-weight:500;font-size:18px;letter-spacing:.04em;color:var(--text)}.fs-side__nav{padding:var(--d-3) var(--d-2);flex:1;overflow:auto}.fs-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-sm);color:var(--text-soft);font-weight:600;font-size:13px;cursor:pointer;position:relative}.fs-nav-item:hover,.fs-nav-item--active{background:var(--surface-sunken);color:var(--text)}.fs-nav-item--active:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent)}.fs-nav-section{padding:14px 14px 6px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.fs-nav-count{margin-left:auto;font-family:var(--fs-mono);font-size:11px;font-weight:600;color:var(--text-mute);background:var(--surface-2);padding:1px 7px;border-radius:var(--r-pill);border:1px solid var(--line)}.fs-nav-count--alert{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.fs-top{display:flex;align-items:center;gap:var(--d-4);height:var(--header-h);padding:0 var(--d-5);background:var(--surface);border-bottom:1px solid var(--line)}.fs-top__title{font-family:var(--fs-display);font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--text)}.fs-top__search{flex:1;max-width:380px;position:relative}.fs-top__search input{height:34px;padding:0 12px 0 32px;width:100%;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-size:13px;outline:none}.fs-top__search svg{position:absolute;top:50%;left:10px;transform:translateY(-50%);color:var(--text-mute)}.fs-mark{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-family:var(--fs-display);font-weight:500;font-size:18px;letter-spacing:-.02em;position:relative;overflow:hidden}.fs-mark:after{content:"";position:absolute;right:-3px;top:-3px;width:10px;height:10px;background:var(--surface);transform:rotate(45deg)}.fs-avatar{width:32px;height:32px;border-radius:var(--r-pill);background:var(--ink-200);color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center;font-family:var(--fs-display);font-weight:500;font-size:12px;flex-shrink:0;border:1px solid var(--line);letter-spacing:.02em}body.dark-mode .fs-avatar{background:var(--surface-2)}.fs-app *::-webkit-scrollbar{width:8px;height:8px}.fs-app *::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}.fs-app *::-webkit-scrollbar-track{background:transparent}.fs-divider{height:1px;background:var(--line);margin:var(--d-3) 0}.fs-monosmall{font-family:var(--fs-mono);font-size:11px;color:var(--text-mute)}.fs-empty-art{height:80px;display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-family:var(--fs-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.fs-auth{background:var(--bg);color:var(--text);font-family:var(--fs-body);min-height:100vh}.fs-auth .login-form{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:var(--d-6)}.fs-auth .logos{align-items:center;display:flex;gap:var(--d-4);justify-content:center}.fs-auth .logos svg{height:80px;width:80px}.fs-auth .logos svg.x{fill:var(--text-faint);height:50px;width:50px}.fs-auth .logos img{height:80px;width:auto}.fs-auth .auth-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md);margin-top:var(--d-5);max-width:420px;padding:var(--d-5) var(--d-6);width:100%}.fs-auth .auth-card h2{color:var(--text);font-family:var(--fs-display);font-weight:500;letter-spacing:-.005em;font-size:18px;margin:0 0 var(--d-2)}.fs-auth .field{margin-bottom:var(--d-4)}.fs-auth .form-label{color:var(--text);display:block;font-size:13px;font-weight:600;margin-bottom:var(--d-2)}.fs-auth .form-input{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--fs-body);font-size:14px;padding:8px 12px;transition:border-color .12s,box-shadow .12s;width:100%}.fs-auth .form-input:focus{border-color:var(--accent-deep);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.fs-auth .form-checkbox{accent-color:var(--accent-deep);border-radius:3px;margin-right:var(--d-2);vertical-align:middle}.fs-auth .form-checkbox-label{color:var(--text-soft);font-size:13px;vertical-align:middle}.fs-auth .form-description{color:var(--text-mute);font-size:13px;margin-bottom:var(--d-4)}.fs-auth .form-actions{align-items:center;display:flex;gap:var(--d-3);justify-content:flex-end;margin-top:var(--d-4)}.fs-auth .form-fields{display:flex;flex-direction:column;gap:var(--d-4)}.fs-auth .action-link{color:var(--text-soft);font-size:13px;font-weight:600;text-decoration:underline}.fs-auth .action-link:hover{color:var(--accent-deep)}.fs-auth .btn,.fs-auth .btn-primary{background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);color:var(--accent-ink);cursor:pointer;font-family:var(--fs-body);font-size:13px;font-weight:700;letter-spacing:.01em;padding:8px 16px;transition:background .12s,border-color .12s}.fs-auth .btn:hover,.fs-auth .btn-primary:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.fs-auth .input-error,.fs-auth [class*=text-red]{color:var(--hue-red);font-size:12px;margin-top:4px}.fs-auth .auth-session-status,.fs-auth [class*=text-green]{background:var(--accent-soft);border:1px solid var(--accent-deep);border-radius:var(--r-sm);color:var(--text);font-size:13px;margin-bottom:var(--d-4);padding:8px 12px}.modal-body{padding:var(--d-5)}
