:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#163149;background:#f3f6f8;font-size:14px;line-height:1.55;--ink:#163149;--muted:#687e8e;--line:#dfe7eb;--blue:#16648a;--green:#147559}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:238px;padding:32px 20px;background:#102e43;color:#d2e1ea;display:flex;flex-direction:column}.brand{font-size:24px;font-weight:850;letter-spacing:-1px;color:white;text-decoration:none;padding:0 12px}.brand span{color:#71c7bd}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:1.3px;text-transform:uppercase;color:#a0b9c9;margin-top:4px}.workspace-label{font-size:10px;letter-spacing:1.8px;color:#81a0b5;margin:46px 12px 12px}nav{display:grid;gap:5px}nav button{border:0;background:transparent;color:#c0d2df;text-align:left;padding:12px;border-radius:7px;font-size:13px;cursor:pointer}nav button.active{background:#285168;color:white}nav button:hover{background:#21465b}.aside-bottom{margin-top:auto;padding:24px 12px 0;font-size:12px}.aside-bottom small{display:block;color:#8eabba;margin:10px 0 18px}.aside-bottom a{color:#c9dce7}.dot{display:inline-block;width:7px;height:7px;background:#81d4aa;border-radius:50%;margin-right:7px}main{margin-left:238px;padding:38px 42px;max-width:1900px}header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{color:#6f8694;letter-spacing:1.6px;font-size:10px;font-weight:700}h1{font-size:30px;line-height:1.25;letter-spacing:-.8px;margin:9px 0}p{color:var(--muted);margin:6px 0}h2{font-size:18px;letter-spacing:-.3px;margin:0 0 16px}h3{font-size:15px}.header-actions{display:grid;gap:12px;justify-items:end}label{color:var(--muted);display:grid;gap:5px;font-size:11px;font-weight:600}select,input,textarea{font:inherit;border:1px solid #cfdce3;border-radius:6px;background:white;color:var(--ink);padding:10px;min-height:40px;max-width:100%}select{min-width:150px}textarea{width:100%;min-height:180px}button,.button{font:inherit;cursor:pointer;border:1px solid #ccdbe4;border-radius:6px;padding:10px 16px;background:white;color:var(--ink);text-decoration:none;display:inline-block;min-height:40px}button:hover,.button:hover{background:#edf4f7}button.primary,.button.primary{background:var(--blue);border-color:var(--blue);color:white}button.danger{color:#a14242}button:disabled{opacity:.4;cursor:not-allowed}a{color:var(--blue)}.badge{font-size:11px;display:inline-block;padding:5px 9px;background:#e5f2ef;color:#246c5b;border-radius:5px;font-weight:650;white-space:nowrap}.badge.warn{background:#fff2da;color:#946316}.badge.error{background:#fbe9e7;color:#9e4134}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.card,section{border:1px solid var(--line);background:white;border-radius:10px;padding:22px}.card small{color:var(--muted);font-size:11px}.card strong{display:block;font-size:30px;letter-spacing:-1px;margin:10px 0 4px}.card .delta{font-size:12px;color:var(--green)}section{margin:18px 0}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.section-head h2{margin:0}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.grid>section{margin:0}.notice{background:#eaf2f7;border-left:3px solid #6098b5;padding:14px 18px;font-size:12px;border-radius:4px;color:#43667b}.notice.warn{background:#fff6e5;border-color:#dca652;color:#826127}.filters{display:flex;flex-wrap:wrap;gap:12px;padding:18px;background:white;border:1px solid var(--line);border-radius:9px;margin:20px 0}.filters label{flex:1;min-width:130px}.filters input{width:100%}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#f8fafb;color:#738594;text-align:left;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:13px 15px;white-space:nowrap}td{padding:14px 15px;border-top:1px solid #e9eef1;vertical-align:top;max-width:500px}td p{font-size:11px}td strong{font-weight:650}td button{font-size:11px;padding:7px 10px;white-space:nowrap}.empty{padding:35px;text-align:center;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.row:first-of-type{border:0}.muted{color:var(--muted);font-size:12px}.proposal{margin:16px 0;border:1px solid var(--line);border-radius:8px;padding:18px;background:white}.diff{display:grid;grid-template-columns:1fr 1fr;gap:14px}.diff>div{background:#f6f8fa;padding:14px;border-radius:6px;min-width:0}.diff>div:last-child{background:#eff7f3}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;margin:8px 0;max-height:240px;overflow:auto}del{background:#ffdfdf;text-decoration:none}ins{background:#d9f2e1;text-decoration:none}.pill{font-size:10px;color:#718796;margin:0 8px}footer{font-size:10px;color:#82939f;margin-top:28px}#message{padding:14px;background:#fff2dd;color:#7f561a;border-radius:6px;margin-bottom:18px}dialog{width:min(1000px,94vw);border:1px solid var(--line);border-radius:12px;padding:28px;max-height:90vh;overflow:auto}dialog::backdrop{background:#102e4366}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.detail-grid>div{padding:12px;background:#f4f7f9;border-radius:6px}.detail-grid small{display:block;color:var(--muted)}.images{display:flex;gap:12px;overflow:auto}.images img{width:120px;height:120px;object-fit:contain}.images figure{margin:10px 0;font-size:11px;min-width:160px}.source{font-size:11px}.progress{height:7px;background:#e8eef2;border-radius:5px;overflow:hidden}.progress span{height:100%;display:block;background:#579aa9}.chart-row{display:grid;grid-template-columns:130px 1fr 60px;gap:12px;align-items:center;font-size:12px;margin:16px 0}@media(max-width:1050px){main{padding:24px;margin-left:200px}aside{width:200px;padding:26px 12px}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}header{flex-direction:column}.header-actions{justify-items:start}}@media(max-width:700px){aside{position:static;width:auto;padding:18px}.brand{font-size:22px}.workspace-label,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:18px}nav button{white-space:nowrap}.brand small{display:none}main{margin:0;padding:20px 14px}.cards{gap:10px}.card{padding:16px}.card strong{font-size:25px}.diff,.detail-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}h1{font-size:27px}section{padding:18px}.header-actions{width:100%}}
/* Operations workspace */
:root{--blue:#13766b;--line:#e1e9e7;background:#f4f7f6;color:#183d3a}aside{background:#102f2d;overflow-y:auto}nav button.active{background:#244c46;border-left:3px solid #9ed8b0}nav button:hover{background:#244c46}.brand span{color:#b4de9c}.workspace-label{margin-top:30px}nav{gap:2px}nav button{padding:10px 8px}.pill{color:#83a9a1}.aside-bottom{padding-top:24px}main{padding:34px 36px}h1{font-weight:750}section,.card{box-shadow:0 3px 14px #12362c03}.workspace-tools{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:16px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.workspace-tools label{flex:1;min-width:180px}.workspace-tools select{width:100%;max-width:440px}.hero{display:grid;grid-template-columns:1.35fr 1fr;background:#dfede5;border:1px solid #cfdfd5;border-radius:16px;padding:32px;gap:30px;margin:20px 0 24px;overflow:hidden}.hero h2{font-size:35px;line-height:1.16;letter-spacing:-1.2px;margin:14px 0}.hero p{color:#4e7467}.hero .eyebrow{color:#497561}.pipeline{padding:12px 22px;border-radius:12px;background:#ffffff80;align-self:center}.pipeline div{display:flex;align-items:center;gap:14px;font-size:13px;padding:9px 0}.pipeline span{border:1px solid #b9d1c3;background:#fff;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#2d785b;font-size:12px}.job-status{background:#e5f1ea;color:#356951;border:1px solid #c8dfd2;border-radius:8px;padding:12px 16px;margin:14px 0;font-size:12px}.job-status.running{background:#e8f1fa;color:#285575}.job-status.failed,.job-status.partial,.job-status.interrupted{background:#fff1dc;color:#8a5c18}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:22px}.photo-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.photo-card>a{display:block;background:#f6f8f7}.photo-card img{width:100%;height:210px;object-fit:contain}.photo-card>div{padding:16px}.photo-card small{font-size:10px;letter-spacing:1px;color:#6d8b7d}.photo-card p{font-size:12px;min-height:40px;overflow-wrap:anywhere}.photo-form{display:grid;gap:10px;margin-top:16px}.photo-form select{min-width:0;width:100%}.photo-result{font-size:11px;color:#147559}.connection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.connection-grid section{margin:0}.connection-grid p{margin-top:16px}.connection-icon{font-size:24px;color:#378275}.brief{padding:16px 0;border-bottom:1px solid var(--line)}.brief .button{margin:10px 0}#brief-form{display:grid;gap:16px;margin-top:22px}#brief-form textarea{min-height:110px}.login-body{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.login-art{background:radial-gradient(ellipse at 20% 90%,#346945,transparent 65%),#112f2c;color:#e6eee8;padding:54px 64px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-art .brand{padding:0}.login-art h1{font-size:clamp(40px,4.6vw,70px);letter-spacing:-2px;line-height:1.06;margin:26px 0}.login-art p{color:#b8ccc0}.login-art .eyebrow,.login-art>small{color:#b9d6a5}.login-art>small{font-size:10px;letter-spacing:2px}.login-panel{display:grid;place-items:center;padding:48px;background:#f6f8f5}.login-panel>div{width:min(360px,100%)}.login-panel h2{font-size:34px;margin:10px 0}.login-panel form{display:grid;gap:22px;margin:32px 0 22px}.login-panel label{font-size:12px}.login-panel input{padding:14px}.login-panel button{padding:14px}.login-panel small{font-size:11px;color:#84968c}#login-error{color:#a44334;font-size:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #75b8a7;outline-offset:3px}td,pre{overflow-wrap:anywhere}.delta.negative{color:#ae5a33}
@media(max-width:1200px){.hero{grid-template-columns:1fr}.pipeline{display:flex;flex-wrap:wrap;gap:4px 20px}.pipeline div{font-size:11px}.hero h2{font-size:30px}}
@media(max-width:700px){main{padding:20px 14px}.hero{padding:22px}.hero h2{font-size:29px}.pipeline{display:grid;grid-template-columns:1fr;padding:12px}.connection-grid{grid-template-columns:1fr}.workspace-tools{padding:12px}.workspace-tools>button{flex:1;font-size:12px}.workspace-tools label{flex-basis:100%}.workspace-tools select{max-width:100%}.photo-grid{grid-template-columns:1fr}.login-body{grid-template-columns:1fr}.login-art{min-height:0;padding:28px;gap:28px}.login-art h1{font-size:36px}.login-art p,.login-art>small{display:none}.login-panel{padding:32px 28px}.login-art .brand{font-size:24px}.hero .actions .button,.hero .actions button{width:100%;text-align:center}header{gap:12px}.header-actions{justify-items:stretch}.header-actions select{width:100%}}

[hidden]{display:none!important}

/* Live synchronization status: indeterminate motion, real phase and elapsed time. */
.job-status{padding:18px 20px}.sync-main{display:flex;align-items:center;gap:16px}.sync-icon{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#d0e8dc;font-size:18px;font-weight:800}.sync-spinner{background:transparent;border:3px solid #bfd6e5;border-top-color:#217393;animation:sync-spin 1s linear infinite}.sync-copy{flex:1;min-width:0}.sync-copy strong{display:block;font-size:15px}.sync-copy p{color:inherit;margin:4px 0;font-size:13px}.sync-copy small{display:block;font-size:11px;opacity:.8}.sync-time{font-size:10px;text-align:right;white-space:nowrap}.sync-time b{display:block;font-size:16px;font-variant-numeric:tabular-nums}.sync-track{height:4px;border-radius:4px;overflow:hidden;background:#d4e4ee;margin-top:16px}.sync-track span{display:block;height:100%;width:35%;background:#3888a5;border-radius:4px;animation:sync-travel 1.8s ease-in-out infinite}.job-status.failed .sync-icon,.job-status.partial .sync-icon,.job-status.interrupted .sync-icon{background:#f1d8b4}@keyframes sync-spin{to{transform:rotate(360deg)}}@keyframes sync-travel{from{transform:translateX(-110%)}to{transform:translateX(390%)}}@media(prefers-reduced-motion:reduce){.sync-spinner,.sync-track span{animation:none}}@media(max-width:700px){.sync-main{align-items:flex-start;gap:10px;flex-wrap:wrap}.sync-copy{flex-basis:calc(100% - 42px)}.sync-time{text-align:left;margin-left:40px}.sync-time b{display:inline;margin-left:8px}.job-status{padding:16px}}

/* Contextual explanations and the operator guide. */
.page-help{display:flex;align-items:center;gap:20px;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:18px 0}.page-help strong{font-size:12px;color:#356b5e}.page-help p{font-size:12px;max-width:900px}.page-help button{flex-shrink:0;font-size:12px}.help-access{font-weight:650;color:var(--blue)}.help-intro h2{font-size:27px;margin:12px 0}.help-intro .notice{margin-top:20px}.help-steps{display:grid;grid-template-columns:1fr 1fr;gap:16px}.help-step{display:flex;align-items:flex-start;gap:16px;margin:0}.help-number{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;flex-shrink:0;background:#e4f0e9;color:#267258;font-weight:750}.help-step h2{font-size:17px;margin-bottom:8px}.help-step button{margin-top:16px}.help-prompt{margin-top:18px}.help-prompt textarea{min-height:130px;font-size:14px;line-height:1.6}.help-pages{display:grid;grid-template-columns:1fr 1fr;gap:20px}.help-pages article{padding:0 0 20px;border-bottom:1px solid var(--line)}.help-pages h3{margin:4px 0 8px}.help-pages button{margin-top:12px}summary{cursor:pointer;padding:10px 0;font-weight:600}details>p{padding:0 0 14px}@media(max-width:900px){.help-steps,.help-pages{grid-template-columns:1fr}.page-help{align-items:flex-start;flex-direction:column;gap:10px}}@media(max-width:700px){.help-step{padding:16px;gap:12px}.help-intro h2{font-size:23px}.page-help{padding:16px}.help-access{justify-self:start}}

/* MondoReti Blue — shared workspace and sign-in theme. */
:root{--ink:#172d50;--muted:#586d8a;--line:#dce6f4;--blue:#245dd8;--green:#147559;color:var(--ink);background:#f3f6fc;color-scheme:light}
body{background:radial-gradient(ellipse at 85% 0%,#e5edff 0,transparent 55%),#f3f6fc;min-height:100vh}
aside{background:linear-gradient(165deg,#112c59 0%,#0b1935 100%);border-right:1px solid #25416a;padding:30px 18px;scrollbar-width:thin;scrollbar-color:#42618c transparent}
.brand{letter-spacing:-1.1px}.brand span{color:#7fcaff}.brand small{color:#aabfdf;letter-spacing:1.5px}.workspace-label{color:#96aed1;margin-top:34px}
nav{gap:5px}nav button{min-height:44px;padding:11px 12px;border:1px solid transparent;border-radius:10px;color:#c6d6ee;transition:background .18s,color .18s}nav button.active{background:linear-gradient(100deg,#245dd8,#306fdf);border:1px solid #4a82ea;box-shadow:0 4px 16px #0002;color:#fff}nav button:hover{background:#213e68;color:#fff}nav button.active:hover{background:#2964dd}.pill{color:#adc6ed}.aside-bottom{border-top:1px solid #ffffff1c;margin-top:auto}.aside-bottom small{color:#a0b6d7}.aside-bottom a{color:#c5ddff}
main{padding:36px clamp(20px,3vw,48px)}header{padding-bottom:24px;border-bottom:1px solid var(--line)}h1{font-size:clamp(28px,3vw,38px);letter-spacing:-1.1px}h1,h2,h3{color:var(--ink)}.eyebrow{color:#49678f}.header-actions{gap:10px}.header-actions label{min-width:210px}
button,.button{border-color:#ccdaf0;border-radius:10px;min-height:44px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s}button:hover,.button:hover{background:#eef4ff;border-color:#9db8e6}button.primary,.button.primary{background:linear-gradient(135deg,#2767e8,#204fc2);border-color:#245bd1;box-shadow:0 4px 10px #245dd823}button.primary:hover,.button.primary:hover{background:#1949b6;box-shadow:0 5px 16px #245dd83d}button:disabled{opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #528dff;outline-offset:3px}
select,input,textarea{border-color:#cbd9ec;border-radius:10px;min-height:44px}label{color:#536987}input[type=checkbox],input[type=radio]{accent-color:var(--blue)}
section,.card,.proposal,.workspace-tools,.filters,.page-help{border-color:var(--line);border-radius:16px;box-shadow:0 4px 20px #173b7006}.workspace-tools{padding:20px;gap:12px}.card{position:relative;overflow:hidden;padding:24px}.card:before{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#2d69df,#9bd9ff)}.card strong{color:#193f7d;font-variant-numeric:tabular-nums;font-size:32px}.card small{color:#536987}.cards{gap:18px}
.hero{background:radial-gradient(ellipse at 95% 10%,#3974dc66,transparent 60%),linear-gradient(120deg,#102d61,#194da2);border:1px solid #2557a3;border-radius:22px;padding:36px;color:white;box-shadow:0 14px 32px #214e9a1a}.hero h2{color:white;font-size:clamp(28px,3vw,40px);max-width:620px}.hero p{color:#d2e2ff}.hero .eyebrow{color:#a8d8ff}.hero .button,.hero button{background:#fff;color:#1c4ea8;border-color:#fff}.hero .button:hover,.hero button:hover{background:#e6efff;color:#163f8c;border-color:#b8d1ff}.hero .button.primary:hover,.hero button.primary:hover{background:#2056c4;color:#fff;border-color:#91b7ff;box-shadow:0 6px 18px #061b4840}.hero .primary{background:#3474ed;color:#fff;border-color:#6e9bf3}.pipeline{background:#ffffff0d;border:1px solid #ffffff26;padding:18px 22px;backdrop-filter:blur(8px)}.pipeline div{color:#edf4ff}.pipeline span{flex-shrink:0;background:#ffffff16;border-color:#ffffff40;color:#fff;font-weight:700}
.table-wrap{border-radius:14px;max-width:100%;overscroll-behavior-x:contain}th{background:#eef3fc;color:#4e678d;padding:15px}td{border-color:#e7eef8}tbody tr:hover{background:#f6f9ff}.filters{padding:20px}.notice{background:#edf4ff;border-color:#5487df;color:#3c5f94;border-radius:10px}.badge:not(.warn):not(.error){background:#eaf1ff;color:#315b9f;border-radius:7px}.page-help{background:#f9fbff;border-left:3px solid #7da6ee}.page-help strong,.connection-icon{color:#2a5fba}.help-number{background:#e8f0ff;color:#245dd8}.help-access{background:#edf4ff}.progress span{background:linear-gradient(90deg,#2768e0,#76baff)}.progress{background:#e4edfa}.detail-grid>div,.diff>div{background:#f1f5fc}.photo-card>a{background:#f4f7fc}.photo-card small{color:#536d91}.photo-card{border-radius:16px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr))}dialog{border-radius:20px;box-shadow:0 24px 80px #0b21444d}dialog::backdrop{background:#0a1c3e80;backdrop-filter:blur(4px)}footer{color:#607797}.login-art{background:radial-gradient(ellipse at 0% 90%,#3078d9aa,transparent 65%),radial-gradient(ellipse at 95% 15%,#2853a5,transparent 55%),#0b2047}.login-art h1{color:white}.login-art p{color:#c2d5f4}.login-art .eyebrow,.login-art>small{color:#9dccff}.login-panel{background:radial-gradient(ellipse at 80% 0%,#e5eeff,transparent 65%),#f5f8ff}.login-panel>div{width:min(400px,100%)}.login-panel small{color:#627795}.login-panel input{background:#fff;min-height:50px}.login-panel button{min-height:50px}.login-panel h2{font-size:36px}
main,#content,.grid>*,.cards>*,.hero>*,.connection-grid>*,header>*{min-width:0}.row{gap:16px;flex-wrap:wrap}.row>*{min-width:0}.actions>*{max-width:100%}.chart-row{grid-template-columns:minmax(70px,130px) minmax(0,1fr) 60px}h2,h3,.row,.source{overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:1050px){aside{padding:26px 12px}main{padding:26px 22px}.header-actions{display:flex;align-items:center;flex-wrap:wrap;width:100%}.header-actions label{margin-left:auto}.cards{gap:14px}}
@media(max-width:700px){aside{padding:20px 16px 12px;border-right:0;border-bottom:1px solid #25416a}nav{gap:8px;padding:3px 2px 8px;margin-top:16px;scrollbar-width:thin;scrollbar-color:#7798ca transparent}nav button{flex:0 0 auto;padding:10px 14px;border-color:#ffffff22;background:#ffffff08}.brand{padding:0 4px}main{padding:24px 16px}header{padding-bottom:20px}.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.header-actions label{width:100%;min-width:0}section,.proposal{padding:18px}.hero{padding:24px;border-radius:18px;gap:16px}.hero h2{font-size:30px}.pipeline{padding:12px 16px}.cards{gap:12px}.card{padding:20px 16px}.card:before{left:16px;right:16px}.card strong{font-size:28px}.workspace-tools{padding:16px}.workspace-tools label{min-width:0;width:100%}.workspace-tools button{flex-basis:100%}.filters label{min-width:0;flex-basis:100%}select,input,textarea{font-size:16px}.login-art{padding:30px 26px}.login-art h1{font-size:38px}.login-panel{padding:36px 24px 48px}.login-panel h2{font-size:30px}.page-help{padding:16px}dialog{padding:20px}.chart-row{gap:8px;font-size:11px}}
@media(max-width:360px){.cards{grid-template-columns:1fr}.hero{padding:20px}.hero h2{font-size:27px}.badge{white-space:normal}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
/* Allow intrinsic file controls to shrink inside the CSV form. */
label{min-width:0}input[type=file]{width:100%;min-width:0}input::file-selector-button{border:0;border-radius:6px;padding:6px 10px;background:#eaf1ff;color:#2454a2;margin-right:10px;cursor:pointer}

/* Clear hover feedback without losing text contrast or shifting layout. */
button,.button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
@media(hover:hover) and (pointer:fine){
  main button:not(:disabled):hover,main .button:not([aria-disabled="true"]):hover,.login-panel button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 14px #173b7024}
  main button:not(.primary):not(.danger):not(:disabled):hover,main .button:not(.primary):not([aria-disabled="true"]):hover{color:#163f8c;border-color:#86a9e5}
  nav button:not(:disabled):hover{border-color:#739bd380;box-shadow:inset 3px 0 #83bbff}
  button.danger:not(:disabled):hover{color:#8b2929;background:#fff0f0;border-color:#dfa2a2}
}
main button:not(:disabled):active,main .button:not([aria-disabled="true"]):active,.login-panel button:not(:disabled):active{transform:translateY(0);box-shadow:inset 0 2px 5px #0b214426}
button:disabled,.button[aria-disabled="true"]{pointer-events:none;transform:none;box-shadow:none}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}main button:not(:disabled):hover,main .button:hover,.login-panel button:hover{transform:none}}

/* Compact top area: period and help share one row. */
main{padding-top:22px}
main>header{align-items:center;gap:20px;padding-bottom:14px;margin-bottom:14px}
main>header h1{font-size:30px;margin:4px 0;line-height:1.2}
main>header p{margin:4px 0 0;font-size:13px}
.header-actions{display:grid;grid-template-columns:minmax(210px,260px) auto;gap:5px 10px;align-items:end;flex-shrink:0}
.header-actions>.badge{grid-column:1/-1;grid-row:1;justify-self:end;padding:2px 7px;font-size:10px}
.header-actions>label{grid-column:1;grid-row:2;min-width:0;width:100%;margin:0;gap:3px}
.header-actions>label select{width:100%;min-width:0;padding:8px 10px}
.header-actions>.help-access{grid-column:2;grid-row:2;align-self:end;justify-self:stretch;white-space:nowrap;padding:8px 13px}
.workspace-tools{padding:12px 16px;gap:10px;margin-bottom:12px}
.workspace-tools label{gap:3px}
.job-status{padding:12px 16px;margin:12px 0}
.sync-main{gap:12px}.sync-copy strong{font-size:13px}.sync-copy p{font-size:12px;margin:2px 0}.sync-copy small{font-size:10px}.sync-time b{font-size:14px}.sync-track{margin-top:10px}
.page-help{padding:10px 14px;margin:12px 0;gap:14px}.page-help p{margin:3px 0;font-size:12px}.page-help button{padding:8px 12px}
.hero{margin-top:14px;padding:26px 30px}
@media(min-width:701px) and (max-width:1050px){main>header{flex-direction:row;align-items:center}.header-actions{width:auto;grid-template-columns:minmax(170px,210px) auto}main>header h1{font-size:27px}.header-actions>label{margin:0;min-width:0}.workspace-tools label{min-width:150px}}
@media(max-width:700px){main{padding-top:16px}main>header{align-items:stretch;gap:10px;padding-bottom:12px;margin-bottom:12px}main>header h1{font-size:27px}.header-actions{width:100%;grid-template-columns:minmax(0,1fr) auto}.header-actions>.badge{justify-self:start}.header-actions>label{min-width:0}.workspace-tools{padding:12px;gap:8px}.workspace-tools>button{flex-basis:auto}.workspace-tools>label{flex-basis:100%}.page-help{gap:8px}.hero{padding:22px}.sync-main{gap:10px}}

/* Sortable column headings retain their compact table appearance. */
th:has(.table-sort){padding:0}
button.table-sort{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:13px 15px;border:0;border-radius:0;background:transparent;color:#4e678d;font:inherit;text-align:left;letter-spacing:inherit;text-transform:inherit;box-shadow:none}
button.table-sort span{color:#607da8;font-size:14px}
main button.table-sort:not(:disabled):hover{background:#dfeaff;color:#163f8c;transform:none;box-shadow:none}
th[aria-sort=ascending],th[aria-sort=descending]{background:#dfebff}
th[aria-sort=ascending] button,th[aria-sort=descending] button{color:#194eae}
button.table-sort:focus-visible{outline-offset:-3px}

/* Reading-first workspace: quiet surfaces and on-demand guidance. */
:root{--ink:#26344a;--muted:#647187;--line:#e3e7ee;--blue:#285ec8;background:#f7f8fb;color:var(--ink)}
body:not(.login-body){background:#f7f8fb}
aside{background:#142641;border-color:#142641;padding:26px 18px}
nav{gap:3px}nav button{font-weight:500;border-radius:7px;padding:10px 12px;color:#c8d3e3}
nav .pill{display:none}nav button.active{background:#2c4d7c;border-color:#47699b;box-shadow:none;font-weight:650}
nav button.active:hover{background:#355b90}nav button:nth-child(4),nav button:nth-child(9),nav button:nth-child(13){margin-top:12px}
.workspace-label{letter-spacing:1.2px;margin-top:28px}.brand{font-size:22px}.brand small{font-size:10px}
main{padding:22px clamp(18px,2.5vw,36px)}main>header{border-bottom:0;margin-bottom:16px;padding-bottom:0}main>header h1{font-size:28px;letter-spacing:-.7px}main>header .eyebrow{font-size:9px;letter-spacing:1.4px;color:#6b7c94}main>header p{font-size:12px;color:#647187}
.header-actions>.badge{background:transparent;color:#647187;font-weight:500;padding:0}
section,.card,.proposal,.workspace-tools,.filters{border-radius:10px;box-shadow:none;background:#fff}
button,.button{border-radius:7px;border-color:#d8dfe9;font-weight:550;box-shadow:none}
button.primary,.button.primary{background:#285ec8;border-color:#285ec8;box-shadow:none}
main button:not(:disabled):hover,main .button:not([aria-disabled="true"]):hover{transform:none;box-shadow:none}
main button.primary:not(:disabled):hover,main .button.primary:hover{background:#204faa;border-color:#204faa;box-shadow:none}
select,input,textarea{border-color:#d8dfe9;border-radius:7px;background:#fff}
.workspace-tools{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:0 0 16px;margin-bottom:8px}.workspace-tools label{font-weight:500}.workspace-tools button{font-size:12px}
#content>details.page-help{display:block;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;margin:6px 0 14px;color:#647187}
.page-help>summary{font-size:12px;font-weight:500;padding:7px 0;width:fit-content;color:#536b8b}
.page-help[open]{border-bottom:1px solid var(--line)!important;padding-bottom:12px!important}
.page-help-body{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:4px 0}.page-help-body p{max-width:850px;font-size:13px;line-height:1.6}.page-help-body button{flex-shrink:0}
.cards{gap:14px;margin:16px 0}.card{padding:18px 20px}.card:before{display:none}.card small{font-size:11px;font-weight:550;letter-spacing:.25px;color:#647187}.card strong{font-size:30px;font-weight:650;letter-spacing:-.6px;color:#243c61;margin:7px 0 3px}.card .delta{font-size:11px}
.next-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;margin:16px 0 20px;border:1px solid #dae4f4;border-radius:10px;background:#eff4fc}.next-actions strong{font-size:14px;font-weight:650}.next-actions p{font-size:12px;margin:3px 0 0}.next-actions .actions{margin:0;flex-shrink:0}.next-actions .button,.next-actions button{font-size:12px}
h2{font-size:17px;font-weight:650}h3{font-weight:600}.notice{background:#f0f4fa;border-color:#c6d5eb;color:#526780;font-size:12px;padding:10px 14px;border-radius:6px}.notice.warn{background:#fff6e5;border-color:#dca652;color:#826127}
.job-status.completed{background:#f1f7f3;border-color:#dfece3;padding:9px 13px;margin:10px 0}.job-status.completed .sync-icon{width:22px;height:22px;font-size:13px;background:#e0eee5}.job-status.completed .sync-copy strong{font-size:12px}.job-status.completed .sync-copy p{font-size:11px;line-height:1.45}.job-status.completed .sync-copy small{font-size:10px}.job-status.completed .sync-time{font-size:9px}.job-status.completed .sync-time b{font-size:12px}
.filters{padding:14px 16px;gap:12px;margin:14px 0}.filters label{font-weight:500}.query-view>.filters{padding:0;border:0;background:transparent;margin:4px 0 12px;max-width:520px}.query-view>.filters label{font-size:12px}.query-view>p{font-size:12px;color:#647187;margin:10px 0}
.table-wrap{border-color:#e0e5ed;border-radius:10px;max-height:72vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#bec9d9 transparent;scroll-padding-top:46px}
table{font-size:13px;line-height:1.55}thead{position:sticky;top:0;z-index:1}th{background:#f4f6f9;color:#53637a;font-size:12px;text-transform:none;letter-spacing:0;font-weight:600;box-shadow:inset 0 -1px #dfe5ee}
button.table-sort{color:#53637a;gap:7px;justify-content:flex-start;padding:11px 16px;font-weight:600;white-space:nowrap}
button.table-sort span{font-size:12px;color:#8a98ab;font-weight:400}th[aria-sort=none] .table-sort span{opacity:.45}th:hover .table-sort span,th:focus-within .table-sort span{opacity:1}
th[aria-sort=ascending],th[aria-sort=descending]{background:#edf2fa}th[aria-sort=ascending] button,th[aria-sort=descending] button{color:#285ec8}
main button.table-sort:not(:disabled):hover{background:#eaf0f8;color:#285ec8;box-shadow:none;transform:none}
td{padding:13px 16px;border-top:1px solid #edf0f4;color:#334259}td p{font-size:12px;line-height:1.5;color:#738095}td strong{font-weight:550}tbody tr:nth-child(even){background:#fafbfd}tbody tr:hover{background:#f0f5fc}
td.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.query-view td:nth-child(1){min-width:190px}.query-view td:nth-child(2){min-width:230px;color:#758197;font-size:12px}
.badge{font-weight:550;font-size:10px;border-radius:5px;padding:3px 7px}.badge:not(.warn):not(.error){background:#f0f3f8;color:#536880}
footer{font-size:10px;color:#738095;margin-top:22px}
@media(max-width:1050px){.next-actions{align-items:flex-start;flex-direction:column;gap:12px}.next-actions .actions{flex-shrink:1}}
@media(max-width:700px){aside{padding:17px 16px 8px}nav button:nth-child(4),nav button:nth-child(9),nav button:nth-child(13){margin-top:0}main{padding:18px 14px}.workspace-tools{padding-bottom:12px}.workspace-tools>button{flex-basis:auto;flex-grow:1}.page-help-body{align-items:flex-start;flex-direction:column;gap:10px}.cards{gap:10px}.card{padding:16px}.card strong{font-size:27px}.next-actions{padding:15px}.next-actions .actions{width:100%}.next-actions .actions>*{flex:1;text-align:center}table{font-size:12px}td{padding:12px}.table-wrap{max-height:70vh}.query-view>.filters{max-width:none}.job-status.completed .sync-time{margin-left:32px}.query-view td:nth-child(1){min-width:160px}.query-view td:nth-child(2){min-width:190px}}

/* Guided workflow */
[hidden]{display:none!important}
nav button:nth-child(n){margin-top:0}
nav{display:flex;flex-direction:column}
.nav-tools{border:0;border-top:1px solid #ffffff24;margin:14px 0 6px;padding:12px 0 0;color:#c8d3e3;background:transparent}
.nav-tools summary{padding:10px 12px;font-size:13px;color:#c8d3e3;cursor:pointer}
.nav-tools button{width:100%;text-align:left;margin-top:3px}
.flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:8px 0 24px;gap:8px}
.flow-steps li{min-width:0}.flow-steps button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid var(--line);padding:12px}
.flow-steps span{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:50%;background:#e9edf4;font-size:12px}
.flow-steps button[aria-current]{color:#204faa;border-color:#a7bee9;background:#eef4ff}.flow-steps button[aria-current] span{background:#285ec8;color:white}
.next-step{padding:30px;border-left:3px solid #285ec8}.next-step h2{font-size:26px;line-height:1.3;margin:12px 0}.next-step p{max-width:650px;line-height:1.7;margin-bottom:22px}.next-step button{padding:12px 20px}
.workflow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.workflow-summary>div{display:flex;flex-direction:column;gap:5px}.workflow-summary strong{font-size:25px}.workflow-summary span{font-size:12px;color:var(--muted)}
.plain-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.plain-steps p{font-size:13px;line-height:1.7}.plain-steps strong{display:block;color:var(--ink);font-size:15px}
.secondary-panel{padding:16px;border:1px solid var(--line);border-radius:9px;margin:16px 0;background:#fff}.secondary-panel summary{cursor:pointer;font-weight:550}.category-hint{flex-basis:100%;color:var(--muted);font-size:12px}.step-next{display:flex;align-items:center;justify-content:space-between;gap:16px}.step-next p{margin:0}.research-start p{max-width:760px;line-height:1.7}#heading:focus{outline:none}
.header-actions{grid-template-columns:auto auto}.header-actions>.help-access{grid-column:2}.proposal details>.actions{margin-top:10px}
@media(max-width:700px){nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;white-space:normal}nav>button{width:100%;white-space:normal}.nav-tools{grid-column:1/-1;margin:4px 0;padding-top:4px}.nav-tools[open]{display:block}.nav-tools button{display:block}.flow-steps{gap:5px;margin-bottom:16px}.flow-steps button{flex-direction:column;gap:6px;padding:9px 3px;font-size:11px;text-align:center}.next-step{padding:22px}.next-step h2{font-size:23px}.workflow-summary{gap:10px}.workflow-summary span{font-size:11px}.plain-steps{grid-template-columns:1fr;gap:0}.step-next{align-items:stretch;flex-direction:column}.header-actions{display:flex;justify-content:space-between}.header-actions>.help-access{margin-left:auto}.workspace-tools .category-hint{line-height:1.5}}
.review-product{background:white;border:1px solid var(--line);border-radius:10px;margin:14px 0}.review-product>summary{padding:18px;font-weight:600;cursor:pointer}.review-product>summary span{color:var(--muted);font-size:12px;margin-left:10px}.review-product>section{border:0;margin:0;padding-top:0}.review-product .proposal{margin-top:16px}
@media(max-width:700px){nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}nav>button{font-size:11px;padding:9px 3px;min-width:0}.nav-tools{grid-column:1/4;border-top:0;margin:0;padding:0}.nav-tools summary{padding:10px 4px}.nav-tools[open]{grid-column:1/-1}.nav-tools+button{font-size:10px}.brand{margin-bottom:14px}main>header:has(.header-actions>label[hidden]){flex-direction:column;align-items:stretch}.header-actions:has(>label[hidden]){width:100%;justify-content:flex-start;flex-shrink:1}main>header h1{font-size:24px}.flow-steps{margin-top:4px}.category-hint{font-size:11px}}

/* Distinct banners for the three real workflow counts. */
.workflow-summary{gap:16px;margin:24px 0}
.metric-banner{position:relative;overflow:hidden;padding:23px 24px;border-radius:16px;border:1px solid var(--metric-line);background:linear-gradient(120deg,#fff 12%,var(--metric-tint));box-shadow:0 4px 14px #14264105;color:var(--metric-color);border-top:4px solid var(--metric-color)}
.metric-products{--metric-color:#285ec8;--metric-line:#cedcf6;--metric-tint:#eaf1ff;--metric-icon:#dce8ff}
.metric-approved{--metric-color:#7653bd;--metric-line:#ded3f3;--metric-tint:#f1ebfc;--metric-icon:#e9def9}
.metric-verified{--metric-color:#197666;--metric-line:#c8e4dc;--metric-tint:#e8f6ef;--metric-icon:#d8eee5}
.metric-top{display:flex;align-items:center;gap:11px;margin-bottom:16px}.metric-top h3{margin:0;font-size:13px;font-weight:650;color:var(--metric-color)}
.metric-icon{display:grid;place-items:center;width:39px;height:39px;background:var(--metric-icon);border-radius:11px}.metric-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.workflow-summary .metric-banner>strong{display:block;font-size:44px;line-height:1.1;letter-spacing:-1.5px;font-weight:750;font-variant-numeric:tabular-nums;margin-bottom:8px}
.metric-banner p{font-size:14px;font-weight:650;color:#26344a;margin:0 0 9px}.metric-banner small{display:block;color:#59677b;font-size:12px;line-height:1.5}
.mobile-topbar,#menu-close,#menu-backdrop{display:none}
@media(min-width:701px){#sidebar{overflow-y:auto}}
@media(max-width:700px){
 .mobile-topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20;height:64px;padding:8px 16px;background:#142641;color:white;box-shadow:0 2px 8px #14264118}
 #menu-toggle{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:1px solid #ffffff30;background:transparent;color:white;border-radius:10px}
 #menu-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .mobile-brand{color:white;font-size:16px;font-weight:800;text-decoration:none;letter-spacing:-.4px}.mobile-brand span{font-size:11px;font-weight:450;color:#c4d2e6;margin-left:9px;letter-spacing:0}
 #sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,86vw);height:100dvh;z-index:50;padding:28px 18px;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-100%);visibility:hidden;transition:transform .2s ease,visibility .2s}
 body.menu-open #sidebar{transform:translateX(0);visibility:visible}
 body.menu-open{overflow:hidden}
 #menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;width:100%;height:100dvh;z-index:40;border:0;border-radius:0;margin:0;padding:0;background:#08172f88;cursor:pointer}
 #menu-close{display:grid;place-items:center;position:absolute;top:16px;right:12px;width:40px;height:40px;padding:0;color:white;border-color:#ffffff30;background:transparent;font-size:18px}
 #sidebar .brand{display:block;font-size:21px;padding:0 42px 0 8px;margin:4px 0 18px}#sidebar .brand small{display:block;font-size:9px;letter-spacing:.7px}
 #sidebar .workspace-label{display:block;margin:18px 10px 12px}#sidebar .aside-bottom{display:block;padding:22px 10px 0;margin-top:auto}
 #sidebar nav{display:flex;flex-direction:column;gap:5px;overflow:visible;white-space:normal}
 #sidebar nav button{display:block;width:100%;padding:12px;text-align:left;font-size:14px;white-space:normal;min-height:44px}
 #sidebar .nav-tools{display:block;margin:12px 0 4px;padding-top:10px;border-top:1px solid #ffffff24}
 #sidebar .nav-tools summary{padding:12px;font-size:13px}
 main{margin-left:0;padding-top:20px}
 .workflow-summary{grid-template-columns:1fr;gap:12px;margin:20px 0}
 .metric-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 16px;padding:19px 20px;border-top-width:1px;border-left:4px solid var(--metric-color);border-radius:13px}
 .metric-top{grid-column:1;grid-row:1;gap:9px;margin-bottom:8px}.metric-icon{width:32px;height:32px;border-radius:9px}.metric-icon svg{width:20px;height:20px}
 .workflow-summary .metric-banner>strong{grid-column:2;grid-row:1/4;align-self:center;font-size:43px;margin:0}
 .metric-banner p{grid-column:1;margin:0;font-size:13px}.metric-banner small{grid-column:1;font-size:11px}
}
@media(prefers-reduced-motion:reduce){#sidebar{transition:none}}
@media(max-width:700px){.flow-steps{display:none}}
.site-report-frame{display:block;width:100%;height:1000px;border:1px solid var(--line);border-radius:12px;margin:18px 0;background:#f5f7fb}.report-intro p{max-width:800px}.report-intro h2{font-size:24px;margin-top:10px}.site-report-view .notice{line-height:1.7}
@media(max-width:700px){.site-report-frame{height:850px}.report-intro .actions>*{width:100%;text-align:center}.report-intro h2{font-size:22px}}

/* Photo technical audit: concise enough to compare each image at a glance. */
.photo-rules{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid #285ec8;background:#f5f8ff}
.photo-rules h2{margin:4px 0 6px}.photo-rules p{max-width:740px}.photo-rules .actions{margin:0;flex-shrink:0}
.photo-technical{margin:13px 0;padding:11px 12px;border:1px solid #dce4ee;border-radius:8px;background:#f8fafc;font-size:11px}
.photo-technical>strong{display:block;font-size:12px;color:#4c6079}.photo-technical>p{font-size:11px;min-height:0;margin:4px 0}.photo-technical>small{display:block;margin-top:8px;color:#75839a;font-size:10px}
.photo-technical ul{display:grid;gap:5px;padding:0;margin:9px 0 0;list-style:none}.photo-technical li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:5px;align-items:center;color:#637188}.photo-technical li span{font-weight:800}.photo-technical li b{font-weight:600;color:#44546b;text-align:right}.photo-technical li.pass span{color:#17724c}.photo-technical li.fail span{color:#b64040}.photo-technical.pass{background:#f1f8f4;border-color:#cce4d5}.photo-technical.pass>strong{color:#176441}.photo-technical.fail{background:#fff6f4;border-color:#edcfca}.photo-technical.fail>strong{color:#a63737}.photo-technical.pending{background:#f4f6fa;border-color:#dde3ec}
@media(max-width:700px){.photo-rules{align-items:flex-start;flex-direction:column;padding:18px}.photo-rules .actions{width:100%}.photo-rules .actions>*{width:100%;text-align:center}.photo-technical li{grid-template-columns:14px minmax(0,1fr)}.photo-technical li b{grid-column:2;text-align:left;padding-left:0}.photo-technical li span{grid-row:1/3}}

/* Product SEO workbench */
#detail{width:min(1200px,96vw);max-width:96vw;max-height:94vh;padding:24px;box-sizing:border-box}
#detail-content{min-width:0;overflow-wrap:anywhere}
#product-seo{padding:0;border:0;box-shadow:none}
.seo-heading{padding:22px;background:#eef4fb;border-radius:12px;margin-bottom:20px}
#seo-keyword-form{display:flex;align-items:end;gap:12px}#seo-keyword-form label{flex:1}
.seo-metrics,.seo-checks,.seo-keywords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.seo-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.seo-metrics article,.seo-checks article,.seo-keywords article{padding:16px;border:1px solid #dce4ef;border-radius:10px;background:#fff;min-width:0}
.seo-metrics strong{display:block;font-size:25px;margin-top:8px}.seo-keywords small{display:block;margin-bottom:12px}
.seo-checks h4,.seo-keywords h4{margin:0}.seo-checks .section-head{align-items:start;gap:10px;flex-wrap:wrap}
#product-seo pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}
.seo-editor{margin-top:24px;border-top:2px solid #dce4ef;padding-top:18px}.seo-editor textarea{width:100%;box-sizing:border-box;min-height:95px}.seo-editor #seo-long,.seo-editor #seo-faq{font-family:monospace;min-height:160px}
.content-generator{background:#f6f9ff;margin-bottom:20px}.content-generator article{padding:12px 0;border-bottom:1px solid var(--line)}.content-generator .actions{flex-wrap:wrap}.content-code textarea{font:12px/1.6 ui-monospace,monospace;min-height:200px;white-space:pre;overflow:auto}.content-sources{padding:12px;background:white;border-radius:10px}.content-generator details{max-height:480px;overflow:auto}#content-generation-status{font-weight:600;color:#245b91}
.seo-visual{background:white;border:1px solid #dce4ef;padding:24px;margin:20px auto;width:100%;box-sizing:border-box;line-height:1.7;overflow-wrap:anywhere}.seo-visual.seo-mobile{max-width:390px}.seo-visual h2{color:#245b91}.seo-visual h3{color:#2f5d8a}.seo-visual table{width:100%;table-layout:fixed;min-width:0}.seo-visual th,.seo-visual td{white-space:normal}.seo-visual .seo-short-preview{background:#f5f8fc;padding:12px}.seo-fields{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.seo-fields label{display:flex;align-items:center;gap:6px}.seo-fields input{width:auto}
#seo-feedback,#seo-save-result{white-space:pre-wrap;color:#244b7b}#close-detail{position:sticky;bottom:0;float:right;box-shadow:0 2px 12px #cdd7e5}
@media(max-width:640px){#detail{padding:14px}.seo-checks,.seo-keywords{grid-template-columns:1fr}.seo-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#seo-keyword-form{display:block}#seo-keyword-form button{margin-top:12px}.seo-visual{padding:14px}.seo-heading{padding:16px}.seo-metrics strong{font-size:20px}}

/* Equal filter cells; incomplete rows keep the same column width. */
.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));align-items:end;gap:16px}
.filters>label{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;gap:6px;min-width:0;margin:0}
.filters input,.filters select,.filters>button,.photo-form input,.photo-form select,.photo-form>button{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;margin:0;font-size:14px;line-height:20px;padding:10px 12px}
.filters select,.photo-form select{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23536987' stroke-width='2'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.filters>button{align-self:end;white-space:normal}
.photo-card{display:flex;flex-direction:column;min-width:0}
.photo-card>div{display:flex;flex-direction:column;flex:1;min-width:0}
.photo-form{margin-top:auto;padding-top:16px}
.photo-form label{gap:6px}
.photo-result{min-height:1.55em}
@media(max-width:700px){.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.filters input,.filters select,.photo-form input,.photo-form select{font-size:16px}.filters>label{flex-basis:auto}}
@media(max-width:460px){.filters{grid-template-columns:minmax(0,1fr)}}

/* Product-first analysis, independently reviewable fields. */
.work-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.work-product-grid article,.work-field{border:1px solid #dce4ef;border-radius:12px;padding:22px;background:#fff}.work-field{margin:18px 0}.work-compare{display:grid;grid-template-columns:1fr 1fr;gap:24px}.work-compare>*{min-width:0}.work-compare pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;font:inherit;background:#f5f7fb;padding:14px}.work-compare textarea{width:100%;min-height:110px}.work-over{color:#b42318;font-weight:700}.work-image{display:grid;grid-template-columns:160px 1fr;gap:24px;border-bottom:1px solid #dde5ef;padding:20px 0}.work-image img{width:160px;height:160px;object-fit:contain}.work-image p{overflow-wrap:anywhere}.work-feedback:empty{display:none}#work-handoff{scroll-margin-top:24px}#work-prompt-text{width:100%}@media(max-width:700px){.work-compare{grid-template-columns:1fr}.work-image{grid-template-columns:1fr}.work-field{padding:15px}.work-product-grid{grid-template-columns:1fr}}
.work-product-grid input[type=checkbox],#work-select-category{width:18px;height:18px;min-height:0;display:inline-block;vertical-align:middle;margin-right:8px}.work-compare input[data-media-id]{width:100%}

/* Compact controls: intrinsic button height contains wrapped labels on Safari too. */
main button,main .button,dialog button,dialog .button{
 display:inline-flex;align-items:center;justify-content:center;gap:6px;
 height:auto;min-height:36px;max-width:100%;min-width:0;
 padding:7px 12px;font-size:13px;line-height:1.35;text-align:center;
 white-space:normal;overflow-wrap:anywhere;vertical-align:middle;
 border:1px solid #cdd8e8;border-radius:7px;background:#fff;color:#33445e;
 box-shadow:none;transform:none;transition:background-color .15s,color .15s,border-color .15s;
}
main button.primary,main .button.primary{background:#285ec8;border-color:#285ec8;color:#fff}
main button:not(.primary):not(.danger):not(:disabled):hover,main .button:not(.primary):not([aria-disabled=true]):hover{background:#eaf1fc;color:#183f81;border-color:#86a6d9;box-shadow:none;transform:none}
main button.primary:not(:disabled):hover,main .button.primary:not([aria-disabled=true]):hover{background:#1e4da8;border-color:#1e4da8;color:#fff;box-shadow:none;transform:none}
main button:not(:disabled):active,main .button:not([aria-disabled=true]):active{background:#dce8fa;box-shadow:none;transform:none}
main button.primary:not(:disabled):active,main .button.primary:active{background:#173e89;color:#fff}
main button:disabled,main .button[aria-disabled=true]{opacity:1;background:#edf0f5;border-color:#e0e5ed;color:#8a95a6;box-shadow:none}
button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #477fdd;outline-offset:2px}
main{padding:18px 26px}
main>header{margin-bottom:12px;gap:16px}main>header>div:first-child{min-width:0}main>header h1{font-size:26px;overflow-wrap:anywhere}main>header p{margin-top:3px}
section,.card{padding:16px;margin-top:12px;margin-bottom:12px}h2{margin-bottom:10px}h3{margin:8px 0;font-size:14px}p{margin:5px 0;line-height:1.5}
.header-actions{gap:6px 10px;grid-template-columns:minmax(170px,210px) auto}
.header-actions>label select,.workspace-tools select{appearance:none;-webkit-appearance:none;min-height:36px;height:36px;padding:7px 32px 7px 10px;font-size:13px;line-height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23536987' stroke-width='2'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}
.workspace-tools{gap:8px;padding-bottom:12px;margin-bottom:8px}.workspace-tools select{max-width:460px}
.filters{gap:10px;padding:10px 12px;margin:12px 0;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr))}
.filters input,.filters select,.photo-form input,.photo-form select{height:36px;min-height:36px;font-size:13px;padding:7px 10px;line-height:20px}
.filters select,.photo-form select{padding-right:32px}
.filters>button,.photo-form>button{height:auto;min-height:36px;padding:7px 12px;line-height:1.35;align-self:end}
.actions{align-items:center;gap:8px;margin:12px 0}.actions>label:has(input[type=checkbox]),.work-product-grid article>label{display:flex;flex-direction:row;align-items:center;gap:7px;line-height:1.35;margin:0}
.work-product-grid input[type=checkbox],#work-select-category{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;accent-color:#285ec8;cursor:pointer}
.work-product-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.work-product-grid article{padding:14px;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.work-product-grid article>small{margin-top:7px;font-size:11px}.work-product-grid article h3{font-size:14px;line-height:1.45;margin:9px 0 5px}.work-product-grid article p{font-size:12px;margin:4px 0}
.work-product-grid article>button{margin-top:auto;align-self:stretch}.work-product-grid article>p:last-of-type{margin-bottom:10px}
.work-field{padding:14px;margin:12px 0;border-radius:9px}.work-field .section-head{margin-bottom:6px;gap:10px}.work-compare{gap:14px}.work-compare pre{padding:10px;font-size:12px;max-height:200px}.work-compare textarea{min-height:80px;font-size:13px;padding:9px}.work-field .actions{margin:10px 0 0}.work-image{gap:16px;padding:12px 0;grid-template-columns:120px 1fr}.work-image img{width:120px;height:120px}
.work-field>.work-feedback{margin-top:8px}.seo-visual{padding:16px;margin:12px auto}.section-head{gap:12px;margin-bottom:10px}
@media(min-width:701px){
 aside{width:220px;padding:22px 14px}main{margin-left:220px}
 .brand{font-size:21px;padding:0 10px}.brand small{font-size:9px}.workspace-label{margin:22px 10px 10px}
 nav{gap:2px}nav button{min-height:36px;padding:8px 10px;font-size:12px;line-height:1.4}
 .nav-tools{margin:10px 0 4px;padding-top:8px}.nav-tools summary{padding:8px 10px;font-size:12px}
 .aside-bottom{padding:14px 10px 0;font-size:11px}.aside-bottom small{margin:7px 0 12px;font-size:10px}
}
@media(max-width:1050px) and (min-width:701px){main{padding:18px}.header-actions{grid-template-columns:minmax(150px,180px) auto}main>header h1{font-size:24px}}
@media(max-width:700px){
 main{padding:14px 12px;margin-left:0}main>header{gap:10px}main>header h1{font-size:23px}
 section,.card{padding:14px}.header-actions{width:100%;display:flex;gap:8px}.header-actions>label{flex:1}
 main button,main .button,.filters>button,.photo-form>button{min-height:40px;padding:9px 12px}
 .filters input,.filters select,.photo-form input,.photo-form select,.header-actions>label select,.workspace-tools select{min-height:40px;height:40px;font-size:16px}
 .filters{gap:10px;padding:10px}.actions{gap:8px}.actions>label:has(input[type=checkbox]){flex-basis:100%;min-height:32px}
 .work-product-grid{grid-template-columns:1fr;gap:10px}.work-product-grid article{padding:14px}.work-product-grid article h3{font-size:15px}
 .work-compare{grid-template-columns:1fr;gap:8px}.work-image{grid-template-columns:1fr}.work-field{padding:12px}.work-field .actions>button{flex:1 1 130px}
}
@media(prefers-reduced-motion:reduce){main button,main .button{transition:none}}
@media(min-width:1100px){#content>section:has(.work-product-grid)>.filters{grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) minmax(210px,auto);max-width:780px}#content>section:has(.work-product-grid)>.filters>button{white-space:nowrap}}

/* Paginated product rows and selection spanning all filtered results. */
.product-selection-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;background:#f1f5fc;border:1px solid #dce5f2;border-radius:8px;margin:12px 0 6px}
.product-selection-bar>label{display:flex;align-items:center;gap:8px;font-size:12px}.product-selection-bar>span{font-size:12px;color:#54647a}.product-selection-bar>.primary{margin-left:auto}
.product-list-section input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;flex:none;accent-color:#285ec8;cursor:pointer}
.product-rows{border:1px solid #dce4ef;border-radius:8px;overflow:hidden;margin-top:12px}
.product-row{display:grid;grid-template-columns:62px minmax(180px,2.5fr) minmax(75px,.75fr) minmax(110px,1fr) minmax(100px,1fr) 95px;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #e6ebf2;font-size:12px;background:#fff}
.product-row:last-child{border-bottom:0}.product-row>label{align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:30px;cursor:pointer}.product-row>div{min-width:0;overflow-wrap:anywhere}.product-row small{display:block;margin-top:3px;font-size:11px;color:#718095}.product-row strong{font-weight:600;font-size:13px;line-height:1.4}.product-row-head{background:#f5f7fb;color:#68768b;font-size:11px;font-weight:600}.product-row:not(.product-row-head):hover{background:#f7faff}.product-row.is-selected,.product-row.is-selected:hover{background:#edf4ff}.product-row button{width:100%;font-size:12px;white-space:nowrap;min-height:34px;padding:6px 9px}
.product-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:12px;color:#627087}.product-pagination>span:first-child{margin-right:auto}.product-pagination>label{display:flex;align-items:center;gap:8px;font-size:12px}.product-pagination select{min-width:64px;width:64px;height:34px;min-height:34px;padding:4px 8px}
@media(min-width:1100px){.product-list-section>.filters{grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) auto;max-width:780px}}
@media(max-width:1100px){.product-row{grid-template-columns:34px minmax(0,1fr) 85px 95px}.product-row>:nth-child(4),.product-row>:nth-child(5){display:none}}
@media(max-width:600px){.product-row{grid-template-columns:24px minmax(0,1fr) 82px;gap:8px;padding:10px 8px}.product-row>:nth-child(3){display:none}.product-row-head>:first-child{font-size:0}.product-row-head>:first-child:after{content:'✓';font-size:13px}.product-row strong{font-size:12px}.product-row small{font-size:10px}.product-row button{min-height:40px;padding:7px 6px}.product-selection-bar{gap:8px;padding:10px}.product-selection-bar>label{flex-basis:100%}.product-selection-bar>.primary{flex-basis:100%;margin:0}.product-pagination{justify-content:center;gap:8px}.product-pagination>span:first-child{flex-basis:100%;margin:0;text-align:center}.product-pagination>label{flex-basis:100%;justify-content:center}}
.product-rows{max-height:65vh;overflow-y:auto;overscroll-behavior:contain}.product-row-head{position:sticky;top:0;z-index:1}.product-rows:focus-visible{outline:2px solid #477fdd;outline-offset:2px}
/* Data-first review: compact rows, disclosure details and visible handoff. */
.handoff-top{position:relative;border-top:3px solid #285dce;padding:14px 18px}
.handoff-top h2{margin:0 0 6px;font-size:18px}.handoff-top p{margin:6px 0}
.work-field .section-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
.work-field .section-head h3{flex:1;min-width:140px;margin:0;font-size:15px}
.work-field .section-head label{margin:0;display:flex}.work-field{padding:10px 14px;margin:8px 0}
.field-details[hidden]{display:none!important}.field-details{border-top:1px solid #dae3ef;padding-top:12px;margin-top:10px}
.field-details .work-compare pre{max-height:250px;overflow:auto}.field-details .field-note{min-height:66px}
.visual-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.visual-compare>div{min-width:0}.visual-compare .seo-visual{height:360px;overflow:auto;margin:0;background:#fff}
.media-current-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin:14px 0}.media-current-data p{margin:0}.media-seo-panel{margin-top:16px;padding:18px;border:1px solid #cbd9ee;border-radius:10px;background:#f7faff}.media-seo-source{padding:10px 12px;background:#edf4ff;border-radius:7px}.media-seo-row{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1fr) minmax(0,1.25fr);gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid #dce5f2}.media-seo-row>label:first-child{font-weight:650}.media-seo-row small{display:block;margin-bottom:5px;color:#64748b;font-size:10px;font-weight:700;letter-spacing:.04em}.media-seo-row p{margin:0;white-space:pre-wrap}.media-seo-row input:not([type=checkbox]),.media-seo-row textarea{width:100%;box-sizing:border-box}.media-feedback{font-weight:600}.media-feedback:empty{display:none}
.seo-opportunity{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;align-items:start;padding:13px 15px;margin:14px 0;border:1px solid #b8d5c3;border-left:4px solid #258554;border-radius:9px;background:#f1f8f4}.seo-opportunity strong{color:#176441}.seo-opportunity span{line-height:1.5}
.keyword-opportunities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px;margin:12px 0}.keyword-opportunities article{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #dce4ef;border-radius:8px;background:#f8fafc}.keyword-opportunities span,.keyword-opportunities small{font-size:12px;color:#536987}
.category-sync{border-left:4px solid #285ec8}
#content progress{width:min(480px,80%);height:14px;accent-color:#285dce}
#content>.work-image, .work-image{max-height:400px;overflow:auto}
.category-analysis-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid #dae3ef;padding:10px 0}
.category-analysis-row strong{flex:1}.category-analysis-row span{font-size:13px;color:#526886}
#data-stages details{max-height:320px;overflow:auto}
@media(max-width:600px){.work-field .section-head{gap:7px}.work-field .section-head .badge{font-size:11px}.category-analysis-row{flex-wrap:wrap}.category-analysis-row strong{flex-basis:100%}.visual-compare{grid-template-columns:1fr}.visual-compare .seo-visual{height:300px}.seo-opportunity{grid-template-columns:1fr}}
@media(max-width:700px){.media-current-data{grid-template-columns:1fr}.media-seo-row{grid-template-columns:1fr}.media-seo-panel{padding:14px}}
.version-update{position:fixed;z-index:10000;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px;border:1px solid #9bb8e7;border-radius:9px;background:#edf4ff;color:#173f80;box-shadow:0 8px 24px #152c4d33;font:600 13px/1.4 system-ui,sans-serif}.version-update button{padding:7px 11px;border:0;border-radius:7px;background:#285ec8;color:#fff;font-weight:700;white-space:nowrap;cursor:pointer}
