:root{--ink:#0b1f1c;--ink-soft:#16352f;--fog:#d7ebe4;--mist:#eef6f2;--paper:#f3faf7;--accent:#1f8a70;--accent-deep:#146652;--line:#0b1f1c1f;--text:#2a403b;--muted:#5d736c;--danger:#b42318;--brand:"Sora", sans-serif;--body:"IBM Plex Sans", sans-serif;color:var(--text);background:var(--paper);font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100svh}a{color:inherit;text-decoration:none}button,input{font:inherit}#app{min-height:100svh}.site-header{z-index:10;justify-content:space-between;align-items:center;padding:1.25rem clamp(1.25rem,4vw,3rem);animation:.7s both fade-down;display:flex;position:absolute;inset:0 0 auto}.brand{font-family:var(--brand);letter-spacing:-.03em;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.15rem;font-weight:700}.header-login{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);cursor:pointer;background:#f3faf7b8;border:1px solid #0b1f1c2e;border-radius:999px;padding:.55rem 1.1rem;font-weight:600;transition:transform .18s,background .18s,border-color .18s}.header-login:hover{background:#fff;border-color:#1f8a7073;transform:translateY(-1px)}.landing{background:radial-gradient(1200px 600px at 80% -10%,#1f8a7047,#0000 60%),radial-gradient(900px 500px at 10% 20%,#1466522e,#0000 55%),linear-gradient(165deg,#eaf6f1 0%,#f7fcfa 42%,#e4f1eb 100%);min-height:100svh;position:relative;overflow:hidden}.landing:before{content:"";pointer-events:none;background-image:linear-gradient(#0b1f1c0b 1px,#0000 1px),linear-gradient(90deg,#0b1f1c0b 1px,#0000 1px);background-size:48px 48px;animation:18s linear infinite grid-drift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 75%);mask-image:linear-gradient(#0000008c,#0000 75%)}.hero{z-index:1;flex-direction:column;justify-content:center;max-width:920px;min-height:100svh;padding:7rem clamp(1.25rem,4vw,3rem) 4rem;display:flex;position:relative}.hero-brand{font-family:var(--brand);letter-spacing:-.05em;color:var(--ink);margin:0 0 1.25rem;font-size:clamp(2.8rem,8vw,5.4rem);line-height:.95;animation:.8s cubic-bezier(.2,.8,.2,1) both rise}.hero-copy{max-width:34rem;color:var(--muted);margin:0 0 2rem;font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.55;animation:.9s cubic-bezier(.2,.8,.2,1) 80ms both rise}.hero-cta{background:var(--ink);width:fit-content;color:var(--fog);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.9rem 1.4rem;font-weight:600;transition:transform .18s,background .18s;animation:1s cubic-bezier(.2,.8,.2,1) .14s both rise;display:inline-flex}.hero-cta:hover{background:var(--accent-deep);transform:translateY(-2px)}.auth-page{background:radial-gradient(700px 320px at 50% 0%, #1f8a7033, transparent 70%), var(--paper);place-items:center;min-height:100svh;padding:6rem 1.25rem 2rem;display:grid}.auth-shell{width:min(420px,100%);animation:.5s both rise}.auth-shell h1{font-family:var(--brand);letter-spacing:-.04em;color:var(--ink);margin:0 0 .35rem;font-size:2rem}.auth-shell p{color:var(--muted);margin:0 0 1.5rem}.auth-form{gap:.9rem;display:grid}.auth-form label{color:var(--ink-soft);gap:.35rem;font-size:.92rem;font-weight:500;display:grid}.auth-form input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;padding:.85rem .95rem}.auth-form input:focus{border-color:#0000;outline:2px solid #1f8a7059}.auth-form button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;margin-top:.35rem;padding:.9rem 1.1rem;font-weight:600}.auth-form button[type=submit]:disabled{opacity:.65;cursor:wait}.auth-error{color:var(--danger);margin:0;font-size:.9rem}.auth-info{color:var(--accent-deep);margin:0;font-size:.9rem}.auth-switch{color:var(--muted);margin-top:1rem;font-size:.95rem}.auth-switch button{color:var(--accent-deep);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes grid-drift{0%{transform:translateY(0)}to{transform:translateY(48px)}}@media (width<=640px){.hero{padding-top:6.5rem}}.platform{--p-bg:#0d0e13;--p-fg:#fff;--p-surface:#14151d;--p-card:#14151d;--p-popover:#181a23;--p-primary:#8cdb00;--p-primary-fg:#0d0e13;--p-secondary:#0072ce;--p-muted:#1c1e28;--p-muted-fg:#9497a8;--p-accent:#fc0;--p-destructive:#ff5c5c;--p-warning:#fc0;--p-info:#0072ce;--p-border:#ffffff17;--p-chart-1:#8cdb00;--p-chart-2:#0072ce;--p-chart-3:#fc0;--p-chart-4:#5ce6c8;--p-chart-5:#ff5c5c;--p-radius:.85rem;--p-sidebar:#101116;background:var(--p-bg);min-height:100svh;color:var(--p-fg);font-family:var(--body)}.platform *{box-sizing:border-box}.platform a{color:inherit;text-decoration:none}.platform-body{min-height:100svh}@media (width>=1024px){.platform-body{padding-left:16rem}.platform-body.platform-body-full{padding-left:0}}.platform-sidebar{display:none}@media (width>=1024px){.platform-sidebar{z-index:40;background:var(--p-sidebar);border-right:1px solid #ffffff0d;flex-direction:column;width:16rem;display:flex;position:fixed;inset:0 auto 0 0}}.platform-sidebar-brand{border-bottom:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:.6rem;height:4.5rem;padding:0 1.5rem;display:flex}.platform-sidebar-mark{background:var(--p-primary);width:2rem;height:2rem;color:var(--p-primary-fg);font-family:var(--brand);border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.platform-sidebar-brand span{font-family:var(--brand);letter-spacing:.02em;color:#fff;font-size:.9rem;font-weight:700}.platform-nav{flex-direction:column;flex:1;gap:.25rem;padding:1.5rem .75rem;display:flex;overflow-y:auto}.platform-nav-item{color:#fff9;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.75rem;align-items:center;gap:.75rem;width:100%;padding:.65rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.platform-nav-item:hover{color:#fff;background:#ffffff0d}.platform-nav-item svg{color:#fff6;flex-shrink:0;width:18px;height:18px}.platform-nav-item:hover svg{color:#ffffffb3}.platform-nav-item.active{color:var(--p-primary);background:#8cdb001f}.platform-nav-item.active svg{color:var(--p-primary)}.platform-sidebar-footer{border-top:1px solid #ffffff0d;padding:1rem}.platform-sidebar-footer button{text-align:center;color:#fff6;cursor:pointer;background:0 0;border:0;border-radius:.5rem;width:100%;padding:.5rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .15s,color .15s;display:block}.platform-sidebar-footer button:hover{color:#ffffffb3;background:#ffffff0d}.platform-drawer-backdrop{z-index:45;background:#0009;animation:.15s both platform-fade;position:fixed;inset:0}.platform-drawer{z-index:50;background:var(--p-sidebar);border-right:1px solid #ffffff1a;flex-direction:column;width:18rem;max-width:85vw;animation:.2s both platform-slide-in;display:flex;position:fixed;inset:0 auto 0 0}@media (width>=1024px){.platform-drawer-backdrop,.platform-drawer{display:none}}@keyframes platform-fade{0%{opacity:0}to{opacity:1}}@keyframes platform-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.platform-topbar{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d0e13e6;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;height:4.5rem;padding:0 1rem;display:flex;position:sticky;top:0}@media (width>=640px){.platform-topbar{padding:0 1.5rem}}@media (width>=1024px){.platform-topbar{padding-right:2rem}}.platform-topbar-left{align-items:center;gap:.75rem;min-width:0;display:flex}.platform-icon-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:0;border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:background-color .15s,color .15s;display:inline-flex;position:relative}.platform-icon-btn:hover{color:#fff;background:#ffffff0f}.platform-icon-btn svg{width:20px;height:20px}.platform-menu-btn{display:inline-flex}@media (width>=1024px){.platform-menu-btn{display:none}}.platform-topbar-title h1{font-family:var(--brand);color:#fff;margin:0;font-size:1.05rem;font-weight:700}@media (width>=640px){.platform-topbar-title h1{font-size:1.2rem}}.platform-topbar-title p{color:#fff6;margin:0;font-size:.75rem;display:none}@media (width>=640px){.platform-topbar-title p{display:block}}.platform-topbar-right{align-items:center;gap:.4rem;display:flex}.platform-badge-dot{background:var(--p-primary);border-radius:999px;width:8px;height:8px;position:absolute;top:6px;right:6px}.platform-logout{color:#fff9;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff1f;border-radius:999px;padding:.4rem .9rem;font-size:.8rem;font-weight:600;transition:border-color .15s,color .15s}.platform-logout:hover{color:var(--p-destructive);border-color:#ff5c5c80}.platform-modules{position:relative}.platform-modules-trigger{color:#ffffffbf;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.6rem;align-items:center;gap:.35rem;padding:.5rem .65rem;font-size:.875rem;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.platform-modules-trigger:hover{color:#fff;background:#ffffff0f}.platform-modules-trigger svg{width:16px;height:16px;transition:transform .15s}.platform-modules-trigger svg.rotated{transform:rotate(180deg)}.platform-modules-panel{z-index:60;background:var(--p-popover);border:1px solid #ffffff1a;border-radius:.85rem;width:21rem;max-width:88vw;padding:.5rem;animation:.12s both platform-fade;position:absolute;top:calc(100% + .5rem);left:0;box-shadow:0 20px 45px -12px #0000008c}.platform-modules-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#fff6;align-items:center;gap:.4rem;margin:.25rem .5rem .5rem;font-size:.7rem;font-weight:600;display:flex}.platform-modules-eyebrow svg{width:14px;height:14px}.platform-modules-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.6rem;align-items:center;gap:.75rem;width:100%;padding:.6rem .5rem;transition:background-color .15s;display:flex}.platform-modules-row:hover{background:#ffffff0d}.platform-modules-row.active{background:#8cdb001a}.platform-modules-icon{background:var(--p-primary);width:2.25rem;height:2.25rem;color:var(--p-primary-fg);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.platform-modules-icon svg{width:18px;height:18px}.platform-modules-row.active .platform-modules-icon{background:var(--p-primary)}.platform-modules-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.platform-modules-title{color:#fff;font-size:.875rem;font-weight:600}.platform-modules-row.active .platform-modules-title{color:var(--p-primary)}.platform-modules-desc{color:#ffffff73;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.platform-modules-chevron{color:#ffffff4d;flex-shrink:0;width:16px;height:16px}.platform-popover-wrap{position:relative}.platform-popover{z-index:60;background:var(--p-popover);border:1px solid #ffffff1a;border-radius:.75rem;width:20rem;max-width:85vw;padding:1rem;animation:.12s both platform-fade;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 20px 45px -12px #0000008c}.platform-popover-title{color:#fff;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.platform-popover-empty{color:#ffffff73;margin:0;font-size:.875rem}.platform-popover-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.platform-popover-list li{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.platform-popover-list .item-title{color:#fff;margin:0;font-size:.875rem;font-weight:500}.platform-popover-list .item-desc{color:#ffffff73;margin:0;font-size:.75rem}.platform-popover-list .item-date{color:var(--p-primary);flex-shrink:0;font-size:.75rem;font-weight:500}.platform-banner{background:#ffcc001a;border-bottom:1px solid #fc03;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}@media (width>=640px){.platform-banner{padding:.75rem 1.5rem}}.platform-banner-left{align-items:center;gap:.75rem;display:flex}.platform-banner-left svg{width:16px;height:16px;color:var(--p-warning);flex-shrink:0}.platform-banner-left p{color:#fffc;margin:0;font-size:.875rem}.platform-banner-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.platform-banner-cta{cursor:pointer;background:var(--p-warning);color:#0d0e13;border:0;border-radius:999px;padding:.45rem .9rem;font-size:.8rem;font-weight:600}.platform-banner-dismiss{color:#fff6;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.platform-banner-dismiss:hover{color:#fff}.platform-banner-dismiss svg{width:16px;height:16px}.platform-main{flex-direction:column;gap:1.5rem;padding:1.5rem 1rem;display:flex}@media (width>=640px){.platform-main{padding:1.5rem}}@media (width>=1024px){.platform-main{padding:2rem}}.platform-page-title h2{font-family:var(--brand);color:#fff;margin:0 0 .2rem;font-size:1.25rem;font-weight:600}.platform-page-title p{color:#ffffff80;margin:0;font-size:.875rem}.platform-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.platform-grid-kpi{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.platform-grid-kpi{grid-template-columns:repeat(4,1fr)}.platform-grid-2{grid-template-columns:repeat(2,1fr)}.platform-grid-3{grid-template-columns:repeat(3,1fr)}.platform-grid-3>:first-child{grid-column:span 2/span 2}}.platform-card{border-radius:var(--p-radius);background:var(--p-card);border:1px solid #ffffff14;flex-direction:column;gap:1rem;padding:1rem;display:flex}.platform-card-header{flex-direction:column;gap:.25rem;display:flex}.platform-card-title{font-family:var(--brand);color:#fff;margin:0;font-size:1rem;font-weight:600}.platform-card-description{color:#ffffff73;margin:0;font-size:.8125rem}.platform-card-footer{border-top:1px solid #ffffff0d;flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}@media (width>=640px){.platform-card-footer{flex-direction:row}}.platform-link-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:0;border-radius:.6rem;flex:1;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.85rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.platform-link-btn:hover{color:#fff;background:#ffffff0f}.platform-link-btn svg{width:16px;height:16px}.platform-kpi{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.5rem;display:flex}.platform-kpi-label{color:#ffffff80;margin:0;font-size:.75rem;font-weight:500}.platform-kpi-value{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin:.3rem 0 0;font-size:1.5rem;font-weight:600;overflow:hidden}.platform-kpi-hint{color:#fff6;margin:.25rem 0 0;font-size:.75rem}.platform-kpi-icon{border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.platform-kpi-icon svg{width:18px;height:18px}.platform-kpi-icon.tone-default{color:#ffffffb3;background:#ffffff0d}.platform-kpi-icon.tone-primary{color:var(--p-primary);background:#8cdb0026}.platform-kpi-icon.tone-warning{color:var(--p-warning);background:#ffcc0026}.platform-kpi-icon.tone-destructive{color:var(--p-destructive);background:#ff5c5c26}.platform-aging{flex-direction:column;gap:1rem;display:flex}.platform-aging-row{flex-direction:column;gap:.4rem;display:flex}.platform-aging-row-top{justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.platform-aging-row-top span:first-child{color:#fff9}.platform-aging-row-top span:last-child{color:#fff;font-variant-numeric:tabular-nums;flex-shrink:0}.platform-aging-track{background:#ffffff0d;border-radius:999px;width:100%;height:.5rem;overflow:hidden}.platform-aging-fill{border-radius:999px;height:100%;transition:width .3s}.platform-aging-count{color:#ffffff59;margin:0;font-size:.75rem}.platform-empty-note{text-align:center;color:#fff6;margin:0;padding:2.5rem 0;font-size:.875rem}.platform-chart{width:100%;position:relative}.platform-chart svg{width:100%;height:auto;display:block;overflow:visible}.platform-chart-axis{fill:#fff6;font-size:11px}.platform-chart-grid{stroke:#ffffff0f}.platform-chart-tooltip{pointer-events:none;color:#fff;white-space:nowrap;z-index:5;background:#14151d;border:1px solid #ffffff1a;border-radius:8px;padding:.5rem .65rem;font-size:.75rem;position:absolute;transform:translate(-50%,-110%)}.platform-chart-tooltip .tt-label{color:#ffffff8c;margin:0 0 .15rem}.platform-chart-legend{color:#fff9;justify-content:center;gap:1rem;margin-top:.5rem;font-size:.75rem;display:flex}.platform-chart-legend span{align-items:center;gap:.4rem;display:inline-flex}.platform-chart-legend i{border-radius:2px;width:8px;height:8px;display:inline-block}.platform-empty-hero{text-align:center;background:#ffffff05;border:1px dashed #ffffff1a;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:60vh;padding:4rem 1.5rem;display:flex}.platform-empty-hero .icon-circle{width:3.5rem;height:3.5rem;color:var(--p-primary);background:#8cdb0026;border-radius:999px;justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.platform-empty-hero .icon-circle svg{width:24px;height:24px}.platform-empty-hero h2{font-family:var(--brand);color:#fff;margin:0;font-size:1.25rem;font-weight:600}.platform-empty-hero p{color:#ffffff80;max-width:28rem;margin:.5rem 0 0;font-size:.875rem}.platform-empty-hero button{background:var(--p-primary);color:var(--p-primary-fg);cursor:pointer;border:0;border-radius:999px;margin-top:1.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600}
