:root{color-scheme:dark;--bg:#0a0e0c;--panel:#121a15;--panel2:#19231d;--line:#2b3930;--text:#f0f4ee;--dim:#9aab9e;--lime:#c3f27d;--green:#66c18b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0%,#17281a 0%,transparent 50%),var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.topbar{height:85px;border-bottom:1px solid var(--line);padding:14px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-brand img{width:150px;height:45px;object-fit:contain;object-position:left}.top-label,.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--green);font-weight:700}.backlink,.muted{color:var(--dim)}.backlink{font-size:13px}.portal-main{max-width:1380px;margin:0 auto;min-height:calc(100vh - 145px);padding:32px 24px}.panel{border:1px solid var(--line);background:linear-gradient(140deg,#18221b,#101712);border-radius:22px;padding:clamp(24px,4vw,42px)}.center{max-width:700px;margin:60px auto}.center h1,.auth-story h1{font-size:clamp(36px,5vw,68px);line-height:1.12;letter-spacing:-.055em;font-family:Manrope,sans-serif}.auth-layout{display:grid;grid-template-columns:1fr minmax(320px,470px);gap:clamp(30px,7vw,110px);align-items:center;min-height:65vh}.auth-story{padding:25px}.auth-story h1 em{color:var(--lime);font-style:normal}.auth-story p{max-width:420px;line-height:1.8;color:var(--dim)}.auth-feature{padding:14px 0;border-bottom:1px solid var(--line);max-width:300px}.auth-panel h2{font-size:26px;letter-spacing:-.04em;margin-bottom:6px}.stack{display:grid;gap:16px;margin-top:26px}label{display:grid;gap:8px;font-size:13px;font-weight:600}input,textarea,select{color:var(--text);background:#0d140f;border:1px solid #3b4c3f;border-radius:10px;padding:13px;width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--lime);box-shadow:0 0 0 2px #c3f27d20}textarea{resize:vertical;min-height:100px}.primary{background:var(--lime);color:#152017;border:0;font-weight:800;border-radius:10px;padding:14px 19px}.primary:hover{filter:brightness(1.07)}.secondary,.button-outline{border:1px solid #435347;background:#1a251e;color:var(--text);border-radius:10px;padding:11px 15px;display:inline-block}.secondary:hover,.button-outline:hover{border-color:var(--lime)}.textbutton{background:none;border:0;color:var(--lime);padding:8px 0;text-align:left}.auth-actions{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:15px;gap:8px}.message{margin-top:12px;font-size:13px;color:var(--lime);min-height:18px;line-height:1.5}.message.error{color:#ffad9c}.app-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px}.side{border-right:1px solid var(--line);padding:16px 22px 12px 0;display:flex;flex-direction:column;min-height:72vh}.side h3{font-family:Manrope;margin:10px 0 28px;font-size:21px}.side-nav{display:grid;gap:6px}.side-nav button{background:none;border:0;text-align:left;color:var(--dim);padding:14px 12px;border-radius:10px}.side-nav button:hover,.side-nav button.selected{background:#1c2b20;color:var(--lime)}.side-bottom{margin-top:auto;display:grid;overflow-wrap:anywhere;font-size:12px;padding-top:30px}.content{min-width:0}.content-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px}.content-top h1{font-size:clamp(26px,3vw,39px);font-family:Manrope;letter-spacing:-.06em;margin:9px 0}.section-title{font-size:21px;margin:30px 0 16px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi,.mini-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px}.kpi .caption{font-size:12px;color:var(--dim)}.kpi .value{font-size:clamp(25px,3vw,39px);font-family:Manrope;font-weight:800;letter-spacing:-.07em;margin-top:14px}.kpi .sub{font-size:12px;color:var(--green);margin-top:8px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.full{grid-column:1/-1}.list{display:grid;gap:12px;margin-top:18px}.item{border:1px solid var(--line);border-radius:12px;padding:16px;background:#111a14;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.item p{color:var(--dim);margin:6px 0;font-size:13px;line-height:1.6}.item h3{margin:0;font-size:15px}.pill{font-size:11px;color:var(--lime);background:#243c27;border:1px solid #3d6344;padding:6px 10px;border-radius:20px;white-space:nowrap}.chart{display:flex;align-items:flex-end;gap:8px;height:165px;border-bottom:1px solid var(--line);padding-top:20px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:8px;min-width:0}.chart-bar{width:min(80%,66px);background:linear-gradient(0deg,#477958,#bbef80);border-radius:5px 5px 0 0;min-height:2px}.chart-col small{font-size:10px;color:var(--dim)}.empty{color:var(--dim);padding:30px;text-align:center;border:1px dashed var(--line);border-radius:12px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border-bottom:1px solid var(--line)}.admin-row button{white-space:nowrap}.small{font-size:12px;color:var(--dim)}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}.portal-footer{padding:20px 5vw;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;color:var(--dim);font-size:11px;letter-spacing:.07em}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:880px){.auth-layout{grid-template-columns:1fr;gap:10px}.auth-story{padding:10px}.app-layout{grid-template-columns:1fr;gap:12px}.side{min-height:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 0 20px}.side h3{margin:8px 0}.side-nav{display:flex;overflow:auto}.side-nav button{white-space:nowrap}.side-bottom{display:flex;justify-content:space-between;padding-top:10px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.top-label{display:none}}@media(max-width:520px){.portal-main{padding:18px 14px}.panel{padding:20px}.kpi{padding:15px}.form-grid{grid-template-columns:1fr}.content-top{align-items:flex-start;flex-direction:column}.topbar{height:70px}.portal-brand img{max-width:125px}}

/* V22 mobile icon polish: SVG strokes remain monochrome on iOS (never emoji glyphs). */
.grovera-arrow{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.14em;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0} 

.projection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.projection-grid .mini-card{padding:18px}.projection-grid .kpi{margin-top:10px;padding:12px}.projection-grid .value{font-size:24px}.danger{color:#ffb8b5;background:#3d1f21;border:1px solid #984950;border-radius:10px;padding:10px 13px}.danger:hover{background:#612b2f}.admin-row{flex-wrap:wrap}@media(max-width:1000px){.projection-grid{grid-template-columns:1fr}}

/* V25 interactive ad spend projection: compact responsive simulator */
.scenario-panel{background:#111b14;border:1px solid #405643;border-radius:18px;padding:clamp(18px,3vw,28px);margin-top:20px;margin-bottom:22px}
.scenario-panel h3{margin:0 0 5px;font-size:20px}.scenario-panel p{line-height:1.65}.scenario-budget{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:21px 0 16px}.scenario-budget-value{font:800 clamp(32px,4vw,49px)/1.3 Manrope,sans-serif;color:var(--lime);letter-spacing:-.05em}.scenario-original{font-size:13px;color:var(--dim);padding-bottom:6px}.scenario-original strong{color:var(--text)}
#adSpendScenario{appearance:none;-webkit-appearance:none;width:100%;height:9px;background:linear-gradient(90deg,#a8de77,#35513e);border:0;border-radius:999px;cursor:pointer;margin:8px 0;touch-action:pan-y;padding:0}#adSpendScenario::-webkit-slider-thumb{-webkit-appearance:none;width:25px;height:25px;border-radius:50%;background:#d0f590;border:3px solid #203327;box-shadow:0 0 0 2px #a5cd8d}#adSpendScenario::-moz-range-thumb{width:21px;height:21px;border-radius:50%;background:#d0f590;border:3px solid #203327}.scenario-range-labels{display:flex;justify-content:space-between;color:var(--dim);font-size:12px}.scenario-kpis,.scenario-secondary{margin-top:15px}.scenario-secondary .kpi .value{font-size:clamp(19px,2.4vw,30px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:520px){.scenario-panel .panel-head{align-items:flex-start}.scenario-panel .secondary{width:100%}.scenario-budget{align-items:flex-start}.scenario-kpis .kpi .value{font-size:23px}}

.portal-notice-wrap{display:flex;align-items:center;gap:16px;justify-content:space-between}.portal-notice-wrap .message:empty{display:none}.portal-notice-wrap button{flex-shrink:0}.admin-row{flex-wrap:wrap}#activationResult pre{font:inherit;line-height:1.8;color:var(--lime)}
