@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap";html,body,#root{height:100%;margin:0}.ff-root{background:#0a0908;color:#f3ede0;font-family:Manrope,sans-serif;min-height:100vh}.ff-display{font-family:Bebas Neue,sans-serif;letter-spacing:.03em}.ff-root *{box-sizing:border-box}.ff-spin{animation:ff-spin 1s linear infinite}@keyframes ff-spin{to{transform:rotate(360deg)}}.ff-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#1c1712,#0a0908 70%);padding:30px 16px}.ff-aurora{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;z-index:0;background:radial-gradient(ellipse 620px 520px at 18% 22%,rgba(205,159,74,.18),transparent 60%),radial-gradient(ellipse 520px 520px at 82% 72%,rgba(127,168,201,.11),transparent 60%),radial-gradient(ellipse 700px 600px at 60% 8%,rgba(193,126,163,.08),transparent 60%);animation:ff-aurora-drift 20s ease-in-out infinite alternate;filter:blur(12px)}@keyframes ff-aurora-drift{0%{transform:translate(0) scale(1)}to{transform:translate(3%,-4%) scale(1.08)}}.ff-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(212,175,90,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,90,.04) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,black 40%,transparent 90%);mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,black 40%,transparent 90%)}.ff-lane-intro{display:flex;gap:7px;justify-content:center;align-items:flex-end;height:32px;margin-bottom:18px}.ff-lane-intro .blk{width:20px;border-radius:4px 4px 2px 2px;opacity:0;transform:translateY(14px) scale(.85);background:linear-gradient(160deg,#f2c565,#8a6f3a);animation:ff-lane-block-in .55s cubic-bezier(.2,.8,.2,1) forwards}.ff-lane-intro .blk:nth-child(1){height:14px;animation-delay:.05s}.ff-lane-intro .blk:nth-child(2){height:20px;animation-delay:.15s}.ff-lane-intro .blk:nth-child(3){height:27px;animation-delay:.25s;background:linear-gradient(160deg,#e9e2d2,#8a8072)}.ff-lane-intro .blk:nth-child(4){height:18px;animation-delay:.35s}.ff-lane-intro .blk:nth-child(5){height:24px;animation-delay:.45s}@keyframes ff-lane-block-in{to{opacity:1;transform:translateY(0) scale(1)}}.ff-login-mark-wrap{position:relative;width:56px;height:56px;margin:0 auto 16px}.ff-login-mark-glow{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;background:radial-gradient(circle,rgba(242,197,101,.38),transparent 70%);filter:blur(4px);animation:ff-glow-pulse 2.6s ease-in-out infinite}@keyframes ff-glow-pulse{0%,to{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}.ff-hero-eyebrow{text-align:center;color:#cd9f4a;font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;margin-bottom:8px}.ff-hero-title{font-family:Bebas Neue,sans-serif;font-size:38px;text-align:center;letter-spacing:.04em;line-height:1;background:linear-gradient(100deg,#f3ede0 20%,#f2c565 45%,#cd9f4a 55%,#f3ede0 80%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ff-title-shimmer 5s ease-in-out infinite}@keyframes ff-title-shimmer{0%{background-position:0% 0}to{background-position:-200% 0}}.ff-fade-up{opacity:0;animation:ff-fade-up .6s cubic-bezier(.2,.8,.2,1) forwards}@keyframes ff-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.ff-aurora,.ff-hero-title,.ff-login-mark-glow,.ff-lane-intro .blk,.ff-fade-up,.ff-login-card{animation:none!important;opacity:1!important;transform:none!important}}.ff-login-card{width:100%;max-width:380px;background:#151210;border:1px solid rgba(212,175,90,.18);border-radius:14px;padding:30px 26px;position:relative;z-index:1;animation:ff-card-in .7s cubic-bezier(.2,.8,.2,1) both,ff-card-glow 4.5s ease-in-out infinite .7s}@keyframes ff-card-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ff-card-glow{0%,to{box-shadow:0 0 0 1px #d4af5a29,0 20px 60px -20px #0009}50%{box-shadow:0 0 0 1px #f2c56561,0 20px 70px -15px #cd9f4a38}}.ff-login-mark{width:44px;height:44px;margin:0 auto 14px;border-radius:10px;background:linear-gradient(150deg,#f2c565,#8a6f3a);display:flex;align-items:center;justify-content:center;font-family:Bebas Neue;color:#161310;font-size:22px}.ff-login-tabs{display:flex;gap:4px;background:#1a1613;border:1px solid rgba(212,175,90,.14);border-radius:8px;padding:4px;margin:20px 0 16px}.ff-login-tabs button{flex:1;background:none;border:none;color:#a89a83;padding:9px;border-radius:6px;font-size:12.5px;font-weight:700;font-family:inherit}.ff-login-tabs button.active{background:#cd9f4a;color:#161310}.ff-user-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto}.ff-user-row{display:flex;align-items:center;gap:10px;background:#1a1613;border:1px solid rgba(212,175,90,.14);border-radius:8px;padding:11px 13px;color:#f3ede0;font-family:inherit;font-size:13px;font-weight:600}.ff-user-row:hover{border-color:#d4af5a52}.ff-role-dot{width:8px;height:8px;border-radius:50%;background:#7fa8c9;flex-shrink:0}.ff-role-dot.admin{background:#cd9f4a}.ff-role-tag{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:#6e6455;background:#ffffff0d;padding:3px 8px;border-radius:10px}.ff-label{display:block;font-size:10.5px;color:#a89a83;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.ff-input{width:100%;background:#1a1613;border:1px solid rgba(212,175,90,.18);color:#f3ede0;padding:10px 12px;border-radius:6px;font-size:13px;font-family:inherit}.ff-input:focus{outline:none;border-color:#8a6f3a}.ff-role-pick{display:flex;gap:8px}.ff-role-pick button{flex:1;background:#1a1613;border:1px solid rgba(212,175,90,.18);color:#a89a83;padding:9px;border-radius:6px;font-size:12.5px;font-weight:700;font-family:inherit}.ff-role-pick button.active{background:#cd9f4a;color:#161310;border-color:#cd9f4a}.ff-error{color:#c15a4e;font-size:12px;margin-top:10px}.ff-btn-primary{background:#cd9f4a;color:#161310;border:none;padding:12px 20px;border-radius:6px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px;justify-content:center;font-family:inherit;position:relative;overflow:hidden;transition:background .2s ease}.ff-btn-primary:hover{background:#f2c565}.ff-btn-primary:after{content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-20deg);transition:left .6s ease}.ff-btn-primary:hover:after{left:130%}.ff-login-note{display:flex;gap:8px;margin-top:20px;font-size:11px;color:#6e6455;line-height:1.5}.ff-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 22px;background:#0a0908eb;border-bottom:1px solid rgba(212,175,90,.14)}.ff-header-brand{display:flex;align-items:center;gap:11px}.ff-brand-mark{width:32px;height:32px;border-radius:6px;background:linear-gradient(150deg,#f2c565,#8a6f3a);display:flex;align-items:center;justify-content:center;font-family:Bebas Neue;color:#161310;font-size:16px;flex-shrink:0}.ff-header-sub{font-size:10px;color:#6e6455;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.ff-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ff-pending-pill{display:flex;align-items:center;gap:6px;background:#d9a44124;color:#d9a441;font-size:11.5px;font-weight:700;padding:6px 11px;border-radius:20px}.ff-user-name{font-size:12.5px;font-weight:700}.ff-btn-ghost{background:#1a1613;border:1px solid rgba(212,175,90,.14);color:#a89a83;padding:7px 12px;border-radius:6px;font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:6px;font-family:inherit}.ff-btn-ghost:hover{color:#f3ede0;border-color:#d4af5a52}.ff-nav{display:flex;gap:2px;padding:0 22px;overflow-x:auto;border-bottom:1px solid rgba(212,175,90,.14);background:#0e0c0a}.ff-nav-btn{background:none;border:none;color:#6e6455;padding:12px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:7px;white-space:nowrap;border-bottom:2px solid transparent;font-family:inherit;position:relative}.ff-nav-btn.active{color:#f3ede0;border-bottom-color:#f2c565}.ff-nav-btn:hover{color:#f3ede0}.ff-nav-badge{background:#c15a4e;color:#fff;font-size:9.5px;font-weight:800;padding:1px 6px;border-radius:10px}.ff-main{padding:22px}.ff-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}.ff-kpi{background:linear-gradient(160deg,#1a1613,#211c17);border:1px solid rgba(212,175,90,.14);border-radius:10px;padding:16px}.ff-kpi-label{font-size:10px;color:#6e6455;text-transform:uppercase;letter-spacing:.08em}.ff-kpi-val{font-family:Bebas Neue;font-size:30px;margin-top:6px}.ff-kpi-sub{font-size:10.5px;color:#a89a83;margin-top:5px}.ff-panel{background:#1a1613;border:1px solid rgba(212,175,90,.14);border-radius:12px;padding:20px;margin-bottom:18px}.ff-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px;flex-wrap:wrap}.ff-panel-title{font-family:Bebas Neue;font-size:19px}.ff-panel-note{font-size:11px;color:#6e6455}.ff-search-wrap{position:relative;min-width:220px}.ff-search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#6e6455;pointer-events:none}.ff-search-wrap input{padding-left:32px}.ff-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ff-table thead th.sortable:hover{color:#f2c565}.ff-sort-arrow{color:#f2c565;margin-left:3px}.ff-grid-2{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}@media (max-width:900px){.ff-grid-2{grid-template-columns:1fr}.ff-kpi-grid{grid-template-columns:repeat(2,1fr)}}.ff-attn-list{display:flex;flex-direction:column;gap:8px}.ff-meter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.ff-meter-card{background:#211c17;border:1px solid rgba(212,175,90,.14);border-radius:10px;padding:14px 10px 12px;text-align:center}.ff-meter-name{font-size:11px;color:#a89a83;margin-top:4px;line-height:1.35}.ff-attn-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#211c17;border-radius:8px;border:1px solid rgba(212,175,90,.14)}.ff-attn-name{flex:1;font-size:12.5px;font-weight:600;min-width:0}.ff-attn-pct{font-family:Bebas Neue;font-size:17px}.ff-attn-meta{font-size:10.5px;color:#6e6455}.ff-tbl-wrap{overflow:auto;border-radius:8px;border:1px solid rgba(212,175,90,.14)}.ff-table{width:100%;border-collapse:collapse;font-size:12.5px}.ff-table thead th{position:sticky;top:0;background:#211c17;color:#6e6455;text-align:left;padding:10px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(212,175,90,.14);white-space:nowrap}.ff-table thead th.num{text-align:center}.ff-table tbody td{padding:9px 12px;border-bottom:1px solid rgba(212,175,90,.06);color:#a89a83;white-space:nowrap}.ff-table tbody td.num{font-family:IBM Plex Mono;text-align:center;color:#f3ede0}.ff-table tbody td.strong{color:#f3ede0;font-weight:600}.ff-table tbody tr:hover{background:#211c17}.ff-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;margin-right:4px}.ff-badge.ok{background:#5fae7c21;color:#5fae7c}.ff-badge.bad{background:#c15a4e24;color:#c15a4e}.ff-badge.warn{background:#d9a44124;color:#d9a441}.ff-badge.dim{background:#ffffff0d;color:#6e6455}.ff-pctbar{width:70px;height:6px;background:#ffffff14;border-radius:4px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}.ff-pctbar i{display:block;height:100%}.ff-cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}@media (max-width:900px){.ff-cs-grid{grid-template-columns:1fr}}.ff-cs-card{background:linear-gradient(160deg,#1a1613,#211c17);border:1px solid rgba(212,175,90,.14);border-radius:12px;padding:18px;cursor:pointer}.ff-cs-card-top{display:flex;justify-content:space-between;align-items:flex-start}.ff-ring{position:relative;width:64px;height:64px}.ff-ring-val{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono;font-size:13px;font-weight:600}.ff-cs-metrics{display:flex;gap:16px;margin-top:14px}.ff-cs-metrics div .ff-metric-val{display:block;font-family:Bebas Neue;font-size:20px;color:#f2c565}.ff-cs-metrics div .ff-metric-label{display:block;font-size:9px;color:#6e6455;text-transform:uppercase;margin-top:2px}.ff-empty{text-align:center;color:#6e6455;padding:26px 10px}.ff-entry-switch{display:flex;gap:8px;margin-bottom:16px}.ff-entry-switch button{background:#1a1613;border:1px solid rgba(212,175,90,.14);color:#a89a83;padding:10px 16px;border-radius:8px;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:7px;font-family:inherit}.ff-entry-switch button.active{background:#cd9f4a;color:#161310;border-color:#cd9f4a}.ff-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width:800px){.ff-form-grid{grid-template-columns:1fr 1fr}}.ff-warn-box{display:flex;gap:9px;background:#d9a4411a;border:1px solid rgba(217,164,65,.3);color:#d9a441;padding:12px 14px;border-radius:8px;font-size:12px;margin-top:14px}.ff-strong{font-weight:700;font-size:14px}.ff-approval-list{display:flex;flex-direction:column;gap:12px}.ff-approval-card{background:#211c17;border:1px solid rgba(212,175,90,.14);border-radius:10px;padding:16px}.ff-approval-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ff-approval-qty{font-family:Bebas Neue;font-size:20px;color:#f2c565;white-space:nowrap}.ff-approval-blockers{display:flex;gap:8px;font-size:12px;color:#a89a83;margin-top:10px;line-height:1.5}.ff-approval-meta{font-size:10.5px;color:#6e6455;margin-top:8px}.ff-approval-actions{display:flex;gap:10px;margin-top:12px}.ff-btn-approve{background:#5fae7c24;color:#5fae7c;border:1px solid rgba(95,174,124,.35);padding:8px 14px;border-radius:6px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;font-family:inherit}.ff-btn-reject{background:#c15a4e24;color:#c15a4e;border:1px solid rgba(193,90,78,.35);padding:8px 14px;border-radius:6px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;font-family:inherit}
