@import"https://fonts.googleapis.com/css2?family=Saira:wght@400;500;600;700;800&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--fr-navy: #1F1F53;--fr-navy-deep: #15134B;--fr-ink: #0D0D29;--fr-gray: #808080;--fr-blue: #3A4CC4;--fr-blue-bright: #5567E0;--fr-blue-deep: #2C3AA0;--fr-blue-tint: #ECEEFA;--neutral-0: #FFFFFF;--neutral-50: #F6F7FA;--neutral-100: #EDEFF4;--neutral-200: #DEE0EA;--neutral-300: #C6C9D6;--neutral-400: #9A9EB1;--neutral-500: #6E7286;--neutral-600: #565A6D;--neutral-700: #3E4254;--neutral-800: #292C3A;--neutral-900: #181A26;--gain: #1F8A5B;--gain-bright: #1F8A5B;--gain-bg: #E7F4ED;--loss: #C2334D;--loss-bright: #C2334D;--loss-bg: #FBE9EC;--caution: #B9791A;--caution-bright: #99640F;--caution-bg: #FBF1DF;--info: var(--fr-blue);--info-bright: var(--fr-blue-deep);--info-bg: var(--fr-blue-tint);--navy-bg: rgba(31, 31, 83, .08);--navy-border: rgba(31, 31, 83, .25);--fr-gold: var(--fr-navy);--fr-gold-soft: var(--fr-navy);--gold-bg: var(--navy-bg);--gold-border: var(--navy-border);--text-strong: var(--fr-navy);--text-heading: var(--fr-navy);--text-body: var(--neutral-800);--text-muted: var(--neutral-500);--text-subtle: var(--neutral-400);--text-inverse: var(--neutral-0);--text-link: var(--fr-blue);--text-on-brand: var(--neutral-0);--surface-page: var(--neutral-50);--surface-page-gradient: var(--neutral-50);--surface-card: var(--neutral-0);--surface-raised: var(--neutral-0);--surface-sunken: var(--neutral-100);--surface-inset: var(--neutral-50);--surface-brand: var(--fr-navy);--surface-brand-deep: var(--fr-ink);--surface-selected: var(--fr-blue-tint);--border-subtle: var(--neutral-200);--border-default: var(--neutral-300);--border-strong: var(--neutral-400);--border-brand: var(--fr-navy);--border-focus: var(--fr-blue);--action-primary: var(--fr-navy);--action-primary-hover: #2A2A66;--action-primary-active: var(--fr-navy-deep);--action-accent: var(--fr-blue);--action-accent-hover: var(--fr-blue-bright);--action-accent-active: var(--fr-blue-deep);--focus-ring: 0 0 0 3px rgba(58, 76, 196, .35);--font-display: "Saira", "Arial Narrow", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--text-2xs: 11px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 18px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 38px;--text-4xl: 48px;--text-5xl: 62px;--text-6xl: 80px;--lh-tight: 1.05;--lh-snug: 1.18;--lh-normal: 1.45;--lh-relaxed: 1.65;--ls-tight: -.02em;--ls-normal: 0em;--ls-wide: .04em;--ls-wider: .08em;--ls-brand: .14em;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-pill: 999px;--border-width: 1px;--border-width-thick: 2px;--border-accent: 3px;--shadow-xs: 0 1px 2px rgba(13, 13, 41, .06);--shadow-sm: 0 1px 3px rgba(13, 13, 41, .08), 0 1px 2px rgba(13, 13, 41, .04);--shadow-md: 0 4px 10px rgba(13, 13, 41, .08), 0 1px 3px rgba(13, 13, 41, .06);--shadow-lg: 0 12px 28px rgba(13, 13, 41, .12), 0 2px 6px rgba(13, 13, 41, .06);--shadow-xl: 0 24px 56px rgba(13, 13, 41, .18);--shadow-focus: var(--focus-ring);--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--container-sm: 640px;--container-md: 960px;--container-lg: 1200px;--container-xl: 1400px}:root{--side-w: 210px;--pad: 18px;--gap: 16px;--page-x: 26px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);font-size:14px;line-height:var(--lh-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);color:var(--text-strong)}a{color:var(--text-link);text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}::selection{background:var(--fr-blue-tint);color:var(--fr-navy)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--neutral-100)}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:999px;border:3px solid transparent;background-clip:padding-box;min-height:40px}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400);background-clip:padding-box}.muted{color:var(--text-muted)}.eyebrow,.ph-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle)}.app{display:grid;grid-template-columns:var(--side-w) 1fr;height:100vh;overflow:hidden}.side{background:var(--fr-ink);border-right:1px solid var(--fr-navy-deep);display:flex;flex-direction:column;padding:20px 12px 14px;overflow:hidden}.side-brand{padding:2px 10px 18px}.side-brand .wm-img{display:block;height:40px;width:auto;max-width:100%}.side-brand .sub{display:block;margin-top:5px;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fr-blue-bright)}.side-nav{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-height:0;overflow-y:auto}.side-section{color:#ffffff6b;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:14px 10px 5px;white-space:nowrap}.navlink{display:flex;align-items:center;gap:11px;color:#ffffffa3;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-md);font-size:13.5px;font-weight:500;white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.navlink svg{width:17px;height:17px;flex:none}.navlink:hover{background:#ffffff14;color:#fff}.navlink.active{background:#ffffff24;border-color:#ffffff2e;color:#fff}.side-spacer{flex:none}.side-who{border-top:1px solid rgba(255,255,255,.14);padding:12px 6px 0;margin-top:10px;flex:none;min-width:0}.side-who b{color:#fff;font-size:12.5px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-who span{color:#ffffff80;font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{height:58px;flex:none;position:relative;z-index:50;background:var(--surface-card);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px;padding:0 var(--page-x)}.crumbs{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.crumbs b{color:var(--text-strong);font-weight:600}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.header-email{font-size:12.5px;color:var(--text-muted)}.role-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 11px;border-radius:var(--radius-pill);background:var(--navy-bg);border:1px solid var(--navy-border);color:var(--fr-navy);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.icon-btn{width:34px;height:34px;border-radius:var(--radius-md);display:grid;place-items:center;color:var(--text-muted);border:1px solid var(--border-subtle);background:var(--surface-card);position:relative;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.icon-btn:hover{background:var(--surface-raised);color:var(--text-strong)}.icon-btn svg{width:16px;height:16px}.scroll{overflow-y:auto;flex:1}.page{padding:24px var(--page-x) 60px;max-width:var(--container-xl);margin:0 auto;width:100%}.splash{display:grid;place-items:center;height:100vh;color:var(--text-muted);font-size:14px}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head .ph-eyebrow{margin-bottom:7px}.page-head .ph-title{font-size:26px;color:var(--text-strong)}.page-head .ph-sub{color:var(--text-muted);font-size:13.5px;margin-top:6px;max-width:640px}.page-head .spacer{flex:1}.tag{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:var(--radius-pill);background:var(--navy-bg);border:1px solid var(--navy-border);color:var(--fr-navy);font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;white-space:nowrap}.row{display:flex;gap:var(--gap);flex-wrap:wrap}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--gap)}.stat-tile{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--pad)}.stat-tile.alert{border-color:var(--caution)}.panel-head{display:flex;align-items:center;gap:12px;padding:14px var(--pad);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.panel-head .pt{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-strong);white-space:nowrap}.panel-head .ps{color:var(--text-muted);font-size:12px}.panel-head .spacer{flex:1}.tbl-scroll{overflow-x:auto}.lrow{display:flex;align-items:center;gap:13px;padding:12px var(--pad);border-bottom:1px solid var(--border-subtle);transition:background var(--dur-fast) var(--ease-standard)}.lrow:last-child{border-bottom:none}.lrow.click{cursor:pointer}.lrow.click:hover{background:var(--surface-inset)}.lrow .lico{width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center;flex:none;background:var(--navy-bg);color:var(--fr-navy)}.lrow .lico svg{width:16px;height:16px}.lrow .lmain{min-width:0;flex:1}.lrow .lmain b{font-weight:600;font-size:13.5px;display:block;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lrow .lmain span{color:var(--text-muted);font-size:12px}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 18px;text-align:center}.empty .e-ico{width:50px;height:50px;border-radius:var(--radius-md);background:var(--surface-sunken);display:grid;place-items:center;color:var(--text-subtle);margin-bottom:4px}.empty .e-title{font-weight:600;font-family:var(--font-display);color:var(--text-strong)}.empty .e-hint{font-size:12.5px;color:var(--text-muted);max-width:380px}.avatar{border-radius:var(--radius-pill);flex:none;display:grid;place-items:center;color:#fff;font-weight:600;font-family:var(--font-body)}.divider{height:1px;background:var(--border-subtle);margin:4px 0}.errbox{background:var(--loss-bg);color:var(--loss);border:1px solid color-mix(in srgb,var(--loss) 30%,transparent);border-radius:var(--radius-md);padding:10px 13px;font-size:13px;margin:10px 0}.okbox{background:var(--gain-bg);color:var(--gain);border:1px solid color-mix(in srgb,var(--gain) 30%,transparent);border-radius:var(--radius-md);padding:10px 13px;font-size:13px;margin:10px 0}.viewonly{font-size:12px;color:var(--text-subtle);font-style:italic;white-space:nowrap}.warnlist{margin:0;padding-left:16px;color:var(--caution);font-size:11.5px;line-height:1.5;max-width:340px;white-space:normal}.fade{animation:fade var(--dur-slow) var(--ease-out)}@keyframes fade{0%{transform:translateY(6px);opacity:.6}}@media (prefers-reduced-motion: reduce){.fade,.modal,.modal-overlay,.notif-pop{animation:none}}.field{display:flex;flex-direction:column;gap:6px}.field>label,.form-label{font-size:13px;font-weight:500;color:var(--text-strong)}.input,.form-input,select.form-input{width:100%;height:40px;padding:0 12px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-body);font-family:var(--font-body);font-size:14px;outline:none;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.input:focus,.form-input:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring)}input[type=month],input[type=date]{color-scheme:light}textarea.form-input{height:auto;min-height:88px;padding:10px 12px;resize:vertical;line-height:var(--lh-normal)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#0d0d2973;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;overflow-y:auto;animation:scrimIn var(--dur-base) var(--ease-out)}.modal{width:100%;max-width:460px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:22px 24px 24px;animation:modalIn var(--dur-base) var(--ease-out)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-head h3{font-size:18px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@keyframes scrimIn{0%{opacity:0}}@keyframes modalIn{0%{transform:translateY(10px);opacity:0}}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(110% 110% at 80% -10%,rgba(85,103,224,.25),transparent 55%),var(--fr-ink)}.login .panel{width:100%;max-width:400px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:34px 32px}.login .brand .login-logo{display:block;height:50px;width:auto}.login .brand .sub{display:block;margin-top:6px;font-size:10.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--fr-blue)}.login .dev-logins{display:flex;flex-direction:column;gap:8px}.login .dev-logins a{display:block;text-align:center;padding:9px;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-body);font-size:13px;font-weight:500}.login .dev-logins a:hover{border-color:var(--fr-blue);background:var(--fr-blue-tint)}.notif-wrap{position:relative;display:inline-flex}.notif-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--loss);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;line-height:1;pointer-events:none;border:2px solid var(--surface-card)}.notif-pop{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,92vw);max-height:70vh;overflow-y:auto;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:140;animation:popIn var(--dur-fast) var(--ease-out)}.np-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:var(--surface-card)}.np-head b{font-family:var(--font-display);font-size:14px;color:var(--text-strong)}.np-link{font-size:12px;color:var(--fr-blue);font-weight:600}.np-link:disabled{opacity:.5;cursor:default}.np-empty{padding:28px 14px;text-align:center;color:var(--text-muted);font-size:13px}.np-row{display:flex;gap:11px;width:100%;text-align:left;border-bottom:1px solid var(--border-subtle);padding:11px 14px;color:var(--text-body);align-items:flex-start}.np-row:last-child{border-bottom:none}.np-row.unread{background:var(--fr-blue-tint)}.np-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.np-main b{font-size:12.5px;font-weight:600;color:var(--text-strong);line-height:var(--lh-snug)}.np-body{font-size:12px;color:var(--text-muted)}.np-meta{font-size:11px;color:var(--text-subtle)}.np-dot{width:7px;height:7px;border-radius:50%;background:var(--fr-blue);flex:none;margin-top:5px}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)}}@media (max-width: 940px){.app{grid-template-columns:64px 1fr;--side-w: 64px}.side-brand .wm-img,.side-brand .sub,.side-section,.navlink .lbl,.side-who{display:none}.navlink{justify-content:center}.header-email{display:none}.grid2{grid-template-columns:1fr}}a:focus-visible,.icon-btn:focus-visible,.np-row:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.navlink:focus-visible{outline:2px solid #fff;outline-offset:-2px}.ev-rowbtn:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px;background:var(--surface-raised)}
