:root{--bg:#09060d;--sidebar:#0c0810;--card:#120c18;--card2:#17101e;--border:rgba(255,255,255,.075);--text:#f7f3fa;--muted:#918797;--purple:#8d40ff;--purple2:#b56fff;--purple3:#6a27b6;--green:#77dcae;--red:#ff748c;--radius:21px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 76% 0%,rgba(119,47,187,.18),transparent 28%),var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:27px 20px;display:flex;flex-direction:column;border-right:1px solid var(--border);background:rgba(10,6,14,.91);backdrop-filter:blur(18px)}.logo{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}.logo-box{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;font-size:22px;font-weight:900;background:linear-gradient(145deg,var(--purple),#542183);box-shadow:0 10px 28px rgba(141,64,255,.28)}.logo-copy strong{display:block;font-size:15px;letter-spacing:.13em}.logo-copy span{display:block;margin-top:3px;color:#6f6675;font-size:8px;letter-spacing:.15em}.nav-title{margin:40px 10px 13px;color:#554c5c;font-size:8px;font-weight:800;letter-spacing:.17em}.side-nav{display:grid;gap:6px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:12px 13px;border:0;border-radius:12px;color:#968c9d;background:transparent;text-align:left;transition:.18s}.nav-item span{width:20px;color:var(--purple2);text-align:center}.nav-item:hover,.nav-item.active{color:white;background:linear-gradient(90deg,rgba(141,64,255,.17),rgba(141,64,255,.015))}.nav-item.active{box-shadow:inset 2px 0 0 var(--purple)}.sidebar-bottom{margin-top:auto}.api-status{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.02)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(119,220,174,.08)}.status-dot.error{background:var(--red);box-shadow:0 0 0 5px rgba(255,116,140,.08)}.api-status small,.api-status strong{display:block}.api-status small{margin-bottom:3px;color:#62596a;font-size:7px;letter-spacing:.12em}.api-status strong{font-size:9px}.logout-link{display:inline-block;margin:15px 5px 0;color:#8e7c99;font-size:9px;text-decoration:none}.logout-link:hover{color:#fff}.sidebar-bottom>p{margin:22px 5px 0;color:#5d5563;font-size:12px;line-height:1.55}.sidebar-bottom>p strong{color:#9e79c5}
.main{width:100%;max-width:1600px;min-width:0;margin:0 auto;padding:38px 40px 28px}.mobile-tabs{display:none}.spa-view{display:none}.spa-view.active{display:block}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:23px}.eyebrow{display:block;color:var(--purple2);font-size:9px;font-weight:800;letter-spacing:.17em}.page-header h1{margin:7px 0 10px;font-size:43px;line-height:1;letter-spacing:-.045em}.page-header h1 em{color:var(--purple2);font-style:normal}.page-header p{max-width:700px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.header-actions{display:flex;gap:9px}.primary-btn,.ghost-btn,.load-more-btn{min-height:43px;padding:0 17px;border-radius:11px;font-size:10px;font-weight:800;transition:.18s}.primary-btn{border:0;color:white;background:linear-gradient(135deg,var(--purple),var(--purple3));box-shadow:0 11px 30px rgba(141,64,255,.21)}.ghost-btn,.load-more-btn{border:1px solid var(--border);color:white;background:rgba(255,255,255,.025)}.primary-btn:hover,.ghost-btn:not(:disabled):hover,.load-more-btn:hover{transform:translateY(-1px)}.ghost-btn:disabled,.primary-btn:disabled{opacity:.35;cursor:default}
.setup-warning{display:flex;align-items:center;gap:13px;margin-bottom:14px;padding:17px 20px;border:1px solid rgba(181,111,255,.20);border-radius:16px;background:rgba(141,64,255,.055)}.warning-icon,.error-icon{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:10px;font-weight:900}.warning-icon{color:var(--purple2);background:rgba(141,64,255,.11)}.setup-warning strong,.error-card strong{font-size:11px}.setup-warning p,.error-card p{margin:4px 0 0;color:#9d879f;font-size:9px;line-height:1.5}.search-panel{padding:24px;border:1px solid rgba(170,103,255,.20);border-radius:23px;background:radial-gradient(circle at 86% 20%,rgba(141,64,255,.14),transparent 27%),linear-gradient(135deg,rgba(29,17,40,.98),rgba(15,10,20,.98));box-shadow:0 25px 70px rgba(0,0,0,.24)}.search-copy h2{margin:7px 0;font-size:21px;letter-spacing:-.025em}.search-copy p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.username-form{display:flex;gap:10px;margin-top:20px}.username-field{flex:1;min-width:0;height:53px;display:flex;align-items:center;padding:0 16px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:#0b0710}.username-field:focus-within{border-color:rgba(181,111,255,.48);box-shadow:0 0 0 3px rgba(141,64,255,.07)}.username-field>span{margin-right:4px;color:#776e7d;font-weight:800}.username-field input{width:100%;border:0;outline:0;color:white;background:transparent;font-size:14px;font-weight:800}.username-field input::placeholder{color:#4e4654}.username-form .primary-btn{min-width:170px;height:53px}.search-note{margin-top:9px;color:#655c6b;font-size:8px}.button-loader{display:none;width:15px;height:15px;margin:auto;border:2px solid rgba(255,255,255,.25);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}.primary-btn.loading .button-text{display:none}.primary-btn.loading .button-loader{display:block}@keyframes spin{to{transform:rotate(360deg)}}
.empty-state,.view-no-data{min-height:280px;display:grid;place-items:center;align-content:center;margin-top:14px;border:1px dashed rgba(255,255,255,.07);border-radius:var(--radius);color:#746b7b;text-align:center}.empty-icon{width:49px;height:49px;display:grid;place-items:center;margin-bottom:14px;border:1px solid rgba(141,64,255,.15);border-radius:15px;color:#c699ff;background:rgba(141,64,255,.09);font-weight:900}.empty-state strong,.view-no-data strong{color:#a69dab;font-size:12px}.empty-state p,.view-no-data p{max-width:440px;margin:6px 0 16px;font-size:9px;line-height:1.55}.error-card{display:flex;align-items:center;gap:13px;margin-top:14px;padding:17px;border:1px solid rgba(255,116,140,.14);border-radius:15px;background:rgba(255,116,140,.045)}.error-icon{color:var(--red);background:rgba(255,116,140,.08)}
.results{margin-top:14px}.profile-card{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 21px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#15101b,#100b15)}.profile-main{display:flex;align-items:center;gap:13px}.profile-avatar-wrap{position:relative;width:52px;height:52px;overflow:hidden;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#2d193d,var(--purple))}.profile-avatar-wrap img,.avatar-fallback{width:100%;height:100%}.profile-avatar-wrap img{position:absolute;z-index:2;object-fit:cover}.profile-avatar-wrap img[src=""]{display:none}.avatar-fallback{display:grid;place-items:center;font-size:18px;font-weight:900}.profile-label{color:#6e6574;font-size:7px;font-weight:800;letter-spacing:.13em}.profile-main h2{margin:4px 0 2px;font-size:17px}.profile-main a{color:var(--purple2);font-size:10px;text-decoration:none}.profile-stats{display:grid;grid-template-columns:repeat(4,auto);gap:30px}.profile-stats span,.profile-stats strong{display:block}.profile-stats span{margin-bottom:5px;color:#655d6b;font-size:7px;letter-spacing:.1em}.profile-stats strong{font-size:16px}.profile-stats .small-stat{font-size:11px}.history-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:10px;padding:16px 18px;border:1px solid rgba(141,64,255,.13);border-radius:15px;background:linear-gradient(90deg,rgba(141,64,255,.065),rgba(255,255,255,.015))}.history-banner strong{display:block;margin-top:5px;font-size:13px}.history-banner p{max-width:760px;margin:5px 0 0;color:#736a79;font-size:8px;line-height:1.55}.history-meta{display:flex;gap:7px}.history-meta span{padding:6px 8px;border:1px solid var(--border);border-radius:100px;color:#927da3;background:rgba(255,255,255,.02);font-size:7px}
.filter-row,.content-toolbar{display:flex;justify-content:flex-end;gap:9px;margin:10px 0}.filter-row label,.content-toolbar label{display:grid;gap:4px}.filter-row span,.content-toolbar span{color:#655d6b;font-size:7px;letter-spacing:.09em}.filter-row select,.content-toolbar select,.content-toolbar input{min-width:155px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;outline:0;color:#d3cbd8;background:#0d0911;font-size:9px}.search-input-wrap{flex:1}.search-input-wrap input{width:100%}.kpi-grid,.brand-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.kpi-card,.mini-kpi{min-width:0;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#15101b,#100b15)}.kpi-card>span,.mini-kpi>span{color:#948a9a;font-size:9px}.kpi-card>strong,.mini-kpi>strong{display:block;margin:16px 0 5px;overflow:hidden;color:white;font-size:28px;letter-spacing:-.045em;white-space:nowrap;text-overflow:ellipsis}.kpi-card>small{color:#645c69;font-size:8px}.highlight-card,.accent-mini{background:linear-gradient(140deg,rgba(90,34,139,.65),#130d19)}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.panel{min-width:0;padding:21px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(21,15,28,.98),rgba(15,10,20,.98))}.performance-panel{grid-column:span 7}.format-panel{grid-column:span 5}.brand-panel{margin-bottom:12px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.panel h3{margin:5px 0 0;font-size:16px;letter-spacing:-.02em}.pill{padding:6px 9px;border:1px solid rgba(141,64,255,.18);border-radius:100px;color:#cba0fa;background:rgba(141,64,255,.09);font-size:8px}.panel-description{margin:-9px 0 18px;color:#625a68;font-size:8px;line-height:1.5}
.brand-bars{display:grid;gap:14px}.brand-row{display:grid;grid-template-columns:150px minmax(80px,1fr) 70px;gap:11px;align-items:center}.brand-name{overflow:hidden;font-size:9px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.bar-track{height:8px;overflow:hidden;border-radius:100px;background:#251a2e}.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#702cc2,var(--purple2));transform-origin:left;animation:grow .5s ease both}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}.brand-count{color:#867b8c;font-size:8px;text-align:right}.brand-count strong{color:white;font-size:10px}.no-data{padding:30px 10px;color:#716876;font-size:9px;text-align:center}
.donut-layout{display:flex;align-items:center;gap:28px;min-height:220px}.donut{width:150px;height:150px;display:grid;place-items:center;position:relative;flex-shrink:0;border-radius:50%}.donut::after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;background:#120c18}.donut>div{position:relative;z-index:2;text-align:center}.donut strong{display:block;font-size:25px}.donut span{color:#746a79;font-size:8px}.format-legend{width:100%;display:grid;gap:10px}.legend-row{display:flex;justify-content:space-between;gap:10px;color:#8e8494;font-size:9px}.legend-name{display:flex;align-items:center;gap:7px}.legend-dot{width:7px;height:7px;border-radius:2px}
.chart-wrap{width:100%;overflow:hidden}#performanceChart{display:block;width:100%;height:230px}.chart-grid{stroke:rgba(255,255,255,.055);stroke-width:1}.chart-line{fill:none;stroke:#a55aff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:url(#areaGradient)}.chart-point{fill:#c180ff;stroke:#180f20;stroke-width:3}.chart-label{fill:#665e6d;font-size:9px}.chart-footer{display:flex;justify-content:space-between;color:#6c6372;font-size:8px}.chart-footer i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--purple)}.chart-footer strong{color:#8a808f;font-weight:500}
.table-panel{margin-top:12px}.table-scroll{width:100%;overflow-x:auto}table{width:100%;min-width:780px;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.05);font-size:9px;text-align:left}th{color:#665d6c;font-size:7px;letter-spacing:.08em}td{color:#bdb4c2}td strong{color:white}.brand-cell{display:flex;align-items:center;gap:8px}.brand-icon{width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;border-radius:8px;color:#c79bfa;background:#25172f;font-weight:800}
.content-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.content-card{position:relative;overflow:hidden;min-width:0;padding:15px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(145deg,rgba(34,20,45,.72),rgba(16,11,21,.95))}.content-rank{position:absolute;top:11px;right:11px;color:rgba(202,159,250,.22);font-size:25px;font-weight:900}.content-type{display:inline-block;padding:5px 7px;border-radius:7px;color:#b69cc7;background:#21172a;font-size:7px}.content-card time{display:block;margin-top:10px;color:#655d6b;font-size:8px}.content-caption{height:58px;overflow:hidden;margin:8px 0 10px;color:#b6adb9;font-size:9px;line-height:1.55}.brand-tags{display:flex;flex-wrap:wrap;gap:5px;min-height:22px;margin-bottom:10px}.brand-tags span{padding:4px 6px;border:1px solid rgba(141,64,255,.15);border-radius:100px;color:#b894d7;background:rgba(141,64,255,.07);font-size:7px}.content-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.content-stats div{padding:8px;border-radius:8px;background:rgba(255,255,255,.025)}.content-stats span,.content-stats strong{display:block}.content-stats span{color:#645b69;font-size:7px}.content-stats strong{margin-top:3px;font-size:11px}.content-card a{display:block;margin-top:11px;color:var(--purple2);font-size:8px;text-decoration:none}.load-more-btn{display:block;min-width:180px;margin:18px auto 0}
.insight-grid{display:grid;gap:9px}.insight-grid-large{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.insight-card{padding:15px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.018)}.insight-card span{color:#74548d;font-size:7px;font-weight:800;letter-spacing:.1em}.insight-card strong{display:block;margin:8px 0 5px;font-size:11px;line-height:1.4}.insight-card p{margin:0;color:#817787;font-size:8px;line-height:1.55}.year-bars{display:grid;gap:11px}.year-row{display:grid;grid-template-columns:45px 1fr 45px;gap:10px;align-items:center;font-size:8px}.year-row span{color:#8e8494}.year-row strong{text-align:right}.year-track{height:8px;overflow:hidden;border-radius:100px;background:#251a2e}.year-track div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple3),var(--purple2))}.comparison-box{min-height:210px;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}.comparison-stat{text-align:center}.comparison-stat span,.comparison-stat strong,.comparison-stat small{display:block}.comparison-stat span{color:#6e6475;font-size:7px;letter-spacing:.1em}.comparison-stat strong{margin:9px 0 4px;font-size:30px}.comparison-stat small{color:#8a808f;font-size:8px}.comparison-divider{color:#604e70;font-size:9px;font-weight:900}
footer{display:flex;justify-content:space-between;padding:25px 4px 0;color:#504953;font-size:7px;letter-spacing:.13em}.toast{position:fixed;right:21px;bottom:21px;z-index:100;max-width:330px;padding:12px 15px;border:1px solid var(--border);border-radius:11px;color:white;background:#21152a;font-size:9px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}
.login-body{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(1080px,100%);min-height:620px;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border:1px solid var(--border);border-radius:28px;background:#0d0911;box-shadow:0 40px 100px rgba(0,0,0,.35)}.login-brand{position:relative;padding:45px;display:flex;flex-direction:column;background:radial-gradient(circle at 30% 30%,rgba(141,64,255,.25),transparent 38%),linear-gradient(145deg,#140b1b,#09060d)}.login-brand-top{display:flex;align-items:center;gap:11px}.login-brand-top strong,.login-brand-top span{display:block}.login-brand-top strong{letter-spacing:.13em}.login-brand-top span{margin-top:3px;color:#756b7c;font-size:8px;letter-spacing:.14em}.login-copy{margin:auto 0}.login-copy h1{margin:10px 0 16px;font-size:48px;line-height:1.03;letter-spacing:-.05em}.login-copy h1 em{color:var(--purple2);font-style:normal}.login-copy p{max-width:470px;color:#958b9c;font-size:11px;line-height:1.7}.login-slogan{color:#655b6b;font-size:11px}.login-slogan strong{color:#aa7bd6}.login-card-wrap{display:grid;place-items:center;padding:35px}.login-card{width:min(360px,100%)}.login-card h2{margin:8px 0 6px;font-size:24px}.login-card>p{margin:0 0 22px;color:#817787;font-size:9px;line-height:1.55}.login-field{display:grid;gap:6px;margin-bottom:12px}.login-field span{color:#655d6b;font-size:7px;letter-spacing:.1em}.login-field input{width:100%;height:48px;padding:0 13px;border:1px solid var(--border);border-radius:11px;outline:0;color:white;background:#09060d}.login-field input:focus{border-color:rgba(181,111,255,.45);box-shadow:0 0 0 3px rgba(141,64,255,.07)}.login-btn{width:100%;margin-top:6px}.login-security{display:block;margin-top:11px;color:#574f5c;font-size:7px;text-align:center}.login-error{margin-bottom:14px;padding:10px 12px;border:1px solid rgba(255,116,140,.14);border-radius:10px;color:#d9a1aa;background:rgba(255,116,140,.05);font-size:8px}
@media(max-width:1120px){.app{grid-template-columns:75px minmax(0,1fr)}.sidebar{padding:25px 13px}.logo{justify-content:center}.logo-copy,.nav-title,.sidebar-bottom{display:none}.nav-item{justify-content:center;font-size:0}.nav-item span{font-size:15px}.profile-stats{grid-template-columns:1fr 1fr;gap:14px}.kpi-grid,.brand-summary-grid{grid-template-columns:1fr 1fr}.performance-panel,.format-panel{grid-column:span 12}.content-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-grid-large{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.app{display:block}.sidebar{display:none}.main{padding:18px 14px 24px}.mobile-tabs{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:-18px -14px 20px;padding:10px 12px;border-bottom:1px solid var(--border);background:rgba(9,6,13,.92);backdrop-filter:blur(15px)}.mobile-tabs button{padding:9px 5px;border:1px solid var(--border);border-radius:8px;color:#837989;background:transparent;font-size:8px}.mobile-tabs button.active{color:white;background:rgba(141,64,255,.12)}.page-header{display:block}.page-header h1{font-size:35px}.header-actions{margin-top:16px}.header-actions .ghost-btn,.page-header>.ghost-btn{flex:1}.search-panel{padding:18px}.username-form{display:grid}.username-form .primary-btn{width:100%}.profile-card{display:grid}.profile-stats{width:100%;grid-template-columns:repeat(2,1fr)}.history-banner{align-items:flex-start;flex-direction:column}.filter-row,.content-toolbar{display:grid;grid-template-columns:1fr 1fr}.filter-row select,.content-toolbar select,.content-toolbar input{width:100%;min-width:0}.search-input-wrap{grid-column:1/-1}.kpi-grid,.brand-summary-grid{gap:8px}.kpi-card,.mini-kpi{padding:14px}.kpi-card>strong,.mini-kpi>strong{font-size:21px}.donut-layout{flex-direction:column;align-items:flex-start}.content-cards{grid-template-columns:1fr 1fr}.insight-grid-large{grid-template-columns:1fr}.brand-row{grid-template-columns:100px minmax(60px,1fr) 55px}.login-body{padding:14px}.login-shell{grid-template-columns:1fr;min-height:auto}.login-brand{min-height:300px;padding:28px}.login-copy h1{font-size:38px}}
@media(max-width:480px){.content-cards{grid-template-columns:1fr}.comparison-box{grid-template-columns:1fr}.comparison-divider{text-align:center}}


/* ==========================================================
   v1.3.0 — PARTNER REPORT + LIGHT/DARK THEME
========================================================== */
:root,html[data-theme="dark"]{
 --bg:#09060d;--sidebar:#0c0810;--card:#120c18;--card2:#17101e;--card3:#1d1327;
 --border:rgba(255,255,255,.075);--text:#f7f3fa;--muted:#918797;--muted2:#655d6b;
 --panel-bg-a:rgba(21,15,28,.98);--panel-bg-b:rgba(15,10,20,.98);--input-bg:#0d0911;
 --soft-bg:rgba(255,255,255,.025);--track-bg:#251a2e;--table-line:rgba(255,255,255,.05)
}
html[data-theme="light"]{
 --bg:#f5f2f8;--sidebar:#fff;--card:#fff;--card2:#faf8fc;--card3:#f2ecf8;
 --border:rgba(56,32,72,.12);--text:#211629;--muted:#706677;--muted2:#807486;
 --panel-bg-a:rgba(255,255,255,.99);--panel-bg-b:rgba(250,247,252,.99);--input-bg:#fff;
 --soft-bg:rgba(86,42,112,.04);--track-bg:#e9e0ef;--table-line:rgba(56,32,72,.08)
}
html[data-theme="light"] body{background:radial-gradient(circle at 76% 0%,rgba(141,64,255,.10),transparent 30%),var(--bg)}
html[data-theme="light"] .sidebar{background:rgba(255,255,255,.92)}
html[data-theme="light"] .profile-card,
html[data-theme="light"] .kpi-card,
html[data-theme="light"] .mini-kpi{background:linear-gradient(180deg,#fff,#faf7fc)}
html[data-theme="light"] .panel{background:linear-gradient(180deg,var(--panel-bg-a),var(--panel-bg-b))}
html[data-theme="light"] .search-panel{background:radial-gradient(circle at 86% 20%,rgba(141,64,255,.11),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.99),rgba(249,245,252,.99))}
html[data-theme="light"] .username-field,
html[data-theme="light"] .filter-row select,
html[data-theme="light"] .content-toolbar select,
html[data-theme="light"] .content-toolbar input,
html[data-theme="light"] .header-filter select{background:var(--input-bg);color:var(--text)}
html[data-theme="light"] .username-field input{color:var(--text)}
html[data-theme="light"] .donut::after{background:#fff}
html[data-theme="light"] .content-card{background:linear-gradient(145deg,#fff,#faf7fc)}
html[data-theme="light"] .login-shell{background:#fff}
html[data-theme="light"] .login-brand{background:radial-gradient(circle at 30% 30%,rgba(141,64,255,.16),transparent 38%),linear-gradient(145deg,#f8f3fc,#fff)}
html[data-theme="light"] .login-field input{color:var(--text);background:#fff}

.top-tools{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-bottom:12px}
.active-account-mini{min-height:38px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--border);border-radius:11px;color:var(--muted);background:var(--soft-bg);font-size:8px}
.theme-toggle{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:var(--soft-bg);font-size:8px;font-weight:800}
.theme-icon{color:var(--purple2);font-size:14px}

.brand-header-actions{align-items:flex-end}
.header-filter{display:grid;gap:4px}
.header-filter span{color:var(--muted2);font-size:7px;letter-spacing:.09em}
.header-filter select{min-height:43px;min-width:125px;padding:0 10px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:var(--input-bg);outline:0;font-size:9px}
.year-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.year-chip{padding:7px 11px;border:1px solid var(--border);border-radius:100px;color:var(--muted);background:var(--soft-bg);font-size:8px;font-weight:700}
.year-chip.active{color:#fff;border-color:rgba(181,111,255,.38);background:linear-gradient(135deg,var(--purple),var(--purple3))}
.history-meta .positive{color:#86ddb3;border-color:rgba(119,220,174,.22)}

.partner-report-table{min-width:1020px}
.row-muted{opacity:.58}
.count-link{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid rgba(181,111,255,.14);border-radius:8px;color:var(--purple2);background:rgba(141,64,255,.06);font-size:9px;font-weight:800}
.count-link:hover{border-color:rgba(181,111,255,.38);background:rgba(141,64,255,.12)}
.count-link span{font-size:7px}
.zero-count{color:var(--muted2)}
.partner-status{display:inline-block;padding:5px 7px;border-radius:100px;font-size:7px;white-space:nowrap}
.status-strong{color:#92e2ba;background:rgba(119,220,174,.09);border:1px solid rgba(119,220,174,.14)}
.status-visible{color:#cda4fa;background:rgba(141,64,255,.08);border:1px solid rgba(141,64,255,.14)}
.status-missing{color:var(--muted);background:var(--soft-bg);border:1px solid var(--border)}


.partner-secondary-grid{margin-top:12px}
.coverage-box{min-height:240px}
.coverage-meter{display:flex;align-items:center;gap:26px}
.coverage-ring{--coverage:0;width:150px;height:150px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--purple2) calc(var(--coverage)*1%),var(--track-bg) 0);position:relative}
.coverage-ring::after{content:"";position:absolute;width:96px;height:96px;border-radius:50%;background:var(--card)}
.coverage-ring>div{position:relative;z-index:2;text-align:center}
.coverage-ring strong,.coverage-ring span{display:block}
.coverage-ring strong{font-size:22px}
.coverage-ring span{margin-top:2px;color:var(--muted);font-size:7px}
.coverage-stats{flex:1;display:grid;gap:8px}
.coverage-stats>div{display:flex;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:var(--soft-bg)}
.coverage-stats span{color:var(--muted);font-size:8px}
.coverage-stats strong{font-size:10px}
.missing-partners{margin-top:17px}
.missing-partners>span{display:block;margin-bottom:7px;color:var(--muted2);font-size:7px;letter-spacing:.07em}
.missing-partners>div{display:flex;flex-wrap:wrap;gap:5px}
.missing-chip{padding:5px 7px;border:1px solid var(--border);border-radius:100px;color:var(--muted);background:var(--soft-bg);font-size:7px}

.unknown-mentions{display:grid;gap:7px}
.unknown-row{width:100%;display:flex;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:var(--soft-bg);text-align:left}
.unknown-row span{color:var(--purple2);font-size:8px}
.unknown-row strong{color:var(--muted);font-size:8px}

.content-toolbar-wide{display:grid;grid-template-columns:minmax(240px,1fr) repeat(4,minmax(120px,auto));align-items:end}
.active-filter-bar{display:flex;align-items:center;gap:9px;margin:-1px 0 11px;padding:10px 12px;border:1px solid rgba(141,64,255,.14);border-radius:11px;background:rgba(141,64,255,.055)}
.active-filter-bar span{color:var(--muted2);font-size:7px;letter-spacing:.09em}
.active-filter-bar strong{color:var(--purple2);font-size:8px}
.brand-tags button{padding:4px 6px;border:1px solid rgba(141,64,255,.15);border-radius:100px;color:#b894d7;background:rgba(141,64,255,.07);font-size:7px}

.year-row{width:100%;border:0;color:var(--text);background:transparent;text-align:left}
.panel{background:linear-gradient(180deg,var(--panel-bg-a),var(--panel-bg-b))}
.bar-track,.year-track{background:var(--track-bg)}
th,td{border-bottom-color:var(--table-line)}

@media (max-width:1200px){
 .content-toolbar-wide{grid-template-columns:1fr 1fr 1fr}
 .search-input-wrap{grid-column:1/-1}
}
@media (max-width:720px){
 .top-tools{justify-content:space-between}
 .active-account-mini{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .brand-header-actions{margin-top:16px}
 .header-filter{flex:1}
 .header-filter select{width:100%}
 .content-toolbar-wide{grid-template-columns:1fr 1fr}
 .search-input-wrap{grid-column:1/-1}
 .coverage-meter{align-items:flex-start;flex-direction:column}
}
@media (max-width:480px){
 .content-toolbar-wide{grid-template-columns:1fr}
 .search-input-wrap{grid-column:auto}
 .year-shortcuts{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
 .year-chip{flex-shrink:0}
}


/* ==========================================================
   v1.4.0 — READABILITY, LIGHT MODE, MONTH FILTER, ROAR AI
========================================================== */

/* Readability pass: previous 7–9 px labels were too compressed on desktop. */
body { font-size: 14px; }
.nav-item { font-size: 12px; }
.logo-copy span, .nav-title, .api-status small, .profile-label, .profile-stats span,
.filter-row span, .content-toolbar span, .header-filter span, th, .content-stats span,
.login-field span, .history-meta span, footer, .eyebrow { font-size: 9px; }
.api-status strong, .logout-link, .search-note, .setup-warning p, .error-card p,
.empty-state p, .view-no-data p, .history-banner p, .kpi-card > small,
.panel-description, .brand-count, .content-card time, .content-card a,
.insight-card p, .comparison-stat small, .active-filter-bar strong { font-size: 10px; }
.page-header p, .search-copy p, .login-copy p { font-size: 13px; }
.setup-warning strong, .error-card strong, .empty-state strong, .view-no-data strong,
.profile-main a, .kpi-card > span, .mini-kpi > span, .legend-row, .brand-name,
.content-type, .content-stats strong, .year-row, td { font-size: 11px; }
.panel h3 { font-size: 18px; }
.profile-main h2 { font-size: 19px; }
.profile-stats strong { font-size: 18px; }
.profile-stats .small-stat { font-size: 13px; }
.content-caption { height: 76px; font-size: 12px; line-height: 1.6; }
.primary-btn, .ghost-btn, .load-more-btn { font-size: 11px; }
.filter-row select, .content-toolbar select, .content-toolbar input, .header-filter select { font-size: 11px; }
th, td { padding: 14px 11px; }

/* Light mode: replace legacy hard-coded dark-theme text colors. */
html[data-theme="light"] body,
html[data-theme="light"] .page-header h1,
html[data-theme="light"] .search-copy h2,
html[data-theme="light"] .profile-main h2,
html[data-theme="light"] .profile-stats strong,
html[data-theme="light"] .history-banner strong,
html[data-theme="light"] .kpi-card > strong,
html[data-theme="light"] .mini-kpi > strong,
html[data-theme="light"] .panel h3,
html[data-theme="light"] td,
html[data-theme="light"] td strong,
html[data-theme="light"] .brand-name,
html[data-theme="light"] .content-stats strong,
html[data-theme="light"] .insight-card strong,
html[data-theme="light"] .comparison-stat strong,
html[data-theme="light"] .login-card h2,
html[data-theme="light"] .year-row,
html[data-theme="light"] .unknown-row,
html[data-theme="light"] .active-account-mini,
html[data-theme="light"] .theme-toggle { color: var(--text); }

html[data-theme="light"] .ghost-btn,
html[data-theme="light"] .load-more-btn { color: var(--text); background: rgba(63,30,80,.035); }
html[data-theme="light"] .highlight-card,
html[data-theme="light"] .accent-mini { background: linear-gradient(140deg, rgba(141,64,255,.15), #ffffff); }
html[data-theme="light"] .content-caption { color: #54485b; }
html[data-theme="light"] .content-stats div,
html[data-theme="light"] .api-status,
html[data-theme="light"] .history-meta span { background: rgba(63,30,80,.035); }
html[data-theme="light"] .mobile-tabs { background: rgba(255,255,255,.94); }
html[data-theme="light"] .nav-item:hover,
html[data-theme="light"] .nav-item.active { color: #4c2362; }
html[data-theme="light"] .toast { color: #fff; }

/* Four account filters are allowed to wrap cleanly. */
.filter-row { flex-wrap: wrap; }
.content-toolbar-wide { grid-template-columns: minmax(220px,1fr) repeat(5,minmax(110px,auto)); }

/* Logout POST button styled like the old link. */
.logout-form { margin: 0; }
.logout-link { border: 0; padding: 0; background: transparent; cursor: pointer; }

/* AI launch */
.ai-launch {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid rgba(181,111,255,.22);
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, rgba(141,64,255,.92), rgba(89,34,137,.92));
    font-size: 10px;
    font-weight: 800;
    box-shadow: 0 9px 24px rgba(141,64,255,.18);
}
.ai-launch span { color: #f2dfff; }

.modal-open { overflow: hidden; }
.ai-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 18px; }
.ai-backdrop { position: absolute; inset: 0; background: rgba(2,1,4,.72); backdrop-filter: blur(8px); }
.ai-panel {
    position: relative;
    z-index: 2;
    width: min(760px, 100%);
    max-height: min(780px, calc(100vh - 36px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 24px;
    color: var(--text);
    background: var(--card);
    box-shadow: 0 35px 100px rgba(0,0,0,.42);
}
.ai-head { display: flex; justify-content: space-between; gap: 20px; padding: 22px 22px 14px; border-bottom: 1px solid var(--border); }
.ai-head h2 { margin: 6px 0; font-size: 24px; }
.ai-head p { max-width: 590px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.ai-close { width: 36px; height: 36px; flex-shrink: 0; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: var(--soft-bg); font-size: 20px; }
.ai-suggestions { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 22px; border-bottom: 1px solid var(--border); }
.ai-suggestions button { padding: 7px 9px; border: 1px solid var(--border); border-radius: 100px; color: var(--muted); background: var(--soft-bg); font-size: 9px; }
.ai-chat { min-height: 230px; max-height: 380px; overflow-y: auto; display: flex; flex-direction: column; gap: 9px; padding: 18px 22px; }
.ai-message { max-width: 86%; padding: 11px 13px; border-radius: 14px; white-space: pre-wrap; font-size: 12px; line-height: 1.6; }
.ai-message.assistant { align-self: flex-start; color: var(--text); border: 1px solid var(--border); background: var(--soft-bg); }
.ai-message.user { align-self: flex-end; color: #fff; background: linear-gradient(135deg, var(--purple), var(--purple3)); }
.ai-form { display: grid; grid-template-columns: 1fr auto; gap: 9px; padding: 14px 22px 8px; border-top: 1px solid var(--border); }
.ai-form textarea { width: 100%; min-height: 66px; resize: vertical; padding: 11px 12px; border: 1px solid var(--border); border-radius: 12px; outline: 0; color: var(--text); background: var(--input-bg); font: inherit; font-size: 12px; line-height: 1.5; }
.ai-form textarea:focus { border-color: rgba(181,111,255,.45); box-shadow: 0 0 0 3px rgba(141,64,255,.07); }
.ai-form .primary-btn { min-width: 90px; }
.ai-note { padding: 0 22px 16px; color: var(--muted2); font-size: 9px; }

@media (max-width: 1200px) {
    .content-toolbar-wide { grid-template-columns: repeat(3,1fr); }
    .search-input-wrap { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .top-tools { flex-wrap: wrap; }
    .ai-launch { order: 3; width: 100%; justify-content: center; }
    .content-toolbar-wide { grid-template-columns: 1fr 1fr; }
    .ai-panel { max-height: calc(100vh - 20px); }
    .ai-form { grid-template-columns: 1fr; }
}
\n\n/* v1.4 light-mode contrast completion */\nhtml[data-theme="light"] .logo-copy strong,\nhtml[data-theme="light"] .api-status strong,\nhtml[data-theme="light"] .chart-footer strong,\nhtml[data-theme="light"] .legend-row strong,\nhtml[data-theme="light"] .brand-count strong,\nhtml[data-theme="light"] .year-row strong { color: var(--text); }\nhtml[data-theme="light"] .search-note,\nhtml[data-theme="light"] .profile-label,\nhtml[data-theme="light"] .profile-stats span,\nhtml[data-theme="light"] .filter-row span,\nhtml[data-theme="light"] .content-toolbar span,\nhtml[data-theme="light"] th,\nhtml[data-theme="light"] footer,\nhtml[data-theme="light"] .history-banner p,\nhtml[data-theme="light"] .content-card time,\nhtml[data-theme="light"] .content-stats span,\nhtml[data-theme="light"] .insight-card p,\nhtml[data-theme="light"] .comparison-stat small { color: #6b5d72; }\nhtml[data-theme="light"] .mobile-tabs button.active { color: #4c2362; background: rgba(141,64,255,.10); }\nhtml[data-theme="light"] .username-field { border-color: rgba(56,32,72,.14); background: #fff; }\nhtml[data-theme="light"] .username-field input { color: var(--text); }\nhtml[data-theme="light"] .username-field input::placeholder { color: #9a8ba2; }\nhtml[data-theme="light"] .content-type,\nhtml[data-theme="light"] .brand-icon { color: #633386; background: #f0e6f7; }\nhtml[data-theme="light"] .insight-card,\nhtml[data-theme="light"] .content-stats div { background: rgba(71,38,88,.035); }\n\n/* More breathing room */\n.panel, .profile-card, .search-panel { line-height: 1.5; }\n.partner-report-table td, .partner-report-table th { vertical-align: middle; }\n.content-card { padding: 18px; }\n.insight-card { padding: 18px; }\n

/* ==========================================================
   v1.5.0 — META CONNECTION HEALTH
========================================================== */

.meta-health-pill {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.meta-health-dot {
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #8b8290;
    box-shadow: 0 0 0 4px rgba(139,130,144,.08);
}

.meta-health-healthy .meta-health-dot {
    background: #77dcae;
    box-shadow: 0 0 0 4px rgba(119,220,174,.10);
}

.meta-health-warning .meta-health-dot {
    background: #f1c75b;
    box-shadow: 0 0 0 4px rgba(241,199,91,.10);
}

.meta-health-critical .meta-health-dot {
    background: #ff9f55;
    box-shadow: 0 0 0 4px rgba(255,159,85,.10);
}

.meta-health-expired .meta-health-dot {
    background: #ff748c;
    box-shadow: 0 0 0 4px rgba(255,116,140,.10);
}

.meta-health-setup .meta-health-dot,
.meta-health-unknown .meta-health-dot {
    background: #a879cf;
    box-shadow: 0 0 0 4px rgba(168,121,207,.10);
}

.meta-health-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin: 0 0 14px;
    padding: 17px 19px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background:
        linear-gradient(
            135deg,
            rgba(119,220,174,.045),
            var(--soft-bg)
        );
}

.meta-health-card[data-level="warning"] {
    border-color: rgba(241,199,91,.18);
    background:
        linear-gradient(
            135deg,
            rgba(241,199,91,.055),
            var(--soft-bg)
        );
}

.meta-health-card[data-level="critical"] {
    border-color: rgba(255,159,85,.20);
    background:
        linear-gradient(
            135deg,
            rgba(255,159,85,.06),
            var(--soft-bg)
        );
}

.meta-health-card[data-level="expired"] {
    border-color: rgba(255,116,140,.20);
    background:
        linear-gradient(
            135deg,
            rgba(255,116,140,.06),
            var(--soft-bg)
        );
}

.meta-health-card[data-level="setup"],
.meta-health-card[data-level="unknown"] {
    border-color: rgba(181,111,255,.18);
    background:
        linear-gradient(
            135deg,
            rgba(141,64,255,.055),
            var(--soft-bg)
        );
}

.meta-health-card-main {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 260px;
}

.meta-health-card-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 11px;
    color: #9ee4c1;
    background: rgba(119,220,174,.09);
    font-weight: 900;
}

.meta-health-card[data-level="warning"] .meta-health-card-icon {
    color: #f1c75b;
    background: rgba(241,199,91,.09);
}

.meta-health-card[data-level="critical"] .meta-health-card-icon {
    color: #ff9f55;
    background: rgba(255,159,85,.09);
}

.meta-health-card[data-level="expired"] .meta-health-card-icon {
    color: #ff748c;
    background: rgba(255,116,140,.09);
}

.meta-health-card[data-level="setup"] .meta-health-card-icon,
.meta-health-card[data-level="unknown"] .meta-health-card-icon {
    color: var(--purple2);
    background: rgba(141,64,255,.09);
}

.meta-health-card-main strong {
    display: block;
    margin-top: 4px;
    font-size: 12px;
}

.meta-health-card-main p {
    max-width: 470px;
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.5;
}

.meta-health-grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(4,minmax(110px,1fr));
    gap: 8px;
}

.meta-health-grid > div {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--soft-bg);
}

.meta-health-grid span,
.meta-health-grid strong {
    display: block;
}

.meta-health-grid span {
    color: var(--muted2);
    font-size: 8px;
    letter-spacing: .08em;
}

.meta-health-grid strong {
    margin-top: 4px;
    overflow: hidden;
    color: var(--text);
    font-size: 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

html[data-theme="light"] .meta-health-pill,
html[data-theme="light"] .meta-health-card,
html[data-theme="light"] .meta-health-grid > div {
    color: var(--text);
}

@media (max-width: 1100px) {
    .meta-health-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .meta-health-grid {
        width: 100%;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 720px) {
    .meta-health-pill {
        order: 3;
        width: 100%;
        justify-content: center;
    }

    .top-tools {
        flex-wrap: wrap;
    }
}

@media (max-width: 480px) {
    .meta-health-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   v1.6.0 — Executive / Commitment / Compare / Drawer / Clients
========================================================== */

/* Executive */
.executive-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
    margin-bottom: 12px;
}

.executive-kpi {
    min-height: 136px;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: linear-gradient(155deg,var(--card),var(--card2));
}

.executive-kpi span,
.executive-kpi strong,
.executive-kpi small {
    display: block;
}

.executive-kpi span {
    color: var(--muted);
    font-size: 9px;
    letter-spacing: .08em;
}

.executive-kpi strong {
    margin-top: 18px;
    font-size: 30px;
    line-height: 1;
}

.executive-kpi small {
    margin-top: 10px;
    color: var(--muted2);
    font-size: 10px;
}

.executive-kpi-accent {
    background:
        radial-gradient(circle at 90% 5%,rgba(181,111,255,.28),transparent 45%),
        linear-gradient(145deg,rgba(114,48,159,.78),var(--card));
}

.executive-summary-panel {
    margin-bottom: 12px;
}

.executive-summary-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}

.exec-summary-card {
    min-height: 155px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--soft-bg);
}

.exec-summary-card span {
    display: block;
    color: var(--muted2);
    font-size: 8px;
    letter-spacing: .09em;
}

.exec-summary-card strong {
    display: block;
    margin-top: 13px;
    font-size: 15px;
}

.exec-summary-card p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.55;
}

.exec-positive {
    border-color: rgba(119,220,174,.18);
}

.exec-negative {
    border-color: rgba(255,116,140,.20);
}

.executive-partner-list,
.executive-watch-list {
    display: grid;
    gap: 8px;
}

.exec-partner-row,
.exec-watch-row {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 62px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--soft-bg);
}

.exec-partner-row > div,
.exec-watch-row > div {
    flex: 1;
    min-width: 0;
}

.exec-partner-row strong,
.exec-watch-row strong,
.exec-partner-row small,
.exec-watch-row small {
    display: block;
}

.exec-partner-row small,
.exec-watch-row small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
}

.exec-rank {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--purple2);
    background: rgba(141,64,255,.09);
    font-size: 9px;
    font-weight: 900;
}

/* Roar Signal */
.signal-badge {
    min-width: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 100px;
    font-size: 8px;
}

.signal-badge strong {
    font-size: 10px;
}

.signal-strong {
    color: #92e2ba;
    border-color: rgba(119,220,174,.22);
    background: rgba(119,220,174,.08);
}

.signal-good {
    color: #cfa8ff;
    border-color: rgba(181,111,255,.22);
    background: rgba(141,64,255,.08);
}

.signal-watch {
    color: #f1c75b;
    border-color: rgba(241,199,91,.22);
    background: rgba(241,199,91,.07);
}

.signal-low {
    color: #ff8ca0;
    border-color: rgba(255,116,140,.22);
    background: rgba(255,116,140,.07);
}

/* Commitment Tracker */
.commitment-panel {
    margin-top: 12px;
}

.compact-filter select {
    min-width: 110px;
}

.commitment-table {
    min-width: 940px;
}

.commitment-progress {
    min-width: 130px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.commitment-track {
    width: 90px;
    height: 6px;
    overflow: hidden;
    border-radius: 100px;
    background: var(--track-bg);
}

.commitment-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg,var(--purple3),var(--purple2));
}

.commitment-progress strong {
    min-width: 40px;
    font-size: 8px;
}

.commitment-status {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 100px;
    border: 1px solid var(--border);
    white-space: nowrap;
    font-size: 8px;
}

.commitment-done,
.commitment-ontrack {
    color: #92e2ba;
    border-color: rgba(119,220,174,.18);
    background: rgba(119,220,174,.07);
}

.commitment-warning {
    color: #f1c75b;
    border-color: rgba(241,199,91,.18);
    background: rgba(241,199,91,.07);
}

.commitment-danger {
    color: #ff8ca0;
    border-color: rgba(255,116,140,.18);
    background: rgba(255,116,140,.07);
}

.commitment-none {
    color: var(--muted);
}

.mini-action-btn {
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    background: var(--soft-bg);
    font-size: 8px;
    font-weight: 700;
}

.muted-dash {
    color: var(--muted2);
}

/* Commitment modal */
.target-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
}

.target-panel {
    position: relative;
    z-index: 2;
    width: min(620px,calc(100vw - 28px));
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--card);
    box-shadow: 0 28px 90px rgba(0,0,0,.38);
}

.target-form {
    display: grid;
    gap: 13px;
    margin-top: 18px;
}

.target-form label {
    display: grid;
    gap: 6px;
}

.target-form label span {
    color: var(--muted2);
    font-size: 8px;
    letter-spacing: .08em;
}

.target-form input {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    outline: 0;
    color: var(--text);
    background: var(--input-bg);
}

.target-format-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 8px;
}

.target-help {
    margin: 0;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.5;
}

/* Comparison engine */
.comparison-engine {
    margin-bottom: 12px;
}

.comparison-controls {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr .8fr .8fr;
    gap: 9px;
}

.comparison-controls label {
    display: grid;
    gap: 5px;
}

.comparison-controls label span {
    color: var(--muted2);
    font-size: 8px;
    letter-spacing: .08em;
}

.comparison-controls select {
    min-height: 42px;
    padding: 0 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    outline: 0;
    color: var(--text);
    background: var(--input-bg);
}

.comparison-insight {
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(141,64,255,.14);
    border-radius: 12px;
    color: var(--muted);
    background: rgba(141,64,255,.05);
    font-size: 10px;
    line-height: 1.5;
}

.comparison-results {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 10px;
}

.comparison-results:has(.comparison-brand-card:only-child) {
    grid-template-columns: 1fr;
}

.comparison-brand-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--soft-bg);
}

.comparison-brand-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 14px;
    border-bottom: 1px solid var(--table-line);
}

.comparison-brand-head strong {
    font-size: 12px;
}

.comparison-brand-head span {
    color: var(--muted);
    font-size: 9px;
}

.comparison-table {
    min-width: 560px;
}

/* Content drawer */
.content-card-clickable {
    cursor: pointer;
}

.content-card-clickable:hover {
    border-color: rgba(181,111,255,.22);
    transform: translateY(-1px);
}

.content-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
}

.content-detail-btn {
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--purple2);
    background: var(--soft-bg);
    font-size: 8px;
    font-weight: 800;
}

.drawer-shell {
    position: fixed;
    inset: 0;
    z-index: 130;
}

.drawer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3,2,5,.62);
    backdrop-filter: blur(5px);
}

.content-drawer-panel {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: min(520px,92vw);
    height: 100%;
    overflow-y: auto;
    padding: 24px;
    border-left: 1px solid var(--border);
    background: var(--card);
    box-shadow: -24px 0 70px rgba(0,0,0,.34);
}

.drawer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border);
}

.drawer-head h2 {
    margin: 6px 0 0;
    font-size: 20px;
}

.drawer-metrics {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 8px;
    margin-top: 18px;
}

.drawer-metrics > div {
    min-height: 82px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--soft-bg);
}

.drawer-metrics span,
.drawer-metrics strong {
    display: block;
}

.drawer-metrics span {
    color: var(--muted2);
    font-size: 8px;
    letter-spacing: .08em;
}

.drawer-metrics strong {
    margin-top: 9px;
    font-size: 18px;
}

.drawer-section {
    margin-top: 18px;
}

.drawer-label {
    display: block;
    margin-bottom: 8px;
    color: var(--muted2);
    font-size: 8px;
    letter-spacing: .08em;
}

.drawer-caption {
    margin: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--muted);
    background: var(--soft-bg);
    font-size: 10px;
    line-height: 1.65;
    white-space: pre-wrap;
}

.drawer-instagram-link {
    display: flex;
    justify-content: center;
    margin-top: 18px;
    text-decoration: none;
}

.drawer-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Multi account */
.client-summary-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
    padding: 15px 17px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--soft-bg);
}

.client-summary-bar div {
    display: flex;
    align-items: baseline;
    gap: 9px;
}

.client-summary-bar span {
    color: var(--muted2);
    font-size: 8px;
    letter-spacing: .08em;
}

.client-summary-bar strong {
    font-size: 22px;
}

.client-summary-bar p {
    margin: 0;
    color: var(--muted);
    font-size: 9px;
}

.client-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
}

.client-card {
    padding: 17px;
    border: 1px solid var(--border);
    border-radius: 17px;
    background: linear-gradient(155deg,var(--card),var(--card2));
}

.client-card-active {
    border-color: rgba(181,111,255,.34);
    box-shadow: inset 0 0 0 1px rgba(181,111,255,.08);
}

.client-card-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.client-card-top > div {
    flex: 1;
    min-width: 0;
}

.client-card-top strong,
.client-card-top span {
    display: block;
}

.client-card-top strong {
    font-size: 12px;
}

.client-card-top span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
}

.client-avatar {
    width: 40px;
    height: 40px;
    display: grid !important;
    place-items: center;
    flex-shrink: 0;
    border-radius: 12px;
    color: white !important;
    background: linear-gradient(145deg,var(--purple2),var(--purple3));
    font-size: 15px !important;
    font-weight: 900;
}

.active-client-pill {
    margin: 0 !important;
    padding: 4px 6px;
    border: 1px solid rgba(119,220,174,.18);
    border-radius: 100px;
    color: #92e2ba !important;
    background: rgba(119,220,174,.07);
    font-size: 7px !important;
    font-weight: 800;
}

.client-card-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-top: 15px;
}

.client-card-stats > div {
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--soft-bg);
}

.client-card-stats span,
.client-card-stats strong {
    display: block;
}

.client-card-stats span {
    color: var(--muted2);
    font-size: 7px;
}

.client-card-stats strong {
    margin-top: 5px;
    font-size: 12px;
}

.client-last-sync {
    display: block;
    margin-top: 12px;
    color: var(--muted2);
    font-size: 8px;
}

.client-card-actions {
    display: flex;
    gap: 7px;
    margin-top: 14px;
}

.small-primary,
.client-remove-btn {
    min-height: 36px;
    flex: 1;
}

.client-empty-state {
    grid-column: 1 / -1;
    padding: 40px;
    border: 1px dashed var(--border);
    border-radius: 18px;
    text-align: center;
}

.client-empty-state p {
    color: var(--muted);
}

/* Light mode fine tuning */
html[data-theme="light"] .executive-kpi,
html[data-theme="light"] .client-card,
html[data-theme="light"] .target-panel,
html[data-theme="light"] .content-drawer-panel {
    background: #fff;
}

html[data-theme="light"] .signal-badge strong,
html[data-theme="light"] .commitment-status,
html[data-theme="light"] .mini-action-btn,
html[data-theme="light"] .comparison-insight,
html[data-theme="light"] .drawer-caption,
html[data-theme="light"] .client-summary-bar p {
    opacity: 1;
}

@media (max-width: 1180px) {
    .executive-kpi-grid,
    .executive-summary-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .client-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .comparison-controls {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 720px) {
    .executive-kpi-grid,
    .executive-summary-grid,
    .client-grid,
    .comparison-results,
    .comparison-controls,
    .target-format-grid {
        grid-template-columns: 1fr;
    }

    .client-summary-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .drawer-metrics {
        grid-template-columns: 1fr 1fr;
    }
}
