:root{--fd-page:#f3f5f8;--fd-panel:#fff;--fd-panel-soft:#f8fafc;--fd-border:#e1e6ee;--fd-border-strong:#cbd3df;--fd-text:#172033;--fd-muted:#687386;--fd-link:#2452cc;--fd-link-strong:#173ea8;--fd-focus:#5b7cfa;--fd-sidebar:#131722;--fd-sidebar-soft:#1b2130;--fd-sidebar-text:#e9edf5;--fd-sidebar-muted:#98a3b7;--fd-success:#087443;--fd-danger:#b42318;--fd-shadow:0 10px 30px rgba(18,32,56,.07)}
*{box-sizing:border-box}html{min-width:320px;background:var(--fd-page)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--fd-page);color:var(--fd-text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--fd-link);text-underline-offset:2px}a:hover{color:var(--fd-link-strong)}input,button,select,textarea{font:inherit}input,select,textarea{max-width:100%}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.fd-app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.fd-sidebar{position:sticky;top:0;height:100dvh;overflow:auto;min-width:0;max-width:100%;background:linear-gradient(180deg,var(--fd-sidebar),#0f131c);color:var(--fd-sidebar-text);padding:1.1rem .85rem;display:flex;flex-direction:column;gap:1rem;border-right:1px solid rgba(255,255,255,.04)}.fd-brand{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;padding:.5rem .55rem}.fd-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#6b8cff,#3458d4);font-weight:800;box-shadow:0 8px 20px rgba(55,88,210,.3)}.fd-brand-name{font-weight:750;letter-spacing:.01em}.fd-sidebar-user{padding:.75rem .7rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:12px;min-width:0}.fd-sidebar-user small{display:block;color:var(--fd-sidebar-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.15rem}.fd-sidebar-user strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.fd-nav{display:grid;gap:.95rem;min-width:0;max-width:100%}.fd-nav-group{display:grid;gap:.25rem}.fd-nav-label{padding:.15rem .65rem;color:var(--fd-sidebar-muted);font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.fd-nav-link{display:flex;align-items:center;gap:.65rem;min-height:40px;padding:.55rem .65rem;border-radius:9px;color:var(--fd-sidebar-text);text-decoration:none;font-size:.9rem;font-weight:560}.fd-nav-link:hover{background:rgba(255,255,255,.06);color:#fff}.fd-nav-link.is-active{background:#26314a;color:#fff;box-shadow:inset 3px 0 0 #6f8dff}.fd-nav-dot{width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.45}.fd-nav-link.is-active .fd-nav-dot{opacity:1;color:#8aa2ff}.fd-workarea{min-width:0}.fd-topbar{height:64px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--fd-border);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1rem,2.4vw,2.25rem);position:sticky;top:0;z-index:20}.fd-topbar-title{display:grid;gap:.05rem;min-width:0}.fd-topbar-title strong{font-size:.95rem}.fd-topbar-title span{font-size:.78rem;color:var(--fd-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;min-width:0}.fd-topbar-link{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .55rem;border-radius:8px;color:#56647a;text-decoration:none;font-size:.79rem;font-weight:650}.fd-topbar-link:hover{background:#f1f4f9;color:#213454}.fd-topbar-user{display:flex;align-items:center;gap:.65rem;color:var(--fd-muted);font-size:.84rem;min-width:0;margin-left:.15rem}.fd-user-label{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#e8edff;color:#2447ad;font-weight:750;border:1px solid #d5defd;flex:0 0 auto}.fd-main{width:min(1540px,calc(100% - clamp(1.25rem,4vw,4rem)));margin:clamp(1.25rem,3vw,2.5rem) auto;padding:0;min-width:0}.fd-main h1,.fd-main h2,.fd-main h3{color:var(--fd-text);line-height:1.2}.fd-main h1{font-size:clamp(1.75rem,2.6vw,2.45rem);letter-spacing:-.025em}.fd-main h2{font-size:clamp(1.2rem,1.7vw,1.5rem);letter-spacing:-.012em}.fd-content{max-width:none!important;width:100%;box-sizing:border-box}.fd-panel,.card{background:var(--fd-panel);border:1px solid var(--fd-border);border-radius:14px;box-shadow:0 1px 2px rgba(18,32,56,.025)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:1rem}.card{padding:1rem;min-width:0}.error,.success{padding:.85rem 1rem;border-radius:11px;margin:.85rem 0;border:1px solid}.error{background:#fff3f0;color:#8f2118;border-color:#ffd0c9}.success{background:#ecfdf3;color:#05603a;border-color:#abefc6}.fd-flashes{margin-bottom:1rem}.fd-guest-header{background:var(--fd-sidebar);color:#fff}.fd-guest-header-inner{width:min(1100px,calc(100% - 2rem));margin:auto;padding:1rem 0}.fd-guest-main{width:min(1100px,calc(100% - 2rem));margin:2rem auto;background:var(--fd-panel);padding:clamp(1rem,3vw,2rem);border:1px solid var(--fd-border);border-radius:16px;box-shadow:var(--fd-shadow)}button,.fd-button{min-height:42px;border:1px solid var(--fd-border-strong);border-radius:9px;background:#fff;color:#263348;padding:.55rem .85rem;font-weight:650;transition:background .15s,border-color .15s,color .15s,transform .05s}button:hover:not(:disabled),.fd-button:hover{background:#f5f7fb;border-color:#b9c4d4}.fd-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.fd-button-primary{background:#244fc7;border-color:#244fc7;color:#fff}.fd-button-primary:hover{background:#1c40a8;border-color:#1c40a8;color:#fff}.fd-button-quiet{border-color:transparent;background:transparent;color:var(--fd-link)}:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--fd-focus);outline-offset:2px}
@media(max-width:980px){.fd-app-shell{grid-template-columns:1fr}.fd-sidebar{position:static;height:auto;overflow:visible;width:100%;min-width:0;max-width:100%;padding:.7rem 1rem;gap:.65rem}.fd-brand{padding:.25rem 0}.fd-sidebar-user{display:none}.fd-nav{display:flex;width:100%;min-width:0;max-width:100%;gap:.45rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:thin}.fd-nav-group{display:flex;gap:.3rem;flex:0 0 auto}.fd-nav-label{display:none}.fd-nav-link{min-height:38px;white-space:nowrap;padding:.45rem .7rem;background:rgba(255,255,255,.03)}.fd-nav-link.is-active{box-shadow:none;background:#2b3650}.fd-topbar{position:static;height:58px}.fd-main{width:min(100% - 1.5rem,1540px);margin:1.25rem auto}}
@media(max-width:760px){.fd-user-label{display:none}.fd-topbar-link{padding:.35rem .45rem}.fd-topbar-title{flex:1 1 auto;min-width:0}.fd-topbar-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fd-topbar-title span{display:none}}
@media(max-width:640px){.fd-sidebar{padding:.65rem .75rem}.fd-brand-mark{width:30px;height:30px;border-radius:8px}.fd-topbar{padding:0 .85rem}.fd-topbar-title span{display:none}.fd-topbar-actions{gap:.15rem}.fd-topbar-link{font-size:.75rem;padding:.3rem .4rem}.fd-avatar{width:30px;height:30px}.fd-main{width:calc(100% - 1rem);margin:.75rem auto}.fd-guest-main{width:calc(100% - 1rem);margin:.5rem auto;padding:1rem;border-radius:12px}.grid{grid-template-columns:1fr}}
.fd-sidebar-tenant{display:grid;gap:.3rem;padding:0 .2rem;min-width:0}.fd-sidebar-tenant label{color:var(--fd-sidebar-muted);font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase;padding:0 .45rem}.fd-sidebar-tenant select{width:100%;min-height:40px;padding:.45rem .6rem;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:var(--fd-sidebar-soft);color:#fff}.fd-sidebar-tenant select:focus-visible{outline-color:#8aa2ff}
button.fd-topbar-link{border:0;background:transparent;min-height:34px;padding:.35rem .55rem;color:#56647a}button.fd-topbar-link:hover{background:#f1f4f9;color:#213454;border:0}
.fd-palette-dialog{border:0;border-radius:14px;padding:0;width:min(640px,92vw);box-shadow:0 24px 64px rgba(10,20,40,.35)}.fd-palette-dialog::backdrop{background:rgba(10,16,28,.55)}.fd-palette{padding:1rem 1.1rem;display:grid;gap:.7rem}.fd-palette label{display:block;margin:0}.fd-palette input{width:100%;padding:.7rem .8rem;border:1px solid var(--fd-border-strong);border-radius:10px}.fd-palette-actions{display:flex;gap:.5rem;justify-content:flex-end}
@media(max-width:980px){.fd-sidebar-tenant{flex:0 0 auto;min-width:200px}.fd-sidebar-tenant label{display:none}.fd-sidebar-tenant select{min-height:38px}.fd-sidebar{flex-direction:row;flex-wrap:wrap;align-items:center}.fd-nav{flex:1 1 100%}}
.fd-sidebar-toggle{display:none;min-height:38px;padding:.35rem .6rem;border-radius:8px;border:1px solid var(--fd-border);background:#fff;color:#263348;font-weight:700;font-size:.82rem}
.fd-sidebar-close{display:none}
.fd-palette-dialog{max-width:min(760px,calc(100vw - 2rem))}
@media(max-width:1024px){
  .fd-app-shell{grid-template-columns:1fr}
  .fd-sidebar{position:fixed;top:0;left:0;z-index:60;width:min(320px,86vw);height:100dvh;overflow:auto;transform:translateX(-100%);transition:transform .18s ease;box-shadow:var(--fd-shadow)}
  .fd-app-shell.is-sidebar-open .fd-sidebar{transform:translateX(0)}
  .fd-sidebar-toggle{display:inline-flex;align-items:center}
  .fd-sidebar-close{display:inline-flex;align-items:center;align-self:flex-end;min-height:34px;padding:.3rem .55rem;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--fd-sidebar-text);font-weight:650}
  .fd-nav{display:grid;gap:.9rem;overflow:visible}
  .fd-nav-group{display:grid}
  .fd-main{width:min(100% - 1.5rem,1540px)}
}
@media(prefers-reduced-motion:reduce){.fd-sidebar{transition:none}}
@media(max-width:640px){.fd-topbar-title span{display:none}.fd-sidebar-toggle{order:-1}}
.fd-palette-hint{margin:.1rem 0 0;font-size:.78rem}
.fd-palette-results{display:grid;gap:.5rem;max-height:42vh;overflow-y:auto}
.fd-palette-results .fd-search-group{display:grid;gap:.2rem}
.fd-palette-results .fd-section-head{display:flex;justify-content:space-between;align-items:center}
.fd-palette-results h3,.fd-palette-results h4{margin:0;font-size:.85rem}
.fd-palette-results .fd-palette-list{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.fd-palette-results a{display:block;padding:.3rem .4rem;border-radius:8px}
.fd-palette-results a:hover,.fd-palette-results a:focus-visible{background:var(--fd-surface-control)}
