@charset "UTF-8";:root{--ff-color-primary: #1c6e45;--ff-color-primary-hover: #175c39;--ff-color-primary-active: #114b2f;--ff-color-primary-contrast: #ffffff;--ff-color-primary-bg: #e9f3ed;--ff-color-primary-bg-hover: #dcebe2;--ff-color-primary-border: #bedccb;--ff-color-primary-text: #13573a;--ff-color-canvas: #f4f5f7;--ff-color-surface: #ffffff;--ff-color-surface-2: #fafbfc;--ff-color-surface-sunken: #eef0f3;--ff-color-border: #e6e8ec;--ff-color-border-strong: #d3d7dd;--ff-color-overlay: rgba(18, 21, 26, .42);--ff-color-text: #181b21;--ff-color-text-secondary: #586069;--ff-color-text-muted: #868e98;--ff-color-text-inverse: #ffffff;--ff-color-success: #1a7f4b;--ff-color-success-bg: #e4f4ea;--ff-color-success-border: #bde3cc;--ff-color-warning: #9a6a12;--ff-color-warning-icon: #cf960c;--ff-color-warning-bg: #fcefcf;--ff-color-warning-border: #f0dba6;--ff-color-danger: #b42318;--ff-color-danger-bg: #fcebe8;--ff-color-danger-border: #f3c9c2;--ff-color-danger-hover: #94170f;--ff-color-info: #2563c9;--ff-color-info-bg: #e9f0fd;--ff-color-info-border: #c6daf8;--ff-color-neutral: #5f6772;--ff-color-neutral-bg: #eef0f3;--ff-color-neutral-border: #dde1e6;--ff-font-ui: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ff-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;--ff-text-xs: 12px;--ff-text-sm: 13px;--ff-text-base: 14px;--ff-text-md: 15px;--ff-text-lg: 16px;--ff-text-xl: 19px;--ff-text-2xl: 23px;--ff-text-3xl: 28px;--ff-text-display: 38px;--ff-leading-tight: 1.15;--ff-leading-snug: 1.35;--ff-leading-normal: 1.5;--ff-weight-regular: 400;--ff-weight-medium: 500;--ff-weight-semibold: 600;--ff-weight-bold: 700;--ff-tracking-caps: .06em;--ff-space-0: 0;--ff-space-1: 4px;--ff-space-2: 8px;--ff-space-3: 12px;--ff-space-4: 16px;--ff-space-5: 20px;--ff-space-6: 24px;--ff-space-7: 32px;--ff-space-8: 40px;--ff-space-9: 48px;--ff-space-10: 64px;--ff-radius-sm: 6px;--ff-radius-md: 8px;--ff-radius-lg: 12px;--ff-radius-xl: 16px;--ff-radius-pill: 999px;--ff-shadow-sm: 0 1px 2px rgba(18, 21, 26, .05), 0 1px 1px rgba(18, 21, 26, .03);--ff-shadow-md: 0 1px 3px rgba(18, 21, 26, .06), 0 6px 16px rgba(18, 21, 26, .06);--ff-shadow-lg: 0 12px 34px rgba(18, 21, 26, .13);--ff-focus-ring: 0 0 0 3px rgba(28, 110, 69, .32);--ff-focus-ring-danger: 0 0 0 3px rgba(180, 35, 24, .28);--ff-header-h: 56px;--ff-rail-w: 260px;--ff-rail-w-collapsed: 64px;--ff-control-h: 36px;--ff-control-h-sm: 30px;--ff-row-h: 48px;--ff-content-max: 1320px;--ff-transition: .14s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--ff-font-ui);font-size:var(--ff-text-base);line-height:var(--ff-leading-normal);color:var(--ff-color-text);background:var(--ff-color-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv01","ss01"}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--ff-color-primary-bg);color:var(--ff-color-primary-text)}.ff-tnum{font-variant-numeric:tabular-nums}.ff-mono{font-family:var(--ff-font-mono);font-feature-settings:normal}.ff-eyebrow{font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);letter-spacing:var(--ff-tracking-caps);text-transform:uppercase;color:var(--ff-color-text-muted)}.ff-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--ff-focus-ring);border-radius:var(--ff-radius-sm)}*{scrollbar-width:thin;scrollbar-color:#cdd2d8 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#cdd2d8;border-radius:999px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#b6bcc4;background-clip:padding-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ff-space-2);height:var(--ff-control-h);padding:0 var(--ff-space-4);border-radius:var(--ff-radius-md);border:1px solid transparent;font-size:var(--ff-text-base);font-weight:var(--ff-weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--ff-transition),border-color var(--ff-transition),color var(--ff-transition),box-shadow var(--ff-transition);-webkit-user-select:none;user-select:none}.ff-btn:focus-visible{box-shadow:var(--ff-focus-ring)}.ff-btn svg{width:16px;height:16px;flex:none}.ff-btn--sm{height:var(--ff-control-h-sm);padding:0 var(--ff-space-3);font-size:var(--ff-text-sm)}.ff-btn--block{width:100%}.ff-btn--primary{background:var(--ff-color-primary);color:var(--ff-color-primary-contrast)}.ff-btn--primary:hover{background:var(--ff-color-primary-hover)}.ff-btn--primary:active{background:var(--ff-color-primary-active)}.ff-btn--secondary{background:var(--ff-color-surface);color:var(--ff-color-text);border-color:var(--ff-color-border-strong)}.ff-btn--secondary:hover{background:var(--ff-color-surface-2);border-color:#c4c9d0}.ff-btn--secondary:active{background:var(--ff-color-surface-sunken)}.ff-btn--ghost{background:transparent;color:var(--ff-color-text-secondary)}.ff-btn--ghost:hover{background:var(--ff-color-surface-sunken);color:var(--ff-color-text)}.ff-btn--danger{background:var(--ff-color-surface);color:var(--ff-color-danger);border-color:var(--ff-color-danger-border)}.ff-btn--danger:hover{background:var(--ff-color-danger-bg)}.ff-btn--danger:focus-visible{box-shadow:var(--ff-focus-ring-danger)}.ff-btn:disabled,.ff-btn[aria-disabled=true]{opacity:.5;pointer-events:none}.ff-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:var(--ff-control-h);height:var(--ff-control-h);border-radius:var(--ff-radius-md);border:1px solid transparent;background:transparent;color:var(--ff-color-text-secondary);cursor:pointer;transition:background var(--ff-transition),color var(--ff-transition)}.ff-iconbtn:hover{background:var(--ff-color-surface-sunken);color:var(--ff-color-text)}.ff-iconbtn:focus-visible{box-shadow:var(--ff-focus-ring)}.ff-iconbtn svg{width:18px;height:18px}.ff-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--ff-radius-pill);border:1px solid transparent;font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);white-space:nowrap;line-height:1}.ff-pill svg{width:13px;height:13px}.ff-pill .ff-dot{width:7px;height:7px;border-radius:50%;flex:none}.ff-pill--success{background:var(--ff-color-success-bg);color:var(--ff-color-success);border-color:var(--ff-color-success-border)}.ff-pill--warning{background:var(--ff-color-warning-bg);color:var(--ff-color-warning);border-color:var(--ff-color-warning-border)}.ff-pill--danger{background:var(--ff-color-danger-bg);color:var(--ff-color-danger);border-color:var(--ff-color-danger-border)}.ff-pill--info{background:var(--ff-color-info-bg);color:var(--ff-color-info);border-color:var(--ff-color-info-border)}.ff-pill--neutral{background:var(--ff-color-neutral-bg);color:var(--ff-color-neutral);border-color:var(--ff-color-neutral-border)}.ff-pill--primary{background:var(--ff-color-primary-bg);color:var(--ff-color-primary-text);border-color:var(--ff-color-primary-border)}.ff-code{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--ff-radius-sm);background:var(--ff-color-surface-sunken);border:1px solid var(--ff-color-border);font-family:var(--ff-font-mono);font-size:var(--ff-text-xs);color:var(--ff-color-text-secondary);letter-spacing:.01em;white-space:nowrap}.ff-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--ff-radius-pill);background:var(--ff-color-surface-sunken);color:var(--ff-color-text-secondary);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums}.ff-count--accent{background:var(--ff-color-primary);color:#fff}.ff-count--warning{background:var(--ff-color-warning-bg);color:var(--ff-color-warning)}.ff-card{background:var(--ff-color-surface);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-sm)}.ff-card__head{display:flex;align-items:center;gap:var(--ff-space-3);padding:var(--ff-space-4) var(--ff-space-5);border-bottom:1px solid var(--ff-color-border)}.ff-card__title{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold)}.ff-card__meta{color:var(--ff-color-text-muted);font-size:var(--ff-text-sm)}.ff-card__body{padding:var(--ff-space-5)}.ff-kpi{padding:var(--ff-space-5);display:flex;flex-direction:column;gap:var(--ff-space-3)}.ff-kpi__top{display:flex;align-items:center;gap:var(--ff-space-2);color:var(--ff-color-text-secondary);font-size:var(--ff-text-sm)}.ff-kpi__top svg{width:16px;height:16px;color:var(--ff-color-text-muted)}.ff-kpi__value{font-size:var(--ff-text-display);font-weight:var(--ff-weight-bold);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ff-kpi__value small{font-size:var(--ff-text-xl);color:var(--ff-color-text-muted);font-weight:var(--ff-weight-medium)}.ff-kpi__foot{font-size:var(--ff-text-sm);color:var(--ff-color-text-muted)}.ff-kpi--link{cursor:pointer;transition:box-shadow var(--ff-transition),border-color var(--ff-transition);text-align:left;width:100%}.ff-kpi--link:hover{box-shadow:var(--ff-shadow-md);border-color:var(--ff-color-border-strong)}.ff-kpi--link:focus-visible{box-shadow:var(--ff-focus-ring)}.ff-tile{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:var(--ff-radius-md);background:var(--ff-color-surface-sunken);color:var(--ff-color-text-secondary)}.ff-tile svg{width:18px;height:18px}.ff-tile--primary{background:var(--ff-color-primary-bg);color:var(--ff-color-primary)}.ff-tile--info{background:var(--ff-color-info-bg);color:var(--ff-color-info)}.ff-table-wrap{width:100%;overflow:visible}@media(max-width:920px){.ff-table-wrap{overflow-x:auto}}.ff-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--ff-text-base)}.ff-table thead th{position:sticky;top:0;z-index:1;text-align:left;font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);letter-spacing:var(--ff-tracking-caps);text-transform:uppercase;color:var(--ff-color-text-muted);background:var(--ff-color-surface-2);padding:var(--ff-space-3) var(--ff-space-4);border-bottom:1px solid var(--ff-color-border);white-space:nowrap}.ff-table tbody td{padding:0 var(--ff-space-4);height:var(--ff-row-h);border-bottom:1px solid var(--ff-color-border);vertical-align:middle;color:var(--ff-color-text)}.ff-table tbody tr{transition:background var(--ff-transition)}.ff-table tbody tr:hover{background:var(--ff-color-surface-2)}.ff-table tbody tr[aria-current=true]{background:var(--ff-color-primary-bg)}.ff-table tbody tr[aria-current=true]:hover{background:var(--ff-color-primary-bg-hover)}.ff-table tbody tr:last-child td{border-bottom:none}.ff-table .ff-td-strong{font-weight:var(--ff-weight-semibold)}.ff-table .ff-td-muted{color:var(--ff-color-text-muted)}.ff-table .ff-col-actions{text-align:right;width:1%;white-space:nowrap}.ff-table th.ff-col-actions{text-align:right}.ff-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.ff-th-sort:hover{color:var(--ff-color-text-secondary)}.ff-th-sort .ff-sort-ind{opacity:.55;margin-left:4px}.ff-person{display:flex;align-items:center;gap:var(--ff-space-3);min-width:0}.ff-person__name{font-weight:var(--ff-weight-semibold)}.ff-person__sub{color:var(--ff-color-text-muted);font-size:var(--ff-text-sm)}.ff-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:var(--ff-radius-md);background:var(--ff-color-primary-bg);color:var(--ff-color-primary-text);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-bold);letter-spacing:.02em}.ff-avatar--lg{width:40px;height:40px;font-size:var(--ff-text-base);border-radius:var(--ff-radius-lg)}.ff-avatar--sm{width:26px;height:26px;border-radius:var(--ff-radius-sm)}.ff-field{display:flex;flex-direction:column;gap:6px}.ff-label{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-medium);color:var(--ff-color-text-secondary)}.ff-input,.ff-select{height:var(--ff-control-h);padding:0 var(--ff-space-3);border-radius:var(--ff-radius-md);border:1px solid var(--ff-color-border-strong);background:var(--ff-color-surface);font-size:var(--ff-text-base);transition:border-color var(--ff-transition),box-shadow var(--ff-transition);width:100%}.ff-input::placeholder{color:var(--ff-color-text-muted)}.ff-input:hover,.ff-select:hover{border-color:#c4c9d0}.ff-input:focus,.ff-select:focus{border-color:var(--ff-color-primary);box-shadow:var(--ff-focus-ring);outline:none}.ff-search{position:relative;display:flex;align-items:center}.ff-search svg{position:absolute;left:10px;width:16px;height:16px;color:var(--ff-color-text-muted);pointer-events:none}.ff-search .ff-input{padding-left:32px}.ff-segment{display:inline-flex;padding:3px;gap:2px;background:var(--ff-color-surface-sunken);border-radius:var(--ff-radius-md);border:1px solid var(--ff-color-border)}.ff-segment button{border:none;background:transparent;cursor:pointer;padding:0 10px;height:26px;border-radius:6px;font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);color:var(--ff-color-text-muted);transition:all var(--ff-transition)}.ff-segment button:hover{color:var(--ff-color-text)}.ff-segment button[aria-pressed=true]{background:var(--ff-color-surface);color:var(--ff-color-text);box-shadow:var(--ff-shadow-sm)}.ff-segment button:focus-visible{box-shadow:var(--ff-focus-ring)}.ff-menu{position:absolute;z-index:60;min-width:220px;padding:6px;background:var(--ff-color-surface);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-lg);animation:ff-pop var(--ff-transition)}@keyframes ff-pop{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}.ff-menu__label{padding:6px 10px 4px}.ff-menu__item{display:flex;align-items:center;gap:var(--ff-space-3);width:100%;padding:8px 10px;border-radius:var(--ff-radius-md);background:transparent;border:none;cursor:pointer;text-align:left;font-size:var(--ff-text-base);color:var(--ff-color-text);transition:background var(--ff-transition)}.ff-menu__item:hover{background:var(--ff-color-surface-sunken)}.ff-menu__item:focus-visible{box-shadow:var(--ff-focus-ring)}.ff-menu__item svg{width:16px;height:16px;color:var(--ff-color-text-muted);flex:none}.ff-menu__item--danger{color:var(--ff-color-danger)}.ff-menu__item--danger svg{color:var(--ff-color-danger)}.ff-menu__sep{height:1px;background:var(--ff-color-border);margin:6px 4px}.ff-divider{height:1px;background:var(--ff-color-border);border:none;margin:0}.ff-banner{display:flex;align-items:center;gap:var(--ff-space-3);padding:var(--ff-space-3) var(--ff-space-4);border-radius:var(--ff-radius-md);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-medium)}.ff-banner svg{width:18px;height:18px;flex:none}.ff-banner--warning{background:var(--ff-color-warning-bg);color:var(--ff-color-warning);border:1px solid var(--ff-color-warning-border)}.ff-banner--info{background:var(--ff-color-info-bg);color:var(--ff-color-info);border:1px solid var(--ff-color-info-border)}.ff-toast-stack{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px}.ff-toast{display:flex;align-items:center;gap:var(--ff-space-3);padding:12px 16px;min-width:280px;background:#1d2227;color:#fff;border-radius:var(--ff-radius-md);box-shadow:var(--ff-shadow-lg);font-size:var(--ff-text-base);animation:ff-toast-in .22s cubic-bezier(.2,.8,.2,1)}.ff-toast svg{width:18px;height:18px;flex:none;color:#5fd596}@keyframes ff-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ff-placeholder{border:1px dashed var(--ff-color-border-strong);border-radius:var(--ff-radius-lg);background-color:var(--ff-color-surface);background-image:repeating-linear-gradient(135deg,transparent,transparent 11px,rgba(24,27,33,.025) 11px,rgba(24,27,33,.025) 22px);color:var(--ff-color-text-muted)}.ff-placeholder__mono{font-family:var(--ff-font-mono);font-size:var(--ff-text-xs);letter-spacing:.02em}.ff-app{min-height:100vh;display:flex;flex-direction:column}.ff-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:var(--ff-space-4);height:var(--ff-header-h);padding:0 var(--ff-space-4) 0 var(--ff-space-5);background:var(--ff-color-surface);border-bottom:1px solid var(--ff-color-border)}.ff-brand{display:flex;align-items:center;gap:var(--ff-space-3);flex:none}.ff-brand__mark{width:34px;height:34px;border-radius:9px;flex:none}.ff-brand__text{display:flex;flex-direction:column;line-height:1.05}.ff-brand__name{font-size:var(--ff-text-md);font-weight:var(--ff-weight-bold);letter-spacing:-.01em}.ff-brand__sub{font-size:10px;font-weight:var(--ff-weight-semibold);letter-spacing:var(--ff-tracking-caps);text-transform:uppercase;color:var(--ff-color-text-muted)}.ff-header__rule{width:1px;height:28px;background:var(--ff-color-border);flex:none}.ff-header__spacer{flex:1}.ff-header__right{display:flex;align-items:center;gap:var(--ff-space-3);flex:none}.ff-tenant__dot{width:9px;height:9px;border-radius:50%;background:var(--ff-color-primary);flex:none;box-shadow:0 0 0 3px var(--ff-color-primary-bg)}.ff-tenant__txt{display:flex;flex-direction:column;line-height:1.1;min-width:0;text-align:left}.ff-tenant__eyebrow{font-size:9.5px;font-weight:var(--ff-weight-semibold);letter-spacing:var(--ff-tracking-caps);text-transform:uppercase;color:var(--ff-color-text-muted)}.ff-tenant__name{font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-org{display:flex;align-items:center;gap:var(--ff-space-3);flex:none;height:40px;padding:0 12px;border-radius:var(--ff-radius-md);background:var(--ff-color-surface-2);border:1px solid var(--ff-color-border);max-width:360px}.ff-userchip{display:flex;align-items:center;gap:var(--ff-space-2);height:40px;padding:0 8px 0 6px;border-radius:var(--ff-radius-md);border:1px solid transparent;background:transparent;cursor:pointer;transition:background var(--ff-transition);flex:none}.ff-userchip:hover{background:var(--ff-color-surface-sunken)}.ff-userchip:focus-visible{box-shadow:var(--ff-focus-ring)}.ff-userchip[aria-expanded=true]{background:var(--ff-color-surface-sunken)}.ff-userchip__txt{display:flex;flex-direction:column;line-height:1.15;text-align:left}.ff-userchip__name{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);white-space:nowrap}.ff-userchip__role{font-size:var(--ff-text-xs);color:var(--ff-color-text-muted);white-space:nowrap}.ff-body{display:flex;flex:1;min-height:0}.ff-rail{width:var(--ff-rail-w);flex:none;background:var(--ff-color-surface);border-right:1px solid var(--ff-color-border);display:flex;flex-direction:column;padding:var(--ff-space-4) var(--ff-space-3) var(--ff-space-3);gap:var(--ff-space-2);position:sticky;top:var(--ff-header-h);height:calc(100vh - var(--ff-header-h));transition:width var(--ff-transition)}.ff-rail.is-collapsed{width:var(--ff-rail-w-collapsed);padding-left:var(--ff-space-2);padding-right:var(--ff-space-2)}.ff-rail__section{padding:var(--ff-space-3) var(--ff-space-3) var(--ff-space-1)}.ff-rail.is-collapsed .ff-rail__section{opacity:0;height:8px;padding:0;overflow:hidden}.ff-rail__items{display:flex;flex-direction:column;gap:2px}.ff-navitem{display:flex;align-items:center;gap:10px;height:38px;padding:0 9px;border-radius:var(--ff-radius-md);background:transparent;border:none;cursor:pointer;width:100%;text-align:left;font-size:var(--ff-text-base);font-weight:var(--ff-weight-medium);color:var(--ff-color-text-secondary);transition:background var(--ff-transition),color var(--ff-transition)}.ff-navitem:hover{background:var(--ff-color-surface-sunken);color:var(--ff-color-text)}.ff-navitem:focus-visible{box-shadow:var(--ff-focus-ring)}.ff-navitem svg{width:18px;height:18px;flex:none;color:var(--ff-color-text-muted);transition:color var(--ff-transition)}.ff-navitem__label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-navitem.is-active{background:var(--ff-color-primary-bg);color:var(--ff-color-primary-text);font-weight:var(--ff-weight-semibold)}.ff-navitem.is-active svg{color:var(--ff-color-primary)}.ff-navitem.is-disabled{color:var(--ff-color-text-muted);cursor:default}.ff-navitem.is-disabled:hover{background:transparent;color:var(--ff-color-text-muted)}.ff-rail.is-collapsed .ff-navitem{justify-content:center;padding:0}.ff-rail.is-collapsed .ff-navitem__label,.ff-rail.is-collapsed .ff-navitem .ff-count,.ff-rail.is-collapsed .ff-soon{display:none}.ff-soon{flex:none;font-size:8.5px;font-weight:var(--ff-weight-bold);letter-spacing:.02em;text-transform:uppercase;color:var(--ff-color-text-muted);background:var(--ff-color-surface-sunken);border:1px solid var(--ff-color-border);padding:1px 5px;border-radius:var(--ff-radius-pill)}.ff-rail__spacer{flex:1}.ff-rail__foot{padding:var(--ff-space-3);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);background:var(--ff-color-surface-2)}.ff-rail.is-collapsed .ff-rail__foot{display:none}.ff-rail__foot-row{display:flex;align-items:center;gap:var(--ff-space-2);font-size:var(--ff-text-xs);color:var(--ff-color-text-secondary)}.ff-rail__foot-row svg{width:14px;height:14px;color:var(--ff-color-text-muted)}.ff-rail__foot-mono{font-family:var(--ff-font-mono);font-size:11px;color:var(--ff-color-text-muted);margin-top:6px;line-height:1.5}.ff-rail__collapse{margin-top:4px}.ff-main{flex:1;min-width:0;display:flex;flex-direction:column}.ff-crumbs{display:flex;align-items:center;gap:6px;padding:var(--ff-space-3) var(--ff-space-8);font-size:var(--ff-text-sm);color:var(--ff-color-text-muted);border-bottom:1px solid var(--ff-color-border);background:var(--ff-color-surface)}.ff-crumbs a{color:var(--ff-color-text-secondary)}.ff-crumbs a:hover{color:var(--ff-color-text);text-decoration:underline}.ff-crumbs__sep{color:var(--ff-color-border-strong)}.ff-crumbs__current{color:var(--ff-color-text);font-weight:var(--ff-weight-medium)}.ff-content{padding:var(--ff-space-7) var(--ff-space-8) var(--ff-space-9);max-width:var(--ff-content-max);width:100%;margin:0 auto}.ff-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ff-space-5);margin-bottom:var(--ff-space-6)}.ff-page-title{font-size:var(--ff-text-3xl);font-weight:var(--ff-weight-bold);letter-spacing:-.02em}.ff-page-sub{color:var(--ff-color-text-secondary);margin-top:4px;font-size:var(--ff-text-md)}.ff-page-actions{display:flex;align-items:center;gap:var(--ff-space-3);flex:none}.ff-grid-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ff-space-4)}.ff-grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--ff-space-4);align-items:start}@media(max-width:1180px){.ff-grid-kpi{grid-template-columns:repeat(2,1fr)}.ff-grid-2{grid-template-columns:1fr}}.ff-toolbar{display:flex;align-items:center;gap:var(--ff-space-3);margin-bottom:var(--ff-space-4)}.ff-toolbar__spacer{flex:1}.ff-activity{display:flex;flex-direction:column}.ff-activity__row{display:flex;align-items:center;gap:var(--ff-space-3);padding:11px var(--ff-space-5);border-bottom:1px solid var(--ff-color-border)}.ff-activity__row:last-child{border-bottom:none}.ff-activity__ico{width:26px;height:26px;border-radius:var(--ff-radius-sm);display:inline-flex;align-items:center;justify-content:center;flex:none}.ff-activity__ico svg{width:15px;height:15px}.ff-activity__text{flex:1;font-size:var(--ff-text-sm);line-height:1.4}.ff-activity__text b{font-weight:var(--ff-weight-semibold)}.ff-activity__time{font-family:var(--ff-font-mono);font-size:var(--ff-text-xs);color:var(--ff-color-text-muted);flex:none}.ff-listrow{display:flex;align-items:center;gap:var(--ff-space-3);padding:12px var(--ff-space-5);border-bottom:1px solid var(--ff-color-border)}.ff-listrow:last-child{border-bottom:none}.ff-listrow__body{flex:1;min-width:0}.ff-listrow__title{font-weight:var(--ff-weight-semibold);font-size:var(--ff-text-base)}.ff-listrow__sub{font-size:var(--ff-text-sm);color:var(--ff-color-text-muted)}.ff-listrow__meta{font-family:var(--ff-font-mono);font-size:var(--ff-text-sm);color:var(--ff-color-text-secondary)}.ff-signin{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media(max-width:900px){.ff-signin{grid-template-columns:1fr}.ff-signin__aside{display:none}}.ff-signin__main{display:flex;flex-direction:column;padding:var(--ff-space-7);background:var(--ff-color-surface)}.ff-signin__center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.ff-signin__card{width:100%;max-width:380px}.ff-signin__brand{display:flex;align-items:center;gap:var(--ff-space-3)}.ff-signin h1{font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-bold);letter-spacing:-.02em;margin-top:var(--ff-space-7)}.ff-signin__lede{color:var(--ff-color-text-secondary);margin-top:8px;font-size:var(--ff-text-md)}.ff-signin__tenant{display:flex;align-items:center;gap:var(--ff-space-3);margin-top:var(--ff-space-6);padding:var(--ff-space-3) var(--ff-space-4);border:1px solid var(--ff-color-border);border-radius:var(--ff-radius-md);background:var(--ff-color-surface-2)}.ff-signin__tenant .ff-tenant__dot{box-shadow:0 0 0 3px #fff}.ff-signin__foot{display:flex;align-items:center;justify-content:space-between;color:var(--ff-color-text-muted);font-size:var(--ff-text-xs)}.ff-signin__legal{font-size:var(--ff-text-xs);color:var(--ff-color-text-muted);text-align:center;line-height:1.5}.ff-signin__legal a{color:var(--ff-color-text-secondary);text-decoration:underline}.ff-signin__aside{position:relative;overflow:hidden;background:radial-gradient(120% 120% at 70% 20%,#14342a,#0c211b 45%,#070f0c);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:var(--ff-space-9)}.ff-signin__orb{position:absolute;width:560px;height:560px;right:-120px;top:50%;transform:translateY(-50%);border-radius:50%;background:conic-gradient(from 210deg,#5fd59600,#5fd5968c,#2563c973,#5fd59600);filter:blur(36px);opacity:.55}.ff-signin__aside-inner{position:relative;z-index:1}.ff-signin__aside h2{font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-bold);line-height:1.2;max-width:13ch;letter-spacing:-.01em}.ff-signin__aside p{color:#ffffffa8;margin-top:var(--ff-space-4);max-width:34ch;line-height:1.6}.ff-signin__aside-foot{position:relative;z-index:1;display:flex;align-items:center;gap:var(--ff-space-3);color:#ffffff80;font-size:var(--ff-text-xs)}.ff-signin__feat{display:flex;align-items:center;gap:10px;color:#ffffffd1;font-size:var(--ff-text-sm);padding:7px 0}.ff-signin__feat svg{width:17px;height:17px;color:#6fdca0;flex:none}@media(max-width:1180px){:root{--ff-rail-w: 244px}}
