/* Console-only layout composition on top of shared U1 system */
body{background:radial-gradient(ellipse 55% 45% at 80% -10%,#5745b72b,transparent),var(--bg);font-family:var(--font);color:var(--text)}
.layout{grid-template-columns:218px minmax(0,1fr)}.side{background:#0d1422;border-right:1px solid var(--line);padding:18px 12px}.brand{padding:12px 10px 25px;color:var(--text);font-size:18px}.brand i{color:var(--cyan)}
.nav{gap:4px}.nav button{border-radius:10px;background:transparent;border:1px solid transparent;color:#b8c6dc;min-height:41px;text-align:left;padding:10px 11px}.nav button.active{background:#211e46;color:#e6dbff;border-color:#494077}.nav button:hover{background:#1b2538}
.main{max-width:1470px;padding:20px 24px 80px}.caps{color:var(--cyan)}header{padding-bottom:16px;margin:0 0 18px;border-bottom:1px solid var(--line);flex-wrap:nowrap}header h1{font-size:clamp(20px,2.5vw,28px);margin:2px 0}.side .helper{line-height:1.5}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.hero{min-height:0}.row{background:var(--panel2);border:1px solid var(--line);border-radius:12px;flex-direction:row;align-items:center}.row .toolbar{flex-shrink:0}.group>.bento{margin-top:0!important}.group .bento{gap:14px}.msg{background:#0d1523}
#unauth{max-width:430px;margin:clamp(45px,12vh,115px) auto!important;display:grid;grid-template-columns:1fr;gap:10px}#unauth>.hero{display:none}#unauth>.card{grid-column:1/-1}#unauth #bootstrapSection{display:none}body.bootstrap-available #unauth #bootstrapSection{display:block}#unauth .card:not(.hero){background:var(--panel);border:1px solid var(--line)}body.is-guest .side,body.is-guest header,body.is-guest #appSection,body.is-guest #rotationOnly{display:none!important}body.is-guest .layout{display:block;min-height:100vh}body.is-guest .main{max-width:580px;padding:15px}body.is-guest #unauth{display:grid!important}body.is-guest #logout{display:none}
#appSection>.bento{display:none!important}#appSection>.group{min-width:0}.tab-top{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:12px}.tab-top h2{margin:0;font-size:20px}.tab-top .btn{white-space:nowrap}
#brandSelect{min-width:150px;max-width:260px}#mobileBrandSlot{display:flex;align-items:center;gap:10px}.brandMini{font-weight:850;color:var(--text);white-space:nowrap;font-size:15px}.brandMini b{color:var(--cyan)}
#mobileMenu{display:none!important}#messageCard{display:none}#toast{display:block!important}.row .body strong{font-size:13px}.row .helper{font-size:11px}
#tab-campaigns .bento{grid-template-columns:1fr}#campaignRows .row{padding:13px 16px}#campaignRows .body{flex:1}#campaignRows .row .ui-menu{margin-left:2px}
#tab-campaigns .card.wide{grid-column:1/-1}
@media(max-width:750px){.layout{display:block}.side{display:none;position:fixed;inset:56px auto 0 0;width:min(270px,85vw);height:calc(100dvh - 56px);z-index:50;overflow:auto;box-shadow:20px 0 60px #000a}.side.is-open{display:block}#mobileMenu{display:inline-flex!important;padding:6px 9px;min-width:40px}.main{padding:0 12px 60px}header{padding:8px 0;margin-bottom:12px;gap:6px;flex-wrap:nowrap;min-height:56px}header .caps,header .status,header #screenName{display:none}header>div:first-child{display:none}header .toolbar{width:100%;justify-content:space-between;flex-wrap:nowrap;gap:7px}#mobileBrandSlot{gap:6px;min-width:0;flex:1}#brandSelect{width:100%;max-width:155px;min-width:75px;padding:8px 7px}#locale{max-width:55px!important;width:55px;font-size:11px}#refresh{display:none}#logout{font-size:11px;white-space:nowrap;padding:6px 8px;min-height:36px}.brandMini{font-size:13px}.brandMini span{display:none}.card{padding:14px}.row{flex-wrap:wrap}.row .toolbar{width:auto;margin-left:auto}#tab-campaigns .bento{grid-template-columns:1fr}.bento{grid-template-columns:1fr}.wide,.full{grid-column:1/-1}#unauth{margin:58px auto!important}.tab-top h2{font-size:17px}}

#toast[hidden]{display:none!important}

/* v4.3.1 P0: .main inherited margin:auto from the inline legacy stylesheet.
   In a grid this centers a shorter column vertically: pin content to top. */
.layout>.main{margin:0;align-self:start;min-height:100vh}
#mobileBrandSlot .brandMini{display:none}
@media(max-width:750px){
 .layout>.main{min-height:100vh;margin:0}
 #mobileBrandSlot .brandMini{display:inline-block}
}
/* v4.5.2 console polish: overview KPIs, list tools, growth tab, integrations */
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.kpi-grid.compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:grid;gap:4px;min-width:0}
.kpi-grid.compact .kpi{background:var(--panel2);border-radius:12px;padding:12px 14px}
.kpi b{font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--text)}
.kpi-grid.compact .kpi b{font-size:22px}
.kpi small{color:var(--muted);font-size:12px}
.overview-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.overview-bento .wide{grid-column:1/-1}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.card-head h2{margin:0}
.rank-list{display:grid;gap:12px;margin-top:8px}
.rank{min-width:0}
.rank-head{display:flex;justify-content:space-between;gap:4px 12px;align-items:baseline;margin-bottom:6px;min-width:0;flex-wrap:wrap}
.rank-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;min-width:0;max-width:100%}
.rank-head small{color:var(--muted);white-space:nowrap;font-size:12px}
.bar{height:8px;border-radius:99px;background:#1c2738;overflow:hidden}
.bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--cyan))}
.todo-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.todo-list li{padding:9px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
.todo-list li.muted{background:none;border-style:dashed}
button.link{background:none;border:0;padding:0;color:#d9cfff;font-weight:650;text-align:left}
button.link:hover{color:#fff;text-decoration:underline}
.start-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px}
.list-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}
.list-tools input[type=search]{flex:1 1 220px;min-width:0}
.chips,.seg{display:inline-flex;flex-wrap:wrap;gap:6px}
.chip,.seg button{border:1px solid #45526b;background:transparent;color:#c3cfe3;border-radius:99px;padding:6px 12px;font-size:12px;font-weight:650;min-height:32px}
.chip.active,.seg button.active{background:#2a2456;border-color:#7d6ee0;color:#efe9ff}
.check{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}
.check input{width:auto;margin:0}
#campaignCount{margin:0 0 10px}
#tab-growth .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
#tab-growth .wide{grid-column:1/-1}
#growthCampaign{min-width:220px;max-width:340px}
#growthMetricsResult.is-loading{opacity:.55;transition:opacity .2s}
.growth-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}
.growth-split h3{font-size:14px;margin:0 0 10px}
.growth-chart{width:100%;height:auto;display:block}
.growth-chart text{fill:var(--muted);font-size:11px}
.c-axis{stroke:#2a364c}.c-line{fill:none;stroke:var(--violet);stroke-width:2.5;stroke-linejoin:round}
.c-area{fill:#8069ef22}.c-bar{fill:var(--cyan)}.c-hit{fill:transparent}.c-hit:hover{fill:#8069ef55}
.legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-top:6px}
.legend i{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle}
.lg-line{background:var(--violet)}.lg-bar{background:var(--cyan)}
.funnel-step{display:grid;grid-template-columns:118px minmax(0,1fr) 54px 40px;align-items:center;gap:8px;margin-bottom:9px;font-size:12px}
.funnel-step b{text-align:right;font-size:13px}.funnel-step small{color:var(--muted);text-align:right}
.stack{display:grid;gap:8px;margin:10px 0}
.btn.danger{border-color:#8a4757;color:#ffc1ca;background:#2a1820}
.btn.danger:hover:not(:disabled){background:#3a1d27;border-color:#c26173}
.integrations-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#integrationResult:has(#integrationMessage:empty){display:none}
.integrations-bento label .toolbar{margin-top:6px;flex-wrap:nowrap}
.integrations-bento label .toolbar input{flex:1;min-width:0}
.domain-row{align-items:flex-start}
table.dns{width:100%;border-collapse:collapse;margin-top:8px;font-size:11px}
table.dns th{text-align:left;color:var(--muted);font-weight:600;padding:4px 6px;border-bottom:1px solid var(--line)}
table.dns td{padding:5px 6px;border-bottom:1px solid #1d2839;vertical-align:top;overflow-wrap:anywhere}
table.dns code{font-size:11px;color:#d7e2f4}
.side-foot{margin-top:18px;padding:14px 10px 0;border-top:1px solid var(--line)}
.side-foot a{text-decoration:none;color:var(--muted)}
.side-foot a:hover{color:var(--text)}
header .toolbar{flex-wrap:nowrap}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-split{grid-template-columns:1fr}}
@media(max-width:750px){.overview-bento,.integrations-bento,#tab-growth .bento{grid-template-columns:1fr!important}.kpi b{font-size:22px}.kpi{padding:12px 14px}.start-actions{grid-template-columns:1fr}.list-tools{gap:8px}.chips{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:2px}.chip{white-space:nowrap}#growthCampaign{min-width:0;width:100%;max-width:none}.card-head .toolbar{width:100%}.funnel-step{grid-template-columns:96px minmax(0,1fr) 44px 34px}}
header .btn{white-space:nowrap}
.tab-top{justify-content:flex-end}
.tab-top h2{display:none}
.todo-list button.link{font-size:13px}
.kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
#tab-growth .bento{align-items:start}
.integrations-bento label{display:block;margin-top:14px}
.integrations-bento{align-items:start}
@media(max-width:750px){.tab-top{justify-content:space-between}.tab-top h2{display:block}.kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ed-group{border:1px solid #33405a;border-radius:12px;padding:12px 14px;margin:12px 0;display:grid;gap:10px}
.ed-group legend{padding:0 6px;font-weight:700;font-size:13px;color:#dfe6f5}
.ed-check{display:flex;align-items:center;gap:8px}
.ed-check input{width:auto}
.ed-sub{display:grid;gap:8px;padding:10px;border-radius:10px;background:#0f1726}
.ed-inline{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px;align-items:end}
@media(max-width:750px){.ed-inline{grid-template-columns:90px minmax(0,1fr)}.ed-inline .btn{grid-column:1/-1}}
.budget-form{display:grid;gap:10px;margin-top:8px}
#lockerWizard input[type=checkbox]{width:auto;margin:0}
#lockerWizard label:has(>input[type=checkbox]){display:flex;flex-direction:row;align-items:center;gap:8px}
#lockerWizard [data-remove-reward]{justify-self:end;width:auto;min-height:30px;padding:5px 12px;font-size:12px}
#lockerWizard #lockerAddReward,#lockerWizard #lockerAddMilestone{justify-self:start;width:auto}
.todo-list button.link::after{content:' →'}
/* v4.6.0 points & ambassador tab */
#tab-points .bento{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#tab-points .wide{grid-column:1/-1}
.points-form{display:grid;gap:12px;margin:10px 0 14px}
.points-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
#pointsKpis .bar{margin-top:6px}
@media(max-width:750px){#tab-points .bento{grid-template-columns:1fr}}
/* v4.7.0 SEO tasks */
.seo-preview ol{margin:4px 0 6px;padding-left:18px;font-size:12px;color:#c9d4e6;display:grid;gap:3px}
.seo-free{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.seo-free summary{cursor:pointer;font-size:13px;color:var(--muted)}
.seo-free form{margin-top:10px}
.seo-task .bar{margin:6px 0 4px;max-width:320px}
.seo-dialog{width:min(760px,calc(100vw - 20px))!important}
.seo-dialog h3{font-size:14px;margin:16px 0 8px}
.seo-checklist{display:grid;gap:8px}
.seo-accept{margin:0;padding-left:18px;font-size:13px;color:#c9d4e6;display:grid;gap:4px}
table.seo-effect{width:100%;border-collapse:collapse;font-size:12px}
table.seo-effect th,table.seo-effect td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}
table.seo-effect th:first-child{text-align:left}
table.seo-effect th small{display:block;color:var(--muted);font-weight:500}
.seo-verdict{margin-top:12px;font-size:13px}
@media(max-width:750px){table.seo-effect{font-size:11px}table.seo-effect th,table.seo-effect td{padding:6px 3px}}
#tab-seo .card.full>.cols{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}
.seo-task select{font-size:13px;padding:6px 8px;max-width:130px}
@media(max-width:750px){#tab-seo .card.full>.cols{grid-template-columns:1fr}}
/* v4.8.0 AI assistant, schedules, automation */
.ai-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:6px}
.ai-tools h3{font-size:14px;margin:0 0 10px}
.ai-out{margin-top:12px;font-size:13px;line-height:1.55;color:#d6e0f0}
.ai-out h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--cyan);margin:12px 0 6px}
.ai-list{margin:0;padding-left:18px;display:grid;gap:6px}
.ai-list small{color:var(--muted)}
.ai-btn{justify-self:start;border-color:#6b5fd0;color:#e6dbff}
#automationCard code{font-size:11px;color:var(--muted)}
@media(max-width:750px){.ai-tools{grid-template-columns:1fr}}
.n8n-wrap>summary{cursor:pointer;list-style:none}
.n8n-wrap>summary::-webkit-details-marker{display:none}
.n8n-wrap>summary h2::before{content:'▸ ';color:var(--muted)}
.n8n-wrap[open]>summary h2::before{content:'▾ '}
@media(max-width:420px){.brandMini{display:none}#mobileBrandSlot #brandSelect{max-width:none;flex:1}}
