:root{--bg:#0b111d;--sidebar:#0d1522;--surface:#101b2a;--surface2:#132033;--border:#28394e;--grid:#25364a;--text:#f0f5fc;--muted:#a4b5cb;--quiet:#8297b1;--blue:#6ac2fb;--mint:#6ddac8;--amber:#f5c488;--purple:#b2a5ff;--side:218px;--radius:10px;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--text);background:var(--bg);font-size:14px;font-variant-numeric:tabular-nums}
*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button:disabled{cursor:default;opacity:.48}.shell{min-height:100vh;display:grid;grid-template-columns:var(--side) minmax(0,1fr)}.shell.compact{--side:72px}
.side{display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--border);position:sticky;top:0;height:100dvh;z-index:20;overflow:hidden}.brand{height:72px;display:flex;gap:11px;align-items:center;padding:0 18px;white-space:nowrap}.logo{width:34px;height:34px;display:grid;place-items:center;flex:none;background:#16283c;border:1px solid #2c4965;border-radius:8px;color:var(--blue)}.logo svg{width:19px;height:19px}.brand strong{display:block;font-size:14px;letter-spacing:.025em}.brand small{color:var(--quiet);font-size:11px}.nav{padding:17px 12px}.nav-label{font-size:10px;letter-spacing:.12em;color:var(--quiet);font-weight:700;margin:0 9px 10px}.nav a{min-height:42px;margin-bottom:5px;padding:0 11px;display:flex;gap:11px;align-items:center;border:1px solid transparent;border-radius:7px;color:var(--muted);white-space:nowrap}.nav a:hover{background:#142134;color:var(--text)}.nav a[aria-current=page]{color:var(--text);background:#172b42;border-color:#2d4967}.nav a[aria-current=page] svg{color:var(--blue)}.nav a svg,.side-bottom svg{width:17px;height:17px;flex:none}.side-bottom{margin:auto 12px 15px;border-top:1px solid var(--border);padding:12px 2px 0}.side-bottom button{width:100%;display:flex;gap:10px;align-items:center;justify-content:flex-start;white-space:nowrap}.compact .brand{padding-left:18px}.compact .nav a{justify-content:center;padding:0}.compact .nav-label,.compact .nav-text,.compact .brand-copy,.compact .side-bottom span{display:none}.compact .side-bottom button{justify-content:center}
.main{min-width:0}.bar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 28px;border-bottom:1px solid var(--border);background:#0d1624;position:sticky;top:0;z-index:12}.bar-left,.crumb,.actions,.controlrow,.badges,.inline{display:flex;align-items:center;gap:9px}.crumb{color:var(--quiet);font-size:13px}.crumb a:hover,.crumb strong{color:var(--text)}.crumb strong{font-weight:600}.crumb svg{width:13px;height:13px}.button,.select,.field{background:#121f30;border:1px solid var(--border);border-radius:7px;min-height:36px;padding:0 11px;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600}.button:hover{border-color:#52789b;background:#192b40}.button.primary{color:#0b1d30;background:#7ac8ff;border-color:#7ac8ff}.button.primary:hover{background:#a0d8ff}.button svg{width:15px;height:15px;flex:none}.button.icon{width:36px;padding:0}.mobile-menu{display:none}.select{max-width:230px;padding-right:24px;font-size:13px}.field{min-width:185px;font-size:13px}.field::placeholder{color:var(--quiet)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;border:1px solid #344b64;background:#18283b;color:#bed1e6;padding:4px 7px;border-radius:5px;white-space:nowrap}.pill.ok{color:var(--mint);border-color:#2d5552;background:#132b33}.pill.warn{color:var(--amber);border-color:#624b36;background:#2b231f}.pill.info{color:var(--blue);border-color:#2e4a68;background:#162a40}.pill:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%}.pill.flat:before{display:none}
.body{padding:25px 28px 31px;max-width:1700px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--blue);margin-bottom:6px}.heading h1{margin:0;font-size:31px;line-height:1.12;letter-spacing:-.037em}.heading .sub{margin:7px 0 0;color:var(--muted);font-size:13px}.stamp{font-size:11px;color:var(--quiet);white-space:nowrap;display:flex;align-items:center;gap:7px}.stamp svg{width:14px;height:14px}.controlrow{flex-wrap:wrap;margin-bottom:17px;min-height:37px}.controlrow .push{margin-left:auto}.data-hint{font-size:11px;color:var(--quiet)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:17px}.kpi{padding:13px 16px;min-width:0}.kpi+.kpi{border-left:1px solid var(--border)}.kpi label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.kpi label svg{width:14px;height:14px;color:var(--quiet)}.kpi strong{display:block;font-size:28px;letter-spacing:-.035em;line-height:1.2;margin:4px 0 5px;white-space:nowrap}.kpi small{display:block;font-size:11px;color:var(--quiet);white-space:normal}.kpi .positive{color:var(--mint)}.kpi .soft{color:#9fd5fa}
.layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:15px;margin-bottom:17px}.panel{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel+.panel.stacked{margin-top:15px}.revenue-empty{margin-bottom:17px}.panel-head{padding:13px 15px;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:11px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:15px;line-height:1.25;margin:0;font-weight:650;letter-spacing:-.012em}.panel-head .dim{color:var(--quiet);font-size:11px;text-align:right}.panel-head .select{min-height:28px;font-size:11px;max-width:200px}.panel-body{padding:14px 15px}.chart{padding:4px 10px 0 4px}.chart svg{display:block;width:100%;height:auto;min-height:170px}.chart text{fill:var(--quiet);font-family:inherit;font-size:11px}.chart .grid{stroke:var(--grid);stroke-dasharray:4 4}.chart .axis{stroke:#3a5069}.chart .chart-point{cursor:crosshair}.legend{display:flex;flex-wrap:wrap;gap:13px;padding:1px 14px 13px;color:var(--muted);font-size:11px}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{display:inline-block;width:13px;height:3px;border-radius:5px;background:var(--blue)}.empty{padding:34px 18px;text-align:center;color:var(--quiet);font-size:13px}
.platform{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted)}.platform i{display:grid;place-items:center;width:17px;height:17px;border-radius:4px;color:#fff;font-style:normal}.platform i.yt{background:#b94757}.platform i.tt{background:#225557;color:#a3f1df}.platform i svg{width:12px;height:12px}.item{display:flex;align-items:center;gap:9px}.avatar{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #37536e;background:#20364c;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.03em;color:#b4d8f6}.avatar.fieldnotes{background:#2c2a48;border-color:#4c426c;color:#d0c5ff}.item strong{font-size:13px;font-weight:650}.item small,.mono-note{display:block;color:var(--quiet);font-size:11px;margin-top:2px}.mono-note{font-variant-numeric:tabular-nums}.list-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--grid)}.list-line:first-child{padding-top:0}.list-line:last-child{border-bottom:0;padding-bottom:0}.list-line .inline{justify-content:end;text-align:right}.list-line b{font-size:13px}.list-title{font-size:13px}
.table-wrap{overflow:auto;max-width:100%}.table-wrap:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}table{width:100%;border-collapse:collapse;text-align:left;min-width:680px}.wide-table{min-width:900px}thead{background:#122033}th{font-size:11px;font-weight:650;color:var(--muted);white-space:nowrap;text-align:left}th,td{padding:10px 14px;border-bottom:1px solid var(--grid)}td{font-size:12px;color:#d7e4f2;white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:hover{background:#142337}.sort{display:inline-flex;align-items:center;gap:5px;border:0;padding:0;background:transparent;color:inherit;font:inherit;min-height:21px}.sort:hover,.sort.on{color:var(--blue)}.sort svg{width:12px;height:12px;opacity:.7}.num{text-align:right}.num .sort{justify-content:flex-end}.table-link{padding:0;border:0;background:transparent;color:var(--text);text-align:left;font-weight:600;cursor:pointer}.table-link:hover{color:var(--blue)}.t-note{color:var(--quiet)}.data-footer{padding:10px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--quiet);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.revenue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:17px}.revenue-grid.single{grid-template-columns:minmax(0,1fr)}.revenue-panel .kpis{grid-template-columns:repeat(3,minmax(0,1fr));border:0;border-bottom:1px solid var(--border);border-radius:0;margin:0}.revenue-panel .kpi{padding:13px}.revenue-panel .kpi strong{font-size:clamp(16px,1.7vw,24px)}.revenue-panel .chart{padding-top:6px}.revenue-panel .chart svg{min-height:140px;max-height:172px}.revenue-panel .empty{min-height:239px;display:grid;place-content:center}.revenue-panel .chart table{min-width:0}
.detail{width:min(440px,calc(100% - 20px));max-height:calc(100dvh - 24px);overflow:auto;padding:0;margin:12px 12px 12px auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text)}.detail::backdrop{background:#060b13b5}.detail .panel-head{position:sticky;top:0;background:var(--surface);z-index:1}.detail h3{margin:0 0 5px;font-size:20px;letter-spacing:-.025em}.detail p{margin:0 0 14px;color:var(--muted);font-size:13px}.detail h4{margin:16px 0 7px;font-size:12px;color:var(--blue)}.detail .row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--grid);font-size:12px}.detail .row span{color:var(--muted)}.detail .row strong{text-align:right;font-weight:600}.detail-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.notice{color:var(--muted);font-size:12px;border-left:2px solid var(--blue);padding:7px 9px;background:#142337;margin-top:13px}.toast{position:fixed;right:19px;bottom:18px;z-index:30;max-width:calc(100% - 38px);padding:11px 14px;background:#1a324a;border:1px solid #497493;border-radius:8px;font-size:13px}.toast[hidden],.shade[hidden]{display:none}.shade{display:none}
.date-pop{display:flex;gap:7px;align-items:center}.date-pop label{display:flex;gap:5px;align-items:center;color:var(--quiet);font-size:11px}.date-pop input{min-width:0;width:132px;padding:0 7px;font-size:12px}.controls-mobile-note{display:none}
@media(max-width:1080px){:root{--side:188px}.body{padding:22px 21px}.bar{padding:0 21px}.layout{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.kpi strong{font-size:24px}.panel-head{padding:11px 12px}}
@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr)}.revenue-grid{grid-template-columns:minmax(0,1fr)}.revenue-panel .kpi strong{font-size:23px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:nth-child(3){border-left:0}.kpi:nth-child(n+3){border-top:1px solid var(--border)}.revenue-panel .kpi:nth-child(3){border-left:1px solid var(--border);border-top:0}.date-pop{flex-wrap:wrap}}
@media(max-width:680px){.shell,.shell.compact{grid-template-columns:minmax(0,1fr)}.side{position:fixed;inset:0 auto 0 0;width:218px;transform:translateX(-101%);transition:transform .17s ease}.shell.menu-open .side{transform:translateX(0)}.shell.menu-open .shade{display:block;position:fixed;inset:0;z-index:19;background:#050b14bf}.mobile-menu{display:inline-flex}.side-bottom{display:none}.compact .nav-label,.compact .nav-text,.compact .brand-copy{display:block}.compact .nav a{justify-content:flex-start;padding:0 11px}.bar{height:56px;padding:0 12px}.bar-left{gap:7px}.crumb{font-size:12px;gap:4px}.crumb .home-crumb{display:none}.bar .pill{display:none}.bar .button{min-height:33px}.bar .export-label{display:none}.body{padding:18px 12px 23px}.heading{margin-bottom:14px;align-items:flex-start}.heading h1{font-size:27px}.heading .sub{font-size:12px}.stamp{display:none}.controlrow{gap:7px;margin-bottom:13px}.controlrow .push{margin-left:0}.select,.field{max-width:100%;min-height:36px}.controlrow .field{width:100%}.kpi{padding:11px 12px}.kpi strong{font-size:23px}.kpi label{font-size:11px}.kpi small{font-size:10px}.panel-head h2{font-size:14px}.panel-head .dim{font-size:10px}.table-wrap{scrollbar-color:#46627e var(--surface)}.controls-mobile-note{display:inline}.revenue-panel .kpi{padding:9px 7px}.revenue-panel .kpi strong{font-size:15px}.revenue-panel .kpi label,.revenue-panel .kpi small{font-size:9px}.date-pop input{width:123px}.detail{width:calc(100% - 16px);margin:8px;max-height:calc(100dvh - 16px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
 .post-cell{display:flex;align-items:center;gap:10px}
.post-title{display:inline-flex;align-items:center;gap:5px;color:var(--blue);font-weight:650}
.post-title:hover{text-decoration:underline}
.post-title svg{width:12px;height:12px;flex:none}
.post-analytics{min-height:28px;width:28px;padding:0;color:var(--muted)}

.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 20px;
}
.login-card {
  width: min(100%, 410px);
  padding: 28px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.login-card h1 { margin: 0 0 8px; font-size: 25px; }
.login-card p { color: var(--muted); margin: 0 0 22px; }
.login-card form { display: grid; gap: 10px; }
.login-card .button { margin-top: 6px; }
.login-card .login-error { color: var(--amber); margin-bottom: 14px; }
.sign-out { margin: 0; }
