:root{--flox-iris: #5b57e0;--flox-iris-600: #4a46c9;--flox-iris-700: #3d3aab;--flox-teal: #12b5a5;--c-bg: #f6f7f9;--c-surface: #ffffff;--c-surface-2: #f1f3f6;--c-border: #e3e6eb;--c-border-strong: #cfd4dc;--c-text: #161a22;--c-text-muted: #5b6573;--c-text-subtle: #8a93a3;--c-primary: var(--flox-iris);--c-primary-hover: var(--flox-iris-600);--c-primary-fg: #ffffff;--c-accent: var(--flox-teal);--c-success: #128a51;--c-success-bg: #e6f4ec;--c-warn: #9a6700;--c-warn-bg: #fbf1dc;--c-danger: #cf2440;--c-danger-bg: #fdecef;--c-info: #1f6feb;--c-info-bg: #e7f0fe;--c-brand-bg: #ecebfb;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-1: 6px;--r-2: 10px;--r-3: 14px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(16,22,34,.06), 0 1px 3px rgba(16,22,34,.04);--sh-2: 0 6px 16px rgba(16,22,34,.1), 0 2px 6px rgba(16,22,34,.06);--sh-pop: 0 12px 40px rgba(16,22,34,.18);--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, system-ui, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}[data-theme=dark]{--c-bg: #0d0f14;--c-surface: #161a22;--c-surface-2: #1d222c;--c-border: #272d38;--c-border-strong: #38404e;--c-text: #e8ebf1;--c-text-muted: #9aa4b3;--c-text-subtle: #6b7585;--c-primary: #7d79f0;--c-primary-hover: #908df4;--c-primary-fg: #0d0f14;--c-accent: #2bd4c3;--c-success: #4cc38a;--c-success-bg: #11271d;--c-warn: #e2b341;--c-warn-bg: #2a2110;--c-danger: #f1707f;--c-danger-bg: #2c1418;--c-info: #6aa6ff;--c-info-bg: #11203a;--c-brand-bg: #1d1c39;--sh-1: 0 1px 2px rgba(0,0,0,.4);--sh-2: 0 8px 22px rgba(0,0,0,.5);--sh-pop: 0 14px 44px rgba(0,0,0,.6)}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--c-text);background:var(--c-bg);font-size:var(--fs-md);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}.flox-shell{min-height:100vh;display:flex;flex-direction:column}.flox-topbar{display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-5);height:56px;background:var(--c-surface);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:20}.flox-main{width:100%;max-width:1080px;margin:0 auto;padding:var(--sp-6) var(--sp-5) var(--sp-12)}.flox-spacer{margin-left:auto}.flox-row{display:flex;align-items:center;gap:var(--sp-3)}.flox-field-row{display:flex;gap:var(--sp-3);align-items:flex-start}.flox-field-row>.flox-field{flex:1 1 0;min-width:0}.flox-col{display:flex;flex-direction:column;gap:var(--sp-2)}.flox-grid{display:grid;gap:var(--sp-4)}.flox-brand{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:700;font-size:var(--fs-lg);letter-spacing:-.02em;color:var(--c-text)}.flox-brand .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary),var(--c-accent));box-shadow:0 0 0 3px var(--c-brand-bg)}.flox-brand small{font-weight:500;color:var(--c-text-subtle);font-size:var(--fs-xs)}.flox-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font:inherit;font-weight:560;font-size:var(--fs-md);line-height:1;padding:9px 14px;border-radius:var(--r-1);border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s,opacity .12s,transform .02s;white-space:nowrap;-webkit-user-select:none;user-select:none}.flox-btn:active{transform:translateY(.5px)}.flox-btn:disabled{opacity:.5;cursor:not-allowed}.flox-btn:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.flox-btn--primary{background:var(--c-primary);color:var(--c-primary-fg)}.flox-btn--primary:hover:not(:disabled){background:var(--c-primary-hover)}.flox-btn--secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border-strong)}.flox-btn--secondary:hover:not(:disabled){background:var(--c-surface-2)}.flox-btn--ghost{background:transparent;color:var(--c-text-muted)}.flox-btn--ghost:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text)}.flox-btn--danger{background:var(--c-danger);color:#fff}.flox-btn--danger:hover:not(:disabled){filter:brightness(1.05)}.flox-btn--sm{padding:6px 10px;font-size:var(--fs-sm)}.flox-btn--block{width:100%}.flox-btn--lg{padding:13px 18px;font-size:var(--fs-lg)}.flox-field{display:flex;flex-direction:column;gap:6px}.flox-label{font-size:var(--fs-sm);font-weight:560;color:var(--c-text)}.flox-label .req{color:var(--c-danger);margin-left:2px}.flox-hint{font-size:var(--fs-xs);color:var(--c-text-muted)}.flox-error{font-size:var(--fs-xs);color:var(--c-danger)}.flox-input,.flox-select,.flox-textarea{font:inherit;font-size:var(--fs-md);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-1);padding:9px 11px;width:100%;transition:border-color .12s,box-shadow .12s}.flox-textarea{resize:vertical;min-height:70px}.flox-input:focus,.flox-select:focus,.flox-textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-brand-bg)}.flox-input--invalid{border-color:var(--c-danger)}.flox-input--mono{font-family:var(--mono)}.flox-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:600;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;background:var(--c-surface-2);color:var(--c-text-muted)}.flox-badge .tick{width:6px;height:6px;border-radius:50%;background:currentColor}.flox-badge--neutral{background:var(--c-surface-2);color:var(--c-text-muted)}.flox-badge--success{background:var(--c-success-bg);color:var(--c-success)}.flox-badge--warn{background:var(--c-warn-bg);color:var(--c-warn)}.flox-badge--danger{background:var(--c-danger-bg);color:var(--c-danger)}.flox-badge--info{background:var(--c-info-bg);color:var(--c-info)}.flox-badge--brand{background:var(--c-brand-bg);color:var(--c-primary)}.flox-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-2);box-shadow:var(--sh-1)}.flox-card__head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border)}.flox-card__title{font-size:var(--fs-md);font-weight:650}.flox-card__sub{font-size:var(--fs-xs);color:var(--c-text-muted)}.flox-card__body{padding:var(--sp-5)}.flox-card__body--flush{padding:0}.flox-stat{padding:var(--sp-4) var(--sp-5)}.flox-stat__label{font-size:var(--fs-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em}.flox-stat__value{font-size:var(--fs-2xl);font-weight:680;margin-top:4px;letter-spacing:-.02em}.flox-stat__value small{font-size:var(--fs-md);color:var(--c-text-muted);font-weight:500}.flox-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.flox-table thead th{text-align:left;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--c-text-muted);padding:10px var(--sp-4);border-bottom:1px solid var(--c-border);white-space:nowrap}.flox-table tbody td{padding:12px var(--sp-4);border-bottom:1px solid var(--c-border);vertical-align:middle}.flox-table tbody tr:last-child td{border-bottom:none}.flox-table tbody tr:hover td{background:var(--c-surface-2)}.flox-table .mono{font-family:var(--mono);font-size:var(--fs-sm)}.flox-table .num{text-align:right;font-variant-numeric:tabular-nums}.flox-modal__body>.flox-table th:first-child,.flox-modal__body>.flox-table td:first-child{padding-left:0}.flox-modal__body>.flox-table th:last-child,.flox-modal__body>.flox-table td:last-child{padding-right:0}.flox-table--fixed{table-layout:fixed}.flox-table--fixed td,.flox-table--fixed th,.flox-table .mono{overflow-wrap:anywhere}.flox-tabs{display:flex;gap:2px;border-bottom:1px solid var(--c-border);margin-bottom:var(--sp-5)}.flox-tab{border:none;background:none;padding:10px 14px;cursor:pointer;font:inherit;font-size:var(--fs-md);color:var(--c-text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.flox-tab:hover{color:var(--c-text)}.flox-tab--active{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:600}.flox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10162273;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:50;animation:flox-fade .12s ease}.flox-modal{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-3);box-shadow:var(--sh-pop);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;animation:flox-pop .14s cubic-bezier(.2,.8,.2,1)}.flox-modal--wide{max-width:720px}.flox-modal__head{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-3)}.flox-modal__title{font-size:var(--fs-lg);font-weight:650}.flox-modal__sub{font-size:var(--fs-sm);color:var(--c-text-muted);margin-top:3px}.flox-modal__body{padding:var(--sp-2) var(--sp-5) var(--sp-4);overflow:auto;display:flex;flex-direction:column;gap:var(--sp-4)}.flox-modal__foot{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--c-border)}.flox-x{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--c-text-subtle);font-size:20px;line-height:1;padding:2px 6px;border-radius:var(--r-1)}.flox-x:hover{background:var(--c-surface-2);color:var(--c-text)}@keyframes flox-fade{0%{opacity:0}}@keyframes flox-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.flox-toasts{position:fixed;bottom:var(--sp-5);right:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);z-index:60}.flox-toast{display:flex;align-items:flex-start;gap:var(--sp-2);background:var(--c-surface);border:1px solid var(--c-border);border-left:3px solid var(--c-text-muted);border-radius:var(--r-1);box-shadow:var(--sh-2);padding:11px 14px;min-width:260px;max-width:380px;font-size:var(--fs-sm);animation:flox-slide .16s ease}.flox-toast--success{border-left-color:var(--c-success)}.flox-toast--danger{border-left-color:var(--c-danger)}.flox-toast--info{border-left-color:var(--c-info)}@keyframes flox-slide{0%{opacity:0;transform:translate(12px)}}.flox-empty{text-align:center;padding:var(--sp-10) var(--sp-5);color:var(--c-text-muted)}.flox-empty__title{font-weight:600;color:var(--c-text);margin-bottom:4px}.flox-spinner{width:16px;height:16px;border:2px solid var(--c-border-strong);border-top-color:var(--c-primary);border-radius:50%;animation:flox-spin .6s linear infinite;display:inline-block}@keyframes flox-spin{to{transform:rotate(360deg)}}.flox-muted{color:var(--c-text-muted)}.flox-mono{font-family:var(--mono)}.flox-divider{height:1px;background:var(--c-border);margin:var(--sp-4) 0}.flox-kv{display:flex;justify-content:space-between;gap:var(--sp-4);padding:7px 0;border-bottom:1px dashed var(--c-border);font-size:var(--fs-md)}.flox-kv:last-child{border-bottom:none}.flox-kv__k{color:var(--c-text-muted)}.flox-kv__v{font-weight:560;text-align:right}.flox-iconbtn{background:none;border:1px solid transparent;cursor:pointer;color:var(--c-text-muted);border-radius:var(--r-1);padding:6px;line-height:0}.flox-iconbtn:hover{background:var(--c-surface-2);color:var(--c-text)}@media (max-width: 560px){.flox-main{padding:var(--sp-4) var(--sp-4) var(--sp-10)}.flox-topbar{padding:0 var(--sp-4);gap:var(--sp-2)}.flox-modal{max-width:100%}}.flox-chip{font:inherit;font-size:var(--fs-xs);line-height:1.35;cursor:pointer;padding:2px 8px;border-radius:var(--r-pill);border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text-muted);transition:background .12s,border-color .12s,color .12s}.flox-chip:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-text)}.flox-chip--on{background:var(--c-brand-bg);border-color:var(--c-primary);color:var(--c-primary)}.flox-chip:disabled{opacity:.55;cursor:default}.flox-menu{position:relative;display:inline-block}.flox-menu__pop{position:absolute;right:0;top:calc(100% + 6px);z-index:31;min-width:176px;padding:5px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-2);box-shadow:var(--sh-pop)}.flox-menu__item{display:block;width:100%;text-align:left;font:inherit;font-size:var(--fs-sm);color:var(--c-text);background:none;border:0;cursor:pointer;padding:8px 10px;border-radius:var(--r-1)}.flox-menu__item:hover{background:var(--c-surface-2)}.flox-menu__item--danger{color:var(--c-danger)}.flox-menu__item--danger:hover{background:var(--c-danger-bg)}.flox-menu__sep{height:1px;background:var(--c-border);margin:5px 4px}.flox-menu__item--row{display:flex;align-items:center;gap:var(--sp-2)}.flox-menu__val{margin-left:auto;color:var(--c-text-subtle);font-size:var(--fs-xs);font-weight:500}.flox-acct{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 8px 4px 5px;background:transparent;border:1px solid transparent;border-radius:var(--r-2);font:inherit;color:var(--c-text);cursor:pointer;transition:background .12s}.flox-acct:hover,.flox-acct[aria-expanded=true]{background:var(--c-surface-2)}.flox-acct:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.flox-acct__avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,var(--c-primary),var(--c-accent))}.flox-acct__name{font-size:var(--fs-sm);font-weight:600;color:var(--c-text);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flox-acct__caret{color:var(--c-text-subtle);flex:0 0 auto}.flox-menu__pop--acct{min-width:232px}.flox-acctmenu__head{display:flex;align-items:center;gap:10px;padding:7px 7px 11px;margin-bottom:4px;border-bottom:1px solid var(--c-border)}.flox-acctmenu__avatar{width:34px;height:34px;font-size:13px}.flox-acctmenu__who{min-width:0}.flox-acctmenu__name{font-weight:600;font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.2}.flox-acctmenu__role{margin-top:2px;font-size:11px;font-weight:500;color:var(--c-text-muted)}.flox-menu__item svg{width:16px;height:16px;flex:0 0 auto;color:var(--c-text-subtle)}.flox-menu__item--danger svg{color:var(--c-danger)}.flox-acctm{display:flex;flex-direction:column}.flox-acctm__id{display:flex;align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-4)}.flox-acctm__id .flox-acct__avatar{width:40px;height:40px;font-size:15px}.flox-acctm__id-name{font-weight:650;font-size:var(--fs-lg);overflow-wrap:anywhere}.flox-acctm__sec{padding:var(--sp-5) 0;border-top:1px solid var(--c-border);display:flex;flex-direction:column;gap:var(--sp-3)}.flox-acctm__sec:last-child{padding-bottom:0}.flox-acctm__sechead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.flox-acctm__sectitle{font-weight:640;font-size:var(--fs-md)}.flox-acctm__secdesc{font-size:var(--fs-sm);color:var(--c-text-muted);margin-top:2px}.flox-acctm__actions{display:flex;justify-content:flex-end}.flox-acctm__sess{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--r-2);background:var(--c-surface-2)}.flox-acctm__sess-ip{font-weight:600;font-size:var(--fs-sm)}.flox-linkbtn{background:none;border:0;color:var(--c-primary);font:inherit;font-size:var(--fs-sm);cursor:pointer;padding:0}.flox-linkbtn:hover:not(:disabled){text-decoration:underline}.flox-linkbtn:disabled{color:var(--c-text-subtle);cursor:default}.flox-iconbtn:disabled{opacity:.45;cursor:default}.flox-iconbtn--danger:hover:not(:disabled){color:var(--c-danger);background:var(--c-danger-bg)}.flox-topbar{height:60px;padding:0 var(--sp-6);background:color-mix(in srgb,var(--c-surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.1) blur(8px);backdrop-filter:saturate(1.1) blur(8px);box-shadow:var(--sh-1)}.flox-cobrand{display:inline-flex;align-items:center;gap:var(--sp-3)}.flox-cobrand__name{display:inline-flex;align-items:baseline;gap:var(--sp-2);font-weight:750;font-size:17px;letter-spacing:-.02em;color:var(--c-text)}.flox-cobrand__name small{font-weight:500;font-size:var(--fs-xs);letter-spacing:0;color:var(--c-text-subtle)}.flox-cobrand__div{width:1px;height:24px;background:var(--c-border-strong);margin:0 var(--sp-1)}.flox-cobrand__bank{display:block;height:22px;width:auto}.flox-cobrand__bankname{font-weight:600;font-size:var(--fs-md);color:var(--c-text-muted)}.flox-envchip{display:inline-flex;align-items:center;gap:6px;font:700 10.5px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--c-warn);background:var(--c-warn-bg);border:1px solid transparent;border-radius:var(--r-pill);padding:5px 10px 5px 8px}.flox-envchip__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}.flox-envchip--prod{color:var(--c-success);background:var(--c-success-bg)}.flox-login{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6);background:radial-gradient(1100px 460px at 50% -12%,var(--c-brand-bg),transparent 70%),linear-gradient(180deg,var(--c-surface-2),var(--c-bg))}.flox-login__card{width:380px;max-width:100%;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-3);box-shadow:var(--sh-2);padding:var(--sp-8) var(--sp-8) var(--sp-6);text-align:center}.flox-login__brand{display:flex;justify-content:center;margin-bottom:var(--sp-6)}.flox-login__title{font-size:var(--fs-xl);margin-bottom:var(--sp-1)}.flox-login__sub{color:var(--c-text-muted);font-size:var(--fs-sm);margin:0 0 var(--sp-6);line-height:1.55}.flox-login__foot{margin-top:var(--sp-5);color:var(--c-text-subtle);font-size:var(--fs-xs)}.flox-cobrand,.flox-cobrand__name{white-space:nowrap}.flox-login__brand{margin-bottom:var(--sp-3)}.flox-login__kicker{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--c-text-subtle);margin:0 0 var(--sp-5)}
