:root{--gold: #b8912a;--gold-soft: #d4ad3e;--gold-deep: #8a6b1f;--gold-line: rgba(184,145,42,.35);--gold-wash: rgba(184,145,42,.08);--gold-glow: rgba(184,145,42,.32);--midnight: #0a192f;--midnight-soft: #0f223d;--ink: #050b18;--ink-deep: #02060f;--alabaster: #fafaf7;--mute-1: rgba(250,250,247,.92);--mute-2: rgba(250,250,247,.62);--mute-3: rgba(250,250,247,.42);--mute-4: rgba(250,250,247,.22);--hair: rgba(250,250,247,.08);--hair-strong: rgba(250,250,247,.14);--hair-soft: rgba(250,250,247,.04);--emerald: #34d399;--emerald-wash: rgba(52,211,153,.1);--emerald-line: rgba(52,211,153,.32);--alert: #f87171;--alert-wash: rgba(248,113,113,.1);--alert-line: rgba(248,113,113,.32);--amber: #fbbf24;--amber-wash: rgba(251,191,36,.1);--amber-line: rgba(251,191,36,.32);--azure: #60a5fa;--azure-wash: rgba(96,165,250,.1);--azure-line: rgba(96,165,250,.32);--violet: #c4b5fd;--violet-wash: rgba(196,181,253,.1);--violet-line: rgba(196,181,253,.32);--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Mono", ui-monospace, monospace;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-pill: 999px;--shadow-glass: 0 30px 80px rgba(0,0,0,.45), 0 4px 16px rgba(0,0,0,.25);--shadow-gold: 0 12px 28px var(--gold-glow), inset 0 1px 0 rgba(255,255,255,.28);--shadow-card: 0 10px 30px rgba(0,0,0,.32);--header-h: 64px;--sidebar-w: 248px;--sidebar-w-collapsed: 64px;--max-w: 1280px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth;background:var(--ink)}body{font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--alabaster);background:var(--ink);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(70% 50% at 12% 0%,rgba(184,145,42,.1) 0%,transparent 60%),radial-gradient(60% 45% at 88% 100%,rgba(212,173,62,.06) 0%,transparent 55%),radial-gradient(120% 80% at 50% 30%,rgba(10,25,47,.85) 0%,var(--ink) 70%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .8 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}body>*{position:relative;z-index:1}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,select,textarea,button{font-family:inherit}a{color:var(--gold-soft);text-decoration:none;transition:color .18s}a:hover{color:var(--gold)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:#b8912a4d;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#b8912a8c}::selection{background:#b8912a52;color:var(--alabaster)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;color:var(--alabaster);letter-spacing:-.015em;line-height:1.12;margin:0 0 16px}h1{font-size:clamp(2.2rem,4.2vw,3.4rem)}h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}h3{font-size:1.3rem}h4{font-size:1.05rem}h1 em,h2 em,h3 em,h4 em{font-style:italic;color:var(--gold)}p{margin:0 0 14px;color:var(--mute-1)}strong{color:var(--alabaster);font-weight:600}.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:14px}.glass{position:relative;background:linear-gradient(180deg,#ffffff0b,#ffffff03);border:1px solid var(--hair);border-radius:var(--r-lg);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--header-h);padding:0 22px;background:#0a192fb8;border-bottom:1px solid var(--hair-strong);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.header__brand{font-family:var(--font-serif);font-size:1.3rem;font-weight:500;color:var(--alabaster);letter-spacing:-.01em;text-decoration:none;flex-shrink:0}.header__brand em{font-style:italic;color:var(--gold)}.header__center{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.header__company{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:calc(100vh - var(--header-h))}.sidebar{display:flex;flex-direction:column;background:linear-gradient(180deg,#0a192feb,#050b18f5);border-right:1px solid var(--hair-strong);position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;overflow-x:hidden;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);transition:width .25s ease}.sidebar__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--hair)}.sidebar__logo{font-family:var(--font-serif);font-size:1.2rem;color:var(--alabaster);font-weight:500;text-decoration:none;white-space:nowrap}.sidebar__logo em{font-style:italic;color:var(--gold)}.sidebar__logo .dot{color:var(--gold)}.sidebar__collapse{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--hair-strong);color:var(--gold-soft);border-radius:6px;flex-shrink:0}.sidebar__collapse:hover{background:var(--gold-wash);border-color:var(--gold-line)}.sidebar__company{padding:14px 20px;border-bottom:1px solid var(--hair)}.sidebar__company-name{font-family:var(--font-serif);font-size:1.02rem;color:var(--alabaster);font-style:italic;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__company-sub{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-3);margin-bottom:10px}.sidebar__nav{flex:1;padding:8px 0 14px}.sidebar__group{font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--mute-3);padding:18px 20px 8px}.sidebar__foot{margin-top:auto;border-top:1px solid var(--hair);padding:12px 0}.sidebar__email{padding:8px 20px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--mute-3);overflow:hidden;text-overflow:ellipsis}.sidebar__plan{padding:4px 20px 10px;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-3)}.sidebar__plan span{color:var(--gold-soft);background:var(--gold-wash);border:1px solid var(--gold-line);border-radius:3px;padding:1px 6px;font-size:8.5px}.sidebar__version{padding:4px 20px;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-4)}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 20px;background:transparent;border:none;border-left:2px solid transparent;color:var(--mute-1);font-family:var(--font-sans);font-size:.85rem;text-align:left;cursor:pointer;transition:all .18s ease;text-decoration:none}.nav-item:hover{background:var(--gold-wash);color:var(--alabaster)}.nav-item.active{background:linear-gradient(90deg,var(--gold-wash),transparent);border-left-color:var(--gold);color:var(--gold-soft)}.nav-item__icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--mute-2);flex-shrink:0;opacity:.85}.nav-item.active .nav-item__icon{color:var(--gold);opacity:1}.nav-item__label{flex:1;line-height:1.3}.nav-item__badge{font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;background:var(--gold);color:#0a0a0a;padding:2px 5px;border-radius:3px}.nav-item__badge--new{background:var(--emerald)}.nav-item__locked{color:var(--mute-4);pointer-events:none}.nav-item__locked .nav-item__icon{opacity:.35}.app-main{padding:28px 32px 80px;max-width:var(--max-w);width:100%;min-height:calc(100vh - var(--header-h))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;transition:all .18s ease;text-decoration:none;white-space:nowrap}.btn--primary{background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:#0a0a0a;border-color:var(--gold-deep);box-shadow:var(--shadow-gold)}.btn--primary:hover{background:linear-gradient(135deg,#e0bc50,var(--gold-soft));transform:translateY(-1px)}.btn--ghost{background:transparent;border-color:var(--hair-strong);color:var(--mute-1)}.btn--ghost:hover{border-color:var(--gold-line);color:var(--alabaster);background:var(--gold-wash)}.btn--danger{background:var(--alert-wash);border-color:var(--alert-line);color:var(--alert)}.btn--sm{padding:7px 14px;font-size:9.5px}.btn--lg{padding:14px 28px;font-size:12px}.btn--icon{padding:9px;border-radius:var(--r-sm)}.btn:disabled{opacity:.45;pointer-events:none}.card{background:linear-gradient(180deg,#ffffff0a,#ffffff03);border:1px solid var(--hair-strong);border-radius:var(--r-lg);padding:24px}.card--gold{background:linear-gradient(135deg,#b8912a1f,#b8912a0a);border-color:var(--gold-line)}.card__title{font-family:var(--font-serif);font-size:1.05rem;color:var(--alabaster);margin:0 0 6px}.card__sub{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-3);margin-bottom:16px}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-pill);border:1px solid}.badge--gold{background:var(--gold-wash);border-color:var(--gold-line);color:var(--gold-soft)}.badge--green{background:var(--emerald-wash);border-color:var(--emerald-line);color:var(--emerald)}.badge--red{background:var(--alert-wash);border-color:var(--alert-line);color:var(--alert)}.badge--amber{background:var(--amber-wash);border-color:var(--amber-line);color:var(--amber)}.badge--muted{background:var(--hair);border-color:var(--hair-strong);color:var(--mute-2)}.field{display:flex;flex-direction:column;gap:8px}.field__label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-2)}.field__input{width:100%;padding:11px 16px;background:#ffffff0a;border:1px solid var(--hair-strong);border-radius:var(--r-sm);color:var(--alabaster);font-family:var(--font-sans);font-size:.9rem;transition:border-color .18s,background .18s;outline:none}.field__input:focus{border-color:var(--gold-line);background:#b8912a0d}.field__input::placeholder{color:var(--mute-4)}.field__error{font-family:var(--font-mono);font-size:10px;color:var(--alert);letter-spacing:.06em}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--hair-strong);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner--lg{width:32px;height:32px}.login-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.login-card{width:100%;max-width:440px;background:linear-gradient(180deg,#0a192fd1,#050b18e6);border:1px solid var(--hair-strong);border-radius:var(--r-xl);padding:48px 40px 44px;-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);box-shadow:var(--shadow-glass)}.login-card__brand{font-family:var(--font-serif);font-size:1.8rem;font-weight:500;color:var(--alabaster);margin:0 0 6px;text-align:center}.login-card__brand em{font-style:italic;color:var(--gold)}.login-card__sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute-3);text-align:center;margin-bottom:36px}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--mute-3);font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--hair-strong)}.login-toggle{text-align:center;margin-top:20px;font-family:var(--font-mono);font-size:10.5px;color:var(--mute-3);letter-spacing:.06em}.login-toggle button{color:var(--gold-soft);background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0 4px;transition:color .18s}.login-toggle button:hover{color:var(--gold)}.login-alert{padding:10px 14px;background:var(--alert-wash);border:1px solid var(--alert-line);border-radius:var(--r-sm);color:var(--alert);font-family:var(--font-mono);font-size:10.5px;margin-bottom:16px}.login-success{padding:10px 14px;background:var(--emerald-wash);border:1px solid var(--emerald-line);border-radius:var(--r-sm);color:var(--emerald);font-family:var(--font-mono);font-size:10.5px;margin-bottom:16px}.upgrade-prompt{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;text-align:center;background:linear-gradient(135deg,#b8912a0f,#b8912a05);border:1px solid var(--gold-line);border-radius:var(--r-lg)}.upgrade-prompt__icon{color:var(--gold);opacity:.7;margin-bottom:4px}.upgrade-prompt__title{font-family:var(--font-serif);font-size:1.15rem;color:var(--alabaster);margin:0}.upgrade-prompt__text{color:var(--mute-2);font-size:.88rem;margin:0;max-width:320px}.view-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:16px;text-align:center;color:var(--mute-3)}.view-placeholder__phase{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);border:1px solid var(--gold-line);background:var(--gold-wash);padding:4px 10px;border-radius:var(--r-pill)}.conso-bar{width:100%;height:4px;background:var(--hair-strong);border-radius:var(--r-pill);overflow:hidden}.conso-bar__fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-soft));border-radius:var(--r-pill);transition:width .5s ease}.conso-bar__fill--warn{background:linear-gradient(90deg,var(--amber),#f0a800)}.conso-bar__fill--danger{background:linear-gradient(90deg,var(--alert),#e84f4f)}@media(max-width:768px){.header{padding:0 14px;gap:10px}.header__center{display:none}.header__brand{font-size:1.1rem}.btn--icon{display:flex!important}.kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.kpi-grid--cols-2,.kpi-grid--cols-3,.kpi-grid--cols-4{grid-template-columns:repeat(2,1fr)!important}.card{padding:14px 12px!important;border-radius:10px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.section-title h2{font-size:1.6rem!important}.eyebrow{font-size:9px!important}.recharts-wrapper{width:100%!important}div[style*="grid-template-columns: 1fr 1fr"],div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}.field__input{font-size:16px!important}.btn--primary:not(.btn--sm){width:100%;justify-content:center}.dropzone{padding:24px 16px!important}.level-badges{flex-direction:column!important;gap:6px!important}.sidebar{position:relative!important;height:100vh}}@media(max-width:360px){.kpi-grid{grid-template-columns:1fr!important}.header__actions>*:not(:last-child):not(:nth-last-child(2)){display:none}}@media(min-width:769px){.header__center{display:flex}}@supports (padding: env(safe-area-inset-top)){.header{padding-top:env(safe-area-inset-top);height:calc(var(--header-h) + env(safe-area-inset-top))}}html,body{overscroll-behavior:none}*{touch-action:manipulation}.app-main{-webkit-overflow-scrolling:touch;will-change:scroll-position}@media(max-width:768px){.card{box-shadow:none!important}.dropzone{min-height:160px!important}.kpi-card__value{font-size:1.6rem!important}[style*="display: flex"][style*=borderBottom]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}div[style*="grid-template-columns: 1fr 1fr 1fr"],div[style*="grid-template-columns: repeat(3"],div[style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,1fr)!important}.table-hide-mobile{display:none!important}.section-title{margin-bottom:16px!important}}
