html,body,#root{margin:0;min-height:100%}html{scrollbar-gutter:stable}body{background:var(--fo-bg, #F4ECDF)}.fo-root{--fo-font: "Source Sans 3", system-ui, sans-serif;--fo-display: Lora, Georgia, serif;--fo-mono: ui-monospace, SFMono-Regular, Menlo, monospace;position:relative;min-height:100vh;width:100%;box-sizing:border-box;display:flex;flex-direction:column;background:var(--fo-bg);color:var(--fo-text);font-family:var(--fo-font);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}.fo-root :where(*,*:before,*:after){box-sizing:border-box;margin:0;padding:0}.fo-root :where(button,input,select,textarea){font-family:inherit;color:inherit}.fo-root :where(a){color:inherit}.fo-root :where(button){cursor:pointer}.fo-root :where(button:disabled){cursor:default}.fo-root :focus-visible{outline:3px solid var(--fo-focus);outline-offset:2px}.fo-mono{font-family:var(--fo-mono)}.fo-muted{color:var(--fo-muted)}.fo-header{position:sticky;top:0;z-index:5;background:var(--fo-surface);border-bottom:1px solid var(--fo-border)}.fo-header-in{max-width:1240px;margin:0 auto;height:72px;padding:0 48px;display:flex;align-items:center;gap:28px}.fo-brand{display:flex;align-items:center;gap:12px;height:52px;padding:0 8px 0 0;border:none;border-radius:var(--fo-r-sm);background:none;flex-shrink:0}.fo-brand span{font-family:var(--fo-display);font-weight:500;font-size:21px;white-space:nowrap}.fo-topnav{display:flex;align-items:center;gap:6px}.fo-topnav-btn{height:44px;padding:0 20px;border:none;border-radius:var(--fo-r-hdr);background:transparent;color:var(--fo-muted);font-size:17px;font-weight:600;white-space:nowrap;transition:background .15s,box-shadow .15s,transform .15s,color .15s}.fo-topnav-btn:hover{background:var(--fo-surface);color:var(--fo-text);box-shadow:0 1px 2px #462d141a,0 6px 16px -6px #462d144d;transform:translateY(-1px)}.fo-topnav-btn:active{transform:translateY(0);box-shadow:0 1px 2px #462d141f}.fo-topnav-btn[aria-current=page]{background:var(--fo-sand);color:var(--fo-text);box-shadow:inset 0 1px 2px #462d141a}.fo-spacer{flex:1}.fo-bell{position:relative;width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:none;border-radius:var(--fo-r-sm);background:none;color:var(--fo-muted)}.fo-bell:hover{background:var(--fo-sand);color:var(--fo-text)}.fo-bell-dot{position:absolute;top:7px;right:7px;width:10px;height:10px;border-radius:50%;background:var(--fo-primary);box-shadow:0 0 0 2px var(--fo-surface)}.fo-chip{display:flex;align-items:center;gap:10px;height:48px;padding:0 12px 0 4px;flex-shrink:0;border:1px solid var(--fo-border);border-radius:var(--fo-r-hdr);background:none;font-size:17px;font-weight:600}.fo-chip:hover{background:var(--fo-sand)}.fo-chip-av{width:38px;height:38px;border-radius:var(--fo-r-hdr-in);color:#fffaf2;display:grid;place-items:center;font-size:15px;font-weight:700}.fo-page{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:40px 48px 80px}.fo-area{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:40px 48px 80px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start}.fo-area>main{min-width:0}.fo-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}.fo-side-title{padding:0 12px;font-family:var(--fo-display);font-weight:500;font-size:22px;line-height:1.2}.fo-side nav{display:flex;flex-direction:column;gap:2px}.fo-side-label{padding:0 12px 6px;font-size:15px;font-weight:600;color:var(--fo-muted)}.fo-side-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border:none;border-radius:var(--fo-r-sm);background:transparent;color:var(--fo-muted);font-size:16px;font-weight:600;text-align:left}.fo-side-item:hover{color:var(--fo-text)}.fo-side-item[aria-current=page]{background:var(--fo-primary-soft);color:var(--fo-primary-hover)}.fo-side-item>span:first-of-type{flex:1}.fo-count{min-width:24px;height:24px;padding:0 7px;border-radius:999px;font-size:14px;font-weight:700;line-height:24px;text-align:center}.fo-head{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}.fo-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:24px}.fo-head-row>div:first-child{flex:1 1 300px;display:flex;flex-direction:column;gap:6px}.fo-h1{font-family:var(--fo-display);font-weight:500;font-size:36px;line-height:1.15}.fo-lead{font-size:17px;color:var(--fo-muted);text-wrap:pretty}.fo-stack{display:flex;flex-direction:column;gap:20px}.fo-card{background:var(--fo-surface);border:1px solid var(--fo-border);border-radius:var(--fo-r-lg);box-shadow:var(--fo-shadow-sm);overflow:hidden}.fo-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:20px 24px}.fo-card-head>div:first-child{flex:1 1 280px;display:flex;flex-direction:column;gap:2px}.fo-h2{font-size:19px;font-weight:700}.fo-sub{font-size:16px;color:var(--fo-muted)}.fo-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 20px 14px 24px;border-top:1px solid var(--fo-border)}.fo-row-btn{width:100%;border:none;border-top:1px solid var(--fo-border);background:none;font-size:16px;text-align:left}.fo-row-btn:hover{background:var(--fo-bg)}.fo-row-btn:focus-visible{outline-offset:-3px}.fo-first{border-top:none}.fo-thead{display:flex;gap:16px;padding:12px 20px 12px 24px;background:var(--fo-sand);font-size:15px;font-weight:600;color:var(--fo-muted)}.fo-chev{flex:0 0 20px;color:var(--fo-muted);margin-left:auto}.fo-pick-row{flex-wrap:nowrap;align-items:center;gap:16px;padding:0 20px 0 24px}.fo-pick-row:hover{background:var(--fo-bg)}.fo-pick-row.picked{background:color-mix(in srgb,var(--fo-primary) 8%,transparent)}.fo-pick-open{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 0;border:none;background:none;color:inherit;font:inherit;font-size:16px;text-align:left;cursor:pointer}.fo-pick-open:focus-visible{outline-offset:3px}.fo-version{display:flex;flex-wrap:wrap;gap:2px 20px;margin:-12px 0 20px;font-size:14px;color:var(--fo-muted)}.fo-version b{color:var(--fo-text)}.fo-version a{color:var(--fo-primary);text-decoration:none}.fo-version a:hover{text-decoration:underline}.fo-fact{display:flex;flex-wrap:wrap;gap:4px 24px;padding:14px 24px;border-top:1px solid var(--fo-border)}.fo-fact>span:first-child{flex:0 0 160px;font-size:16px;color:var(--fo-muted)}.fo-fact>span:last-child{font-size:17px;font-weight:600}.fo-note{margin:0;padding:14px 24px 18px;border-top:1px solid var(--fo-border);font-size:16px;color:var(--fo-muted)}.fo-sq{width:44px;height:44px;flex-shrink:0;border-radius:var(--fo-r);background:var(--fo-sand);color:var(--fo-primary);display:grid;place-items:center}.fo-sq.sm{width:36px;height:36px;border-radius:var(--fo-r-sm)}.fo-sq.xs{width:34px;height:34px;border-radius:var(--fo-r-sm)}.fo-col{display:flex;flex-direction:column;min-width:0}.fo-strong{font-size:17px;font-weight:600}.fo-empty{padding:48px 24px;text-align:center;display:flex;flex-direction:column;gap:4px}.fo-empty>span:first-child{font-size:18px;font-weight:600}.fo-empty>span:last-child{font-size:16px;color:var(--fo-muted)}.fo-loading{padding:48px 24px;display:grid;place-items:center}.fo-spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--fo-sand);border-top-color:var(--fo-primary);animation:fo-spin .8s linear infinite}@keyframes fo-spin{to{transform:rotate(360deg)}}.fo-callout{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;margin-bottom:20px;border-radius:var(--fo-r);background:var(--fo-sand);font-size:16px;line-height:1.5}.fo-callout>svg{flex-shrink:0;margin-top:1px;color:var(--fo-primary)}.fo-modal-body .fo-callout{margin-bottom:0}.fo-callout.warn{background:var(--fo-warn-soft)}.fo-callout.warn>svg{color:var(--fo-warn)}.fo-callout.error{background:var(--fo-error-soft)}.fo-callout.error>svg{color:var(--fo-error)}.fo-banner{display:flex;align-items:center;gap:16px;padding:20px 24px;margin-bottom:20px;border-radius:var(--fo-r-lg)}.fo-banner-title{font-size:20px;font-weight:700}.fo-notice{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 18px;margin-bottom:24px;border-radius:var(--fo-r);background:var(--fo-warn-soft)}.fo-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%}.fo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border:none;border-radius:var(--fo-r);font-size:17px;font-weight:600;white-space:nowrap}.fo-btn:focus-visible{outline-offset:3px}.fo-btn:disabled{opacity:.55}.fo-btn.md{height:46px;padding:0 18px}.fo-btn.sm{height:44px;padding:0 16px;font-size:16px}.fo-btn.xs{height:40px;padding:0 14px;font-size:16px;border-radius:var(--fo-r-sm)}.fo-primary{background:var(--fo-primary);color:var(--fo-on-primary)}.fo-primary:hover:not(:disabled){background:var(--fo-primary-hover)}.fo-secondary{border:1.5px solid var(--fo-field);background:var(--fo-surface);color:var(--fo-text)}.fo-secondary:hover:not(:disabled){background:var(--fo-sand)}.fo-ghost{background:none;color:var(--fo-text)}.fo-ghost:hover:not(:disabled){background:var(--fo-sand)}.fo-danger{background:var(--fo-error);color:var(--fo-on-primary)}.fo-danger-outline{border:1.5px solid var(--fo-error);background:none;color:var(--fo-error)}.fo-danger-outline:hover{background:var(--fo-error-soft)}.fo-danger-ghost{background:none;color:var(--fo-error)}.fo-danger-ghost:hover{background:var(--fo-error-soft)}.fo-link{height:40px;padding:0 12px;border:none;border-radius:var(--fo-r-sm);background:none;color:var(--fo-primary-hover);font-size:16px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.fo-link.under{color:var(--fo-text);text-decoration:underline;text-underline-offset:3px}.fo-icon-btn{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:none;border-radius:var(--fo-r-sm);background:none;color:var(--fo-muted)}.fo-icon-btn:hover:not(:disabled){background:var(--fo-sand);color:var(--fo-text)}.fo-icon-btn.del:hover:not(:disabled){background:var(--fo-error-soft);color:var(--fo-error)}.fo-icon-btn:disabled{opacity:.35}.fo-switch{position:relative;width:52px;height:30px;flex-shrink:0;border:none;border-radius:999px;background:var(--fo-field);transition:background .15s;padding:0}.fo-switch[aria-checked=true]{background:var(--fo-primary)}.fo-switch>span{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fffaf2;box-shadow:0 1px 2px #00000040;transition:left .15s}.fo-switch[aria-checked=true]>span{left:25px}.fo-switch:disabled{opacity:.45}.fo-seg{display:flex;gap:4px;padding:4px;border-radius:var(--fo-r);background:var(--fo-sand);max-width:100%;overflow-x:auto;scrollbar-width:none}.fo-seg>button{height:40px;padding:0 14px;border:none;border-radius:var(--fo-r-sm);background:transparent;color:var(--fo-muted);font-size:16px;font-weight:600;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:8px}.fo-seg>button[aria-checked=true]{background:var(--fo-surface);color:var(--fo-text);box-shadow:var(--fo-shadow-sm)}.fo-seg.lg>button{height:42px;padding:0 16px}.fo-input{width:100%;height:52px;padding:0 16px;border:1.5px solid var(--fo-field);border-radius:var(--fo-r);background:var(--fo-surface);color:var(--fo-text);font-size:17px;outline:none}.fo-input:focus,.fo-input:focus-visible{border-color:var(--fo-primary);box-shadow:0 0 0 4px var(--fo-ring);outline:none}.fo-input.h48{height:48px}select.fo-input{appearance:none;-webkit-appearance:none;padding-right:44px}.fo-select{position:relative;display:block}.fo-select>svg{position:absolute;right:16px;top:17px;pointer-events:none;color:var(--fo-muted)}.fo-search{position:relative;flex:1 1 260px;max-width:380px;display:block}.fo-search>svg{position:absolute;left:14px;top:15px;color:var(--fo-muted)}.fo-search>input{height:48px;padding-left:42px}.fo-field{display:flex;flex-direction:column;gap:8px}.fo-field>span:first-child{font-size:16px;font-weight:600}.fo-hint{font-size:15px;color:var(--fo-muted)}.fo-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.fo-pill{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;font-size:15px;font-weight:600;white-space:nowrap}.fo-pill.sm{height:26px;padding:0 9px;font-size:14px;font-weight:700}.fo-pill.xs{height:24px;padding:0 8px;font-size:14px;font-weight:700}.fo-tone-neutral{background:var(--fo-sand);color:var(--fo-muted)}.fo-tone-accent{background:var(--fo-primary-soft);color:var(--fo-primary-hover)}.fo-tone-ok{background:var(--fo-ok-soft);color:var(--fo-ok)}.fo-tone-warn{background:var(--fo-warn-soft);color:var(--fo-warn)}.fo-tone-danger{background:var(--fo-error-soft);color:var(--fo-error)}.fo-code{font-family:var(--fo-mono);font-size:14px;padding:4px 8px;border-radius:6px;background:var(--fo-sand)}.fo-choice{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1.5px solid var(--fo-border);border-radius:var(--fo-r);background:var(--fo-surface);text-align:left}.fo-choice[aria-checked=true]{border-color:var(--fo-primary);background:var(--fo-primary-soft)}.fo-choice:disabled{opacity:.45}.fo-chipbtn{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;border:1.5px solid var(--fo-border);border-radius:999px;background:var(--fo-surface);color:var(--fo-text);font-size:16px;font-weight:600}.fo-chipbtn[aria-checked=true]{border-color:var(--fo-primary);background:var(--fo-primary-soft);color:var(--fo-primary-hover)}.fo-sandbox{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:var(--fo-r);background:var(--fo-sand)}.fo-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.fo-tile{display:flex;align-items:center;gap:14px;min-width:0;padding:12px 14px;background:var(--fo-surface);border:1px solid var(--fo-border);border-radius:var(--fo-r);box-shadow:var(--fo-shadow-sm);color:var(--fo-text);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}.fo-tile:hover{transform:translateY(-1px);box-shadow:var(--fo-shadow);border-color:var(--fo-field)}.fo-tile:focus-visible{outline-offset:3px}.fo-tile-text{display:flex;flex-direction:column;min-width:0}.fo-tile-title{font-size:17px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-tile-sub{font-size:14px;color:var(--fo-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-svc-ic{display:grid;place-items:center;flex-shrink:0}@media(max-width:719px){.fo-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.fo-tile{gap:10px;padding:10px 12px}}.fo-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.fo-kpi{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border:1px solid var(--fo-border);border-radius:var(--fo-r-lg);background:var(--fo-surface);box-shadow:var(--fo-shadow-sm);text-align:left}.fo-kpi:hover{border-color:var(--fo-field)}.fo-kpi-label{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:16px;font-weight:600;color:var(--fo-muted)}.fo-kpi-value{font-size:34px;font-weight:700;line-height:1.15}.fo-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.fo-stat{padding:16px 20px;background:var(--fo-surface);border:1px solid var(--fo-border);border-radius:var(--fo-r-lg);display:flex;flex-direction:column}.fo-stat>span:first-child{font-size:28px;font-weight:700;line-height:1.2}.fo-stat>span:last-child{font-size:16px;color:var(--fo-muted)}.fo-two{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.fo-two>section{min-width:0}.fo-round{width:40px;height:40px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.fo-av{flex-shrink:0;border-radius:50%;color:#fffaf2;display:grid;place-items:center;font-weight:700}.fo-av.pending{background:transparent;color:var(--fo-muted);border:1.5px dashed var(--fo-field)}.fo-matrix{width:100%;border-collapse:collapse;font-size:16px;min-width:720px}.fo-matrix thead tr{background:var(--fo-sand)}.fo-matrix th{padding:12px 6px;font-weight:600}.fo-matrix th:first-child{text-align:left;padding:14px 24px;font-size:15px;color:var(--fo-muted)}.fo-matrix tbody tr{border-top:1px solid var(--fo-border)}.fo-matrix td{text-align:center;padding:8px 6px}.fo-matrix td:first-child{text-align:left;padding:10px 24px}.fo-matrix td:last-child{padding:8px 20px;text-align:right;white-space:nowrap}.fo-check{width:36px;height:36px;display:inline-grid;place-items:center;border:1.5px solid var(--fo-field);border-radius:var(--fo-r-sm);background:var(--fo-surface);color:var(--fo-on-primary);padding:0}.fo-check[aria-checked=true]{background:var(--fo-primary);border-color:var(--fo-primary)}.fo-check>svg{opacity:0}.fo-check[aria-checked=true]>svg{opacity:1}.fo-check:disabled{opacity:.45}.fo-savebar{position:sticky;bottom:16px;z-index:4;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-top:16px;padding:12px 12px 12px 20px;border:1px solid var(--fo-border);border-radius:var(--fo-r-lg);background:var(--fo-surface);box-shadow:var(--fo-shadow)}.fo-savebar>span:first-child{font-size:17px;font-weight:600}.fo-savebar>span:last-child{display:flex;gap:8px}.fo-tabs{display:flex;gap:24px;margin-bottom:20px;border-bottom:1px solid var(--fo-border)}.fo-tab{position:relative;height:48px;padding:0 2px;border:none;background:none;color:var(--fo-muted);font-size:17px;font-weight:600}.fo-tab[aria-selected=true]{color:var(--fo-text)}.fo-tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--fo-primary)}.fo-order{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.fo-order>button{width:40px;height:28px;display:grid;place-items:center;border:none;border-radius:6px;background:none;color:var(--fo-muted);padding:0}.fo-order>button:hover:not(:disabled){background:var(--fo-sand);color:var(--fo-text)}.fo-order>button:disabled{opacity:.3}.fo-order>span{font-size:15px;font-weight:700;color:var(--fo-muted);line-height:1.1}.fo-bar{width:80px;height:6px;border-radius:3px;background:var(--fo-sand);overflow:hidden}.fo-bar>span{display:block;height:100%;border-radius:3px}.fo-day{padding:10px 24px;background:var(--fo-sand);font-size:15px;font-weight:700;color:var(--fo-muted);border-top:1px solid var(--fo-border)}.fo-day.fo-first{border-top:none}.fo-palettes{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.fo-palette{display:flex;flex-direction:column;gap:10px;padding:10px;border:2px solid var(--fo-border);border-radius:var(--fo-r-lg);background:var(--fo-surface);text-align:left}.fo-palette[aria-checked=true]{border-color:var(--fo-primary)}.fo-palette-pv{position:relative;height:76px;border-radius:var(--fo-r);overflow:hidden}.fo-palette-pv>span{position:absolute}.fo-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}.fo-icons>button{height:48px;display:grid;place-items:center;border:1.5px solid var(--fo-border);border-radius:var(--fo-r-sm);background:var(--fo-surface);color:var(--fo-muted);padding:0}.fo-icons>button:hover{color:var(--fo-text)}.fo-icons>button[aria-checked=true]{border-color:var(--fo-primary);background:var(--fo-primary-soft);color:var(--fo-primary-hover)}.fo-colors{display:flex;flex-wrap:wrap;gap:10px}.fo-colors>button{width:40px;height:40px;border:none;border-radius:50%;padding:0}.fo-colors>button[aria-checked=true]{box-shadow:0 0 0 3px var(--fo-surface),0 0 0 5px var(--fo-text)}.fo-colors>button:focus-visible{outline-offset:4px}.fo-tabbar{position:sticky;bottom:0;z-index:6;display:flex;justify-content:space-around;padding:6px 8px 10px;background:var(--fo-surface);border-top:1px solid var(--fo-border)}.fo-tabbar>button{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:56px;padding:6px 4px;border:none;border-radius:var(--fo-r-sm);background:none;color:var(--fo-muted);font-size:14px;font-weight:700}.fo-tabbar>button>span:first-child{width:56px;height:30px;border-radius:999px;display:grid;place-items:center}.fo-tabbar>button[aria-current=page]{color:var(--fo-text)}.fo-tabbar>button[aria-current=page]>span:first-child{background:var(--fo-primary-soft)}.fo-mlist{display:flex;flex-direction:column;gap:20px}.fo-mlist-item{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:0 16px;border:none;border-top:1px solid var(--fo-border);background:none;font-size:17px;font-weight:600;text-align:left}.fo-mlist-item>span:nth-child(2){flex:1}.fo-back{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 10px 0 4px;margin:-8px 0 8px -4px;border:none;border-radius:var(--fo-r-sm);background:none;color:var(--fo-muted);font-size:16px;font-weight:600;white-space:nowrap}.fo-scrim{position:fixed;inset:0;z-index:20}.fo-menu{position:fixed;z-index:21;top:78px;right:max(16px,calc((100% - 1240px)/2 + 48px));width:300px;max-width:calc(100% - 24px);padding:8px;background:var(--fo-surface);border:1px solid var(--fo-border);border-radius:var(--fo-r-lg);box-shadow:var(--fo-shadow)}.fo-menu.wide{width:360px}.fo-menu-title{padding:10px 12px 8px;font-size:17px;font-weight:700}.fo-menu-item{width:100%;display:flex;align-items:center;gap:12px;height:48px;padding:0 12px;border:none;border-radius:var(--fo-r-sm);background:none;color:var(--fo-text);font-size:17px;font-weight:600;text-align:left}.fo-menu-item:hover{background:var(--fo-sand)}.fo-menu-item>svg{color:var(--fo-muted)}.fo-menu-item.tall{height:auto;align-items:flex-start;padding:12px}.fo-menu-sep{height:1px;margin:6px 4px;background:var(--fo-border)}.fo-overlay{position:fixed;inset:0;z-index:30;background:var(--fo-overlay)}.fo-modal-wrap{display:flex;justify-content:center;align-items:flex-start;padding:96px 24px;overflow-y:auto}.fo-modal{width:100%;max-width:580px;background:var(--fo-surface);border:1px solid var(--fo-border);border-radius:var(--fo-r-lg);box-shadow:var(--fo-shadow);display:flex;flex-direction:column;overflow:hidden}.fo-modal-wrap.large{align-items:center;padding:4vh 32px}.fo-modal.large{max-height:92vh}.fo-modal.large .fo-modal-head{padding-bottom:18px;border-bottom:1px solid var(--fo-border)}.fo-modal.large .fo-modal-body{flex:1;min-height:0;overflow-y:auto;padding-top:22px}.fo-stack-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.fo-containers{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px}@media(max-width:899px){.fo-stack-top,.fo-containers{grid-template-columns:minmax(0,1fr)}}@media(max-width:719px){.fo-modal-wrap.large{padding:12px 8px}.fo-modal.large{max-height:calc(100vh - 24px)}}.fo-modal-head{display:flex;align-items:flex-start;gap:16px;padding:24px 20px 8px 28px}.fo-modal-head h2,.fo-drawer-head h2{font-family:var(--fo-display);font-weight:500;font-size:24px;line-height:1.25}.fo-modal-body{padding:16px 28px 24px;display:flex;flex-direction:column;gap:18px}.fo-modal-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 28px 24px;border-top:1px solid var(--fo-border)}.fo-drawer{position:fixed;z-index:31;top:0;right:0;bottom:0;width:500px;max-width:100%;display:flex;flex-direction:column;background:var(--fo-surface);border-left:1px solid var(--fo-border);box-shadow:var(--fo-shadow)}.fo-drawer-head{display:flex;align-items:flex-start;gap:14px;padding:22px 20px 18px 28px;border-bottom:1px solid var(--fo-border)}.fo-drawer-body{flex:1;overflow-y:auto;padding:20px 28px 24px;display:flex;flex-direction:column;gap:24px}.fo-drawer-foot{display:flex;align-items:center;gap:10px;padding:16px 28px 20px;border-top:1px solid var(--fo-border)}.fo-h3{font-size:18px;font-weight:700}.fo-box{border:1px solid var(--fo-border);border-radius:var(--fo-r);overflow:hidden}.fo-box>div{display:flex;align-items:center;gap:12px;padding:8px 14px;border-top:1px solid var(--fo-border)}.fo-box>div:first-child{border-top:none}.fo-toast{position:fixed;left:50%;bottom:24px;z-index:40;transform:translate(-50%);display:flex;align-items:center;gap:10px;min-height:48px;max-width:calc(100% - 32px);padding:10px 20px;border-radius:999px;background:var(--fo-text);color:var(--fo-bg);font-size:16px;font-weight:600;box-shadow:var(--fo-shadow)}.fo-toast.error{background:var(--fo-error);color:var(--fo-on-primary)}.fo-callout.ok{background:var(--fo-ok-soft)}.fo-callout.ok>svg{color:var(--fo-ok)}.fo-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.fo-facts{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:16px}.fo-panel{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--fo-r);background:var(--fo-sand)}.fo-panel-label{font-size:15px;font-weight:700;color:var(--fo-muted)}.fo-tile-box{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--fo-border);border-radius:var(--fo-r)}.fo-state{padding:48px 32px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.fo-prompt{width:100%;height:320px;padding:14px 16px;border:1.5px solid var(--fo-border);border-radius:var(--fo-r);background:var(--fo-bg);color:var(--fo-text);font-family:var(--fo-mono);font-size:14px;line-height:1.55;resize:vertical;outline:none}.fo-prompt:focus{border-color:var(--fo-primary);box-shadow:0 0 0 4px var(--fo-ring)}.fo-vuln-toggle{flex:1 1 300px;min-width:0;display:flex;align-items:flex-start;gap:10px;border:none;background:none;text-align:left;padding:2px 0}.fo-vuln-toggle>svg{margin-top:4px}.fo-comp{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-top:1px solid var(--fo-border)}.fo-box>.fo-comp{align-items:stretch}.fo-comp:first-child{border-top:none}.fo-comp-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}@keyframes fo-breathe{0%,to{transform:scale(.92);opacity:.55}50%{transform:scale(1.12);opacity:0}}.fo-login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px 8px}.fo-login-col{width:100%;max-width:440px;display:flex;flex-direction:column;gap:28px}.fo-login-brand{display:flex;flex-direction:column;align-items:center;gap:10px}.fo-login-brand svg{width:clamp(96px,26vw,120px);height:auto}.fo-login-brand h1{font-family:var(--fo-display);font-weight:500;font-size:clamp(24px,6.5vw,28px);line-height:1.2;letter-spacing:-.005em}@keyframes fo-fade{0%{opacity:0}}.fo-login-card{animation:fo-fade .2s ease;background:var(--fo-surface);border:1px solid var(--fo-border);border-radius:16px;box-shadow:var(--fo-shadow);padding:clamp(24px,7vw,40px)}.fo-login-stack{display:flex;flex-direction:column;gap:22px}.fo-login-center{display:flex;flex-direction:column;align-items:center;padding:8px 0;text-align:center}.fo-login-field{display:flex;flex-direction:column;gap:8px}.fo-login-field>span:first-child{font-size:17px;font-weight:600}.fo-login-hint{font-size:16px;color:var(--fo-muted)}.fo-login-input{width:100%;height:56px;padding:0 16px;border:1.5px solid var(--fo-field);border-radius:12px;background:var(--fo-surface);color:var(--fo-text);font-size:18px;outline:none;transition:border-color .15s,box-shadow .15s}.fo-login-input:focus,.fo-login-input:focus-visible{border-color:var(--fo-primary);box-shadow:0 0 0 4px var(--fo-ring);outline:none}.fo-login-input.invalid,.fo-login-input.invalid:focus{border:2px solid var(--fo-error)}.fo-login-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:64px;border:none;border-radius:14px;background:var(--fo-primary);color:var(--fo-on-primary);font-size:19px;font-weight:600;box-shadow:0 1px 2px #3c1e0a24;transition:background .15s}.fo-login-btn:hover:not(:disabled){background:var(--fo-primary-hover)}.fo-login-btn:active{transform:translateY(1px)}.fo-login-btn:focus-visible{outline-offset:3px}.fo-login-btn:disabled{opacity:.7}.fo-login-note{font-size:16px;line-height:1.5;color:var(--fo-muted);text-align:center;text-wrap:pretty}.fo-login-alert{display:flex;gap:10px;align-items:flex-start;color:var(--fo-error);font-size:16px;line-height:1.45;text-wrap:pretty}.fo-login-hello{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.fo-login-hello h2{font-family:var(--fo-display);font-weight:500;font-size:clamp(26px,7vw,30px);line-height:1.2}.fo-login-hello p{font-size:17px;color:var(--fo-muted)}.fo-login-back{align-self:center;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:none;border-radius:10px;background:none;color:var(--fo-muted);font-size:16px;font-weight:600}.fo-login-back:hover{color:var(--fo-text);background:var(--fo-sand)}.fo-login-invite{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:12px;background:var(--fo-sand)}.fo-login-ring{position:relative;width:96px;height:96px;display:grid;place-items:center}.fo-login-ring>span{position:absolute;inset:0;border-radius:50%;border:2px solid var(--fo-primary);animation:fo-breathe 2.8s ease-in-out infinite}.fo-login-ring>div{width:80px;height:80px;border-radius:50%;background:var(--fo-sand);color:var(--fo-primary);display:grid;place-items:center}.fo-login-foot{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;color:var(--fo-muted);font-size:16px}@media(prefers-reduced-motion:reduce){.fo-login-ring>span{animation:none;opacity:.4}.fo-login-card{animation:none}}.fo-boot{display:grid;place-items:center}@media(max-width:1079px){.fo-page,.fo-area{padding:32px 24px 64px}.fo-area{grid-template-columns:200px minmax(0,1fr);gap:28px}}@media(max-width:719px){.fo-header-in{height:64px;padding:0 12px 0 16px}.fo-chip{padding:0 4px;border-color:transparent}.fo-page,.fo-area{padding:24px 16px 40px}.fo-area{grid-template-columns:minmax(0,1fr)}.fo-h1{font-size:30px}.fo-menu{top:68px;right:12px}.fo-modal-wrap{padding:16px 12px}.fo-drawer{width:100%}.fo-toast,.fo-savebar{bottom:88px}.fo-wide-only{display:none!important}}@media(min-width:720px){.fo-narrow-only{display:none!important}.fo-tr{flex-wrap:nowrap}.fo-tr>*{min-width:0}}
