@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#18201e;font-synthesis:none;--ink:#18201e;--muted:#68716d;--line:#dfe4dd;--blue:#3156cc;--green:#169d68;background:#f3f5f1;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:1120px;margin:0}button,select,input{font:inherit}button{cursor:pointer}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}aside{color:#e9efec;background:#17201e;flex-direction:column;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;margin:0 7px 45px;font-size:15px;display:flex}.brand strong{color:#84928e;text-transform:uppercase;letter-spacing:.12em;font-size:11px;display:block}.brandmark{color:#17201e;background:#d8ff55;border-radius:9px;place-items:center;width:34px;height:34px;font-size:20px;font-weight:800;display:grid}nav{flex-direction:column;gap:5px;display:flex}nav a{color:#93a09c;border-radius:8px;align-items:center;gap:11px;padding:11px 13px;font-size:14px;font-weight:600;text-decoration:none;display:flex}nav a svg{width:18px}nav a.active,nav a:hover{color:#fff;background:#28322f}.aside-foot{color:#82908c;border-top:1px solid #2d3835;margin-top:auto;padding:20px 8px 4px;font-size:10px}.aside-foot span{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;display:flex}.aside-foot svg{width:14px}.aside-foot strong{color:#e6ece9;margin-top:5px;font-size:11px;display:block}main{width:100%;max-width:1700px;padding:0 34px 55px}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:105px;margin-bottom:24px;display:flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin:3px 0 0;font-size:27px}h2{letter-spacing:-.02em;margin:3px 0;font-size:18px}.eyebrow{color:#7a8581;letter-spacing:.14em;font-family:DM Mono;font-size:9px}.header-actions,.updated{align-items:center;gap:11px;display:flex}.updated{color:#66716d;font-size:11px}.updated svg{width:15px;color:var(--green)}.icon-btn{border:1px solid var(--line);background:#fafbf9;border-radius:8px;width:36px;height:36px}.icon-btn svg{width:17px}.controls{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.range{border:1px solid var(--line);color:#68716d;background:#fff;margin-right:-1px;padding:8px 14px;font-size:11px}.range:first-child{border-radius:7px 0 0 7px}.range:nth-child(3){border-radius:0 7px 7px 0}.range.active{color:#fff;background:#202a27}.controls label{color:#75807c;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.controls select{border:1px solid var(--line);color:#25302d;background:#fff;border-radius:7px;margin-left:10px;padding:8px 30px 8px 10px;font-size:11px}.partial{background:#fff6df;border:1px solid #ead7a9;border-left:3px solid #e39a28;border-radius:8px;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;display:flex}.partial svg{color:#d78916;width:19px}.partial div{flex-direction:column;flex:1;font-size:12px;display:flex}.partial span{color:#756b59;margin-top:2px;font-size:10px}.partial button{background:0 0;border:0;font-size:10px;text-decoration:underline}.stats{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px;display:grid}.stat,.panel,.source-card{border:1px solid var(--line);background:#fff;border-radius:10px}.stat{padding:17px}.stat-top{color:#74807c;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;font-size:10px;display:flex}.stat-top i{background:#eef1ed;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.stat-top svg{width:14px}.stat>strong{letter-spacing:-.04em;margin:11px 0 5px;font-size:24px;display:block}.stat small{color:#9b6767;align-items:center;font-size:9px;display:flex}.stat small.positive{color:var(--green)}.stat small svg{width:13px}.grid-main{grid-template-columns:minmax(600px,2fr) minmax(280px,1fr);gap:14px;margin-bottom:14px;display:grid}.panel{margin-bottom:14px;padding:20px}.panel-title{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.legend{gap:16px;font-size:10px;display:flex}.legend span:before{content:"";border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.legend .blue:before{background:var(--blue)}.legend .green:before{background:var(--green)}.recharts-text{fill:#7a8581;font-size:9px}.alerts .count{color:#a64d40;background:#f3e5e2;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.alert{border-top:1px solid #edf0ec;gap:10px;padding:12px 0;display:flex}.alert svg{flex:none;width:17px}.alert div{flex-direction:column;display:flex}.alert strong{font-size:11px}.alert span{color:#77817e;margin-top:3px;font-size:9px;line-height:1.45}.alert.critical svg{color:#c64d3f}.alert.warning svg{color:#d69128}.alert.ok svg{color:var(--green)}.table-wrap{margin:0 -20px -20px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:10px}th{text-transform:uppercase;letter-spacing:.06em;color:#89928f;text-align:right;background:#f8f9f7;font-weight:600}th,td{text-align:right;border-top:1px solid #e8ece7;padding:12px 15px}th:first-child,td:first-child{text-align:left}td{color:#4e5a56;font-family:DM Mono}.profit{color:#13855c}.loss{color:#c34f45}.status{text-transform:capitalize;border-radius:10px;padding:4px 7px;font-family:Manrope}.status.complete{color:#16835b;background:#e8f5ee}.status.partial{color:#9b661a;background:#fff0d9}.muted{color:#7d8884;font-size:10px}.channel-cards{grid-template-columns:1fr 1fr;gap:14px;display:grid}.channel-cards article{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:8px;padding:18px}.channel-cards h3{font-size:12px}.channel-cards>article>strong{font-size:25px}.channel-cards dl{grid-template-columns:1fr 1fr;margin:20px 0 0;display:grid}.channel-cards dl div{border-top:1px solid var(--line);padding:10px}dt{color:#85908c;text-transform:uppercase;font-size:9px}dd{margin:4px 0 0;font-size:12px}.caveat{color:#9a722f;background:#fff5df;border-radius:6px;align-items:center;gap:5px;padding:7px 9px;font-size:9px;display:flex}.caveat svg{width:13px}.source-intro{margin-bottom:22px}.source-intro h2{font-size:25px}.source-intro p{color:var(--muted);max-width:620px;font-size:11px}.source-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:14px;display:grid}.source-card{padding:17px}.source-card>div{align-items:center;gap:8px;display:flex}.source-card h3{margin:0;font-size:13px}.source-dot{background:#2bb377;border-radius:50%;width:8px;height:8px}.source-dot.warn{background:#e39a28}.source-card>strong{color:#6b7773;font-size:10px}.source-card dl div{border-top:1px solid #edf0ec;padding:9px 0}.source-card dl{margin:16px 0}.source-card dd{font-size:10px}.source-card button{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:5px;padding:7px 9px;font-size:9px;display:flex}.source-card button svg{width:12px}.upload{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.upload>div{flex:1;align-items:center;gap:14px;display:flex}.upload>div>svg{width:30px;color:var(--blue)}.upload h2{margin-bottom:3px;font-size:14px}.upload p{color:var(--muted);margin:0;font-size:10px}.upload-button{color:#fff;cursor:pointer;background:#1d2926;border-radius:7px;padding:9px 13px;font-size:10px}.upload-button input{display:none}.success-msg{width:100%;color:var(--green);align-items:center;gap:6px;font-size:10px;display:flex}.success-msg svg{width:14px}.credential h2{font-size:15px}.credential p,.credential li{color:#64706c;font-size:10px;line-height:1.7}.credential ul{padding-left:18px}@media (width<=1200px){main{padding-left:22px;padding-right:22px}.stats{grid-template-columns:repeat(3,1fr)}.source-grid{grid-template-columns:1fr 1fr}}body{min-width:0}@media (width<=1050px){.shell{grid-template-columns:190px minmax(0,1fr)}aside{padding-left:12px;padding-right:12px}.brand{margin-left:5px}.brand strong{font-size:9px}nav a{font-size:12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}.source-grid{grid-template-columns:1fr 1fr}.controls{flex-wrap:wrap;align-items:flex-start;gap:12px}.partial{align-items:flex-start}.partial button{display:none}}
