@font-face{font-family:"Vazirmatn FD";src:url("../fonts/Vazirmatn-UI-FD-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Vazirmatn FD";src:url("../fonts/Vazirmatn-UI-FD-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Vazirmatn FD";src:url("../fonts/Vazirmatn-UI-FD-Bold.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  color-scheme:light;
  --bg:#f3f5f2; --surface:#ffffff; --surface-2:#f1f4f0; --line:#e0e5de; --line-2:#c8cfc5;
  --ink:#14191a; --ink-2:#4a5350; --ink-3:#7c8581;
  --brand:#14774a; --brand-ink:#ffffff; --brand-soft:#e3f2e9; --brand-2:#0d5a37;
  --accent:#c8102e; --accent-soft:#fbe8eb;
  --flag-g:#239f40; --flag-w:#ffffff; --flag-r:#da0000;
  --hero-1:#0b4a2b; --hero-2:#14774a; --hero-ink:#ffffff; --hero-ink-2:rgba(255,255,255,.78);
  --ok:#0f7a37; --ok-soft:#e3f3e8; --warn:#8a5a00; --warn-soft:#fbf1dc; --err:#b42525; --err-soft:#fbe6e6;
  --radius:12px; --shadow:0 1px 2px rgba(16,24,20,.06),0 2px 8px rgba(16,24,20,.04); --shadow-lg:0 12px 40px rgba(10,40,25,.14);
  --c-series:#1f8a55; --c-grid:#e1e4df; --c-axis:#858c88;
  --lk-1:#b8403e; --lk-2:#eb9f9c; --lk-3:#d3d2cc; --lk-4:#86b6ef; --lk-5:#1c5cab;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
  color-scheme:dark;
  --bg:#0c110e; --surface:#151b18; --surface-2:#1c2420; --line:#27302b; --line-2:#3a4540;
  --ink:#eef2ef; --ink-2:#bcc6c0; --ink-3:#86918b;
  --brand:#3dbb78; --brand-ink:#04140b; --brand-soft:#123023; --brand-2:#7ad8a6;
  --accent:#ff5a67; --accent-soft:#3a1519;
  --flag-g:#2bb34d; --flag-w:#e9ece9; --flag-r:#e0202a;
  --hero-1:#06180f; --hero-2:#0d3a24; --hero-ink:#f1f5f2; --hero-ink-2:rgba(241,245,242,.72);
  --ok:#3fbf6a; --ok-soft:#14261b; --warn:#e2b04a; --warn-soft:#2b2412; --err:#ef7070; --err-soft:#2d1616;
  --shadow:0 1px 2px rgba(0,0,0,.4); --shadow-lg:0 12px 40px rgba(0,0,0,.45);
  --c-series:#3dbb78; --c-grid:#2a322e; --c-axis:#8a938e;
  --lk-1:#d25a58; --lk-2:#8c4a48; --lk-3:#55554f; --lk-4:#3f6ea6; --lk-5:#6da7ec;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0c110e; --surface:#151b18; --surface-2:#1c2420; --line:#27302b; --line-2:#3a4540;
  --ink:#eef2ef; --ink-2:#bcc6c0; --ink-3:#86918b;
  --brand:#3dbb78; --brand-ink:#04140b; --brand-soft:#123023; --brand-2:#7ad8a6;
  --accent:#ff5a67; --accent-soft:#3a1519;
  --flag-g:#2bb34d; --flag-w:#e9ece9; --flag-r:#e0202a;
  --hero-1:#06180f; --hero-2:#0d3a24; --hero-ink:#f1f5f2; --hero-ink-2:rgba(241,245,242,.72);
  --ok:#3fbf6a; --ok-soft:#14261b; --warn:#e2b04a; --warn-soft:#2b2412; --err:#ef7070; --err-soft:#2d1616;
  --shadow:0 1px 2px rgba(0,0,0,.4); --shadow-lg:0 12px 40px rgba(0,0,0,.45);
  --c-series:#3dbb78; --c-grid:#2a322e; --c-axis:#8a938e;
  --lk-1:#d25a58; --lk-2:#8c4a48; --lk-3:#55554f; --lk-4:#3f6ea6; --lk-5:#6da7ec;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Vazirmatn FD",Tahoma,system-ui,sans-serif;font-size:15px;line-height:1.75}
a{color:var(--brand)}
h1,h2,h3{line-height:1.4;margin:0 0 .6em}
h1{font-size:1.45rem} h2{font-size:1.15rem} h3{font-size:1rem}
.wrap{max-width:1080px;margin-inline:auto;padding-inline:16px}
.main{padding-block:24px 40px;min-height:70vh}
.foot{color:var(--ink-3);font-size:.8rem;padding-block:16px 28px;text-align:center}

.topbar{background:var(--surface);border-bottom:1px solid var(--line)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--brand);color:var(--brand-ink)}
.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nav a{color:var(--ink-2);text-decoration:none;padding:6px 10px;border-radius:8px}
.nav a.on,.nav a:hover{background:var(--brand-soft);color:var(--brand-2)}
.nav-user{color:var(--ink-3);font-size:.85rem;padding-inline:8px;border-inline-start:1px solid var(--line)}
.inline{display:inline}
.linkbtn{background:none;border:0;color:var(--err);font:inherit;cursor:pointer;padding:6px 8px}
.privacy-pill{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--ok);background:var(--ok-soft);padding:4px 10px;border-radius:99px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:18px}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.card-h h2,.card-h h3{margin:0}
.muted{color:var(--ink-3)} .small{font-size:.85rem}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.stack>*+*{margin-top:14px}

.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px;border:1px solid transparent}
.alert-ok{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}
.alert-err{background:var(--err-soft);color:var(--err);border-color:color-mix(in srgb,var(--err) 25%,transparent)}
.alert-warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 25%,transparent)}
.alert-info{background:var(--brand-soft);color:var(--brand-2)}

label.f{display:block;font-weight:500;margin-bottom:4px}
.field{margin-bottom:14px}
.hint{font-size:.8rem;color:var(--ink-3);margin-top:3px}
input[type=text],input[type=password],input[type=number],select,textarea{
  width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:9px 11px}
textarea{min-height:110px;resize:vertical;line-height:1.9}
textarea.code{font-size:.9rem;min-height:380px}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:1px;border-color:var(--brand)}
input.ltr{direction:ltr;text-align:left}
.check{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;cursor:pointer}
.check input{margin-top:6px;accent-color:var(--brand)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:500;border-radius:8px;border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink);padding:8px 16px;cursor:pointer;text-decoration:none;line-height:1.6}
.btn:hover{background:var(--surface-2)}
.btn-p{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn-p:hover{background:var(--brand-2);border-color:var(--brand-2)}
.btn-d{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,transparent)}
.btn-d:hover{background:var(--err-soft)}
.btn-sm{padding:4px 10px;font-size:.85rem}
.btn-lg{padding:11px 22px;font-size:1.02rem}
.btn-block{width:100%}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

table.t{width:100%;border-collapse:collapse;font-size:.92rem}
table.t th,table.t td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}
table.t th{color:var(--ink-2);font-weight:500;background:var(--surface-2)}
table.t td.num,table.t th.num{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
.tscroll{overflow-x:auto}
.badge{display:inline-block;font-size:.78rem;padding:2px 9px;border-radius:99px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.badge.open{background:var(--ok-soft);color:var(--ok)}
.badge.closed{background:var(--err-soft);color:var(--err)}
.badge.draft{background:var(--warn-soft);color:var(--warn)}

/* ---------- Login ---------- */
.login-box{max-width:440px;margin:24px auto}
.tabs{display:flex;background:var(--surface-2);border-radius:9px;padding:4px;margin-bottom:18px}
.tabs button{flex:1;border:0;background:none;font:inherit;padding:8px;border-radius:7px;cursor:pointer;color:var(--ink-2)}
.tabs button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:500}
.tab-panel[hidden]{display:none}
.code-input{direction:ltr;text-align:center;letter-spacing:.25em;font-size:1.3rem !important;text-transform:uppercase}

/* ---------- Survey ---------- */
.intro{white-space:pre-line}
.progress{position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0}
.progress-bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;border:1px solid var(--line)}
.progress-bar span{display:block;height:100%;width:0;background:var(--brand);transition:width .25s}
.progress-txt{font-size:.82rem;color:var(--ink-2);margin-top:4px;display:flex;justify-content:space-between}
.dim{margin-bottom:22px}
.dim-title{font-size:1rem;font-weight:700;color:var(--brand-2);margin:0 0 8px;padding:10px 14px;background:var(--brand-soft);border-radius:8px}
.lk-head,.lk-row{display:grid;grid-template-columns:38px 1fr repeat(var(--n,5),78px);align-items:center;gap:0}
.lk-head{font-size:.74rem;color:var(--ink-2);text-align:center;line-height:1.4;padding:6px 0;border-bottom:1px solid var(--line)}
.lk-head span:nth-child(2){text-align:right}
.lk-row{padding:8px 0;border-bottom:1px solid var(--line)}
.lk-row.missing{background:var(--err-soft);border-radius:6px}
.lk-num{color:var(--ink-3);text-align:center;font-size:.85rem}
.lk-q{padding-inline-end:12px}
.lk-opt{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:4px 0}
.lk-opt input{width:20px;height:20px;accent-color:var(--brand);cursor:pointer;margin:0}
.lk-opt .lk-l{display:none}
.demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.submit-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

@media (max-width:760px){
  .lk-head{display:none}
  .lk-row{grid-template-columns:30px 1fr;padding:12px 0}
  .lk-opts{grid-column:1/-1;display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:4px;margin-top:8px}
  .lk-opt{border:1px solid var(--line);border-radius:8px;padding:6px 2px;background:var(--surface)}
  .lk-opt .lk-l{display:block;font-size:.68rem;text-align:center;line-height:1.35;margin-top:4px;color:var(--ink-2)}
  .lk-opt:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
}
@media (min-width:761px){ .lk-opts{display:contents} }

/* ---------- Admin / Report ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.kpi .k-l{font-size:.82rem;color:var(--ink-2)}
.kpi .k-v{font-size:1.7rem;font-weight:700;line-height:1.3}
.kpi .k-s{font-size:.78rem;color:var(--ink-3)}
.lvl{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:500;padding:1px 8px;border-radius:99px}
.lvl::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.lvl-high{color:var(--ok);background:var(--ok-soft)} .lvl-mid{color:var(--warn);background:var(--warn-soft)} .lvl-low{color:var(--err);background:var(--err-soft)}
.chart-box{position:relative;width:100%}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.filters .field{margin:0;min-width:170px;flex:1}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-2);margin-bottom:8px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-inline-end:5px}
.heat td.hc{text-align:center;font-variant-numeric:tabular-nums;font-weight:500}
.hidden-cell{color:var(--ink-3);font-size:.8rem}
.codes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;direction:ltr}
.codes-list div{border:1px dashed var(--line-2);border-radius:6px;padding:10px;text-align:center;font-family:ui-monospace,Consolas,monospace;font-size:1.05rem;letter-spacing:.08em}
.demo-field{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:10px;background:var(--surface-2)}
.demo-field .row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
details.help{background:var(--surface-2);border-radius:8px;padding:10px 14px;margin-bottom:14px}
details.help summary{cursor:pointer;font-weight:500}
pre.sample{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px;white-space:pre-wrap;font-family:inherit;font-size:.85rem}
.danger-zone{border-color:color-mix(in srgb,var(--err) 35%,transparent)}

@media print{
  .topbar,.foot,.no-print,.filters,.nav{display:none !important}
  body{background:#fff;color:#000}
  .card{box-shadow:none;break-inside:avoid;border-color:#ccc}
  .wrap{max-width:none}
}
.qgrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:860px){.qgrid{grid-template-columns:1fr}}
.heat td:first-child,.heat th:first-child{min-width:190px}
.heat th.small{min-width:92px}
.qtext{min-width:340px}
input.ltr,.code-input,input[type=password]{font-family:Consolas,"Segoe UI",Tahoma,ui-monospace,monospace}

/* ============ v1.2 identity: Iran flag + day/night ============ */
.flag-stripe{display:flex;flex-direction:column;height:6px}
.flag-stripe i{flex:1;display:block}
.flag-stripe i:nth-child(1){background:var(--flag-g)} .flag-stripe i:nth-child(2){background:var(--flag-w)} .flag-stripe i:nth-child(3){background:var(--flag-r)}
.topbar{position:relative;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2)}
.topbar-end{display:flex;align-items:center;gap:10px}
.brand{gap:12px}
.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:inset 0 -3px 0 var(--accent)}
.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:8px}
.brand-txt{display:flex;flex-direction:column;line-height:1.35}
.brand-txt small{font-weight:400;color:var(--ink-3);font-size:.75rem}
.theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.theme-toggle:hover{color:var(--brand);transform:rotate(-12deg)}
.theme-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.theme-toggle .t-sun{display:none} .theme-toggle .t-moon{display:inline-flex}
:root[data-theme="dark"] .theme-toggle .t-sun{display:inline-flex}
:root[data-theme="dark"] .theme-toggle .t-moon{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme-toggle .t-sun{display:inline-flex}
  :root:not([data-theme="light"]) .theme-toggle .t-moon{display:none}
}
.privacy-pill{padding:5px 11px}
.ic{flex:none;vertical-align:middle}
body{transition:background-color .25s}
.card{border-radius:var(--radius)}
.btn-p{box-shadow:0 1px 0 rgba(0,0,0,.08),inset 0 -2px 0 rgba(0,0,0,.12)}
.nav a.on{background:var(--brand-soft);color:var(--brand-2)}

/* ---------- Login ---------- */
.page-login .foot{padding-top:10px}
.main-login{padding:0}
.login-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:calc(100vh - 72px)}
.login-hero{position:relative;overflow:hidden;color:var(--hero-ink);background:radial-gradient(120% 90% at 85% 10%,var(--hero-2) 0%,var(--hero-1) 70%);display:flex;align-items:center}
.hero-pattern{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='white' stroke-opacity='.10' stroke-width='1'%3E%3Crect x='22' y='22' width='28' height='28'/%3E%3Crect x='22' y='22' width='28' height='28' transform='rotate(45 36 36)'/%3E%3Ccircle cx='36' cy='36' r='7'/%3E%3Cpath d='M0 0l14 14M72 0L58 14M0 72l14-14M72 72L58 58'/%3E%3C/g%3E%3C/svg%3E");background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.25));-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.25))}
.hero-inner{position:relative;z-index:1;width:100%;max-width:560px;margin-inline:auto;padding:48px 36px 64px}
.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;padding:5px 12px;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:var(--hero-ink)}
.hero-title{font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.35;margin:16px 0 10px;font-weight:700;letter-spacing:-.01em}
.hero-text{color:var(--hero-ink-2);margin:0 0 26px;max-width:46ch}
.hero-person{display:flex;align-items:center;gap:18px;margin:0 0 26px;padding:14px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);max-width:440px}
.hero-photo{flex:none;width:108px;height:128px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.12);box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 6px var(--flag-r),0 10px 24px rgba(0,0,0,.3);margin:6px}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero-photo-ph{display:grid;place-items:center;width:100%;height:100%;color:rgba(255,255,255,.6)}
.hero-person figcaption{display:flex;flex-direction:column;line-height:1.6}
.hero-person .hp-label{font-size:.72rem;color:var(--hero-ink-2)}
.hero-person b{font-size:1.2rem}
.hero-person figcaption span:last-child:not(.hp-label){color:var(--hero-ink-2);font-size:.9rem}
.hero-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hero-points li{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--hero-ink-2)}
.hero-points .ic{color:#fff;background:rgba(255,255,255,.12);border-radius:8px;padding:6px;box-sizing:content-box}
.hero-flag{position:absolute;inset-inline:0;bottom:0;height:9px;display:flex;flex-direction:column}
.hero-flag i{flex:1} .hero-flag i:nth-child(1){background:var(--flag-g)} .hero-flag i:nth-child(2){background:var(--flag-w)} .hero-flag i:nth-child(3){background:var(--flag-r)}
.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--bg)}
.login-card{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px 28px;box-shadow:var(--shadow-lg);position:relative}
.login-card::before{content:"";position:absolute;inset-inline:28px;top:-1px;height:6px;border-radius:0 0 4px 4px;background:linear-gradient(to bottom,var(--flag-g) 0 33.4%,var(--flag-w) 33.4% 66.7%,var(--flag-r) 66.7%)}
.login-card-h h2{font-size:1.35rem;margin:0 0 4px}
.login-card-h p{color:var(--ink-3);font-size:.88rem;margin:0 0 20px}
.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.tabs button.on{color:var(--brand-2)}
.input-ic{position:relative}
.input-ic .ic{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}
.input-ic input{padding-inline-start:40px;height:46px}
.page-login .btn-lg{height:48px}
.code-input{height:54px}
.login-note{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;color:var(--ink-3);margin:18px 0 0;padding-top:16px;border-top:1px dashed var(--line-2)}
.login-note .ic{color:var(--ok);margin-top:3px}
@media (max-width:900px){
  .login-shell{grid-template-columns:1fr;min-height:0}
  .hero-inner{padding:30px 20px 40px}
  .hero-points{display:none}
  .hero-person{margin-bottom:6px}
  .login-panel{padding:24px 16px 10px}
}

/* ---------- Survey hero ---------- */
.survey-hero{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;overflow:hidden;position:relative}
.survey-hero .sh-photo{width:120px;height:140px;border-radius:14px;overflow:hidden;box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--brand),0 8px 20px rgba(0,0,0,.15);margin:6px}
.survey-hero .sh-photo img{width:100%;height:100%;object-fit:cover;display:block}
.survey-hero .sh-cap{font-size:.85rem;color:var(--ink-2);margin-top:4px}
.survey-hero::after{content:"";position:absolute;inset-inline:0;bottom:0;height:6px;background:linear-gradient(to bottom,var(--flag-g) 0 33.4%,var(--flag-w) 33.4% 66.7%,var(--flag-r) 66.7%)}
@media (max-width:600px){.survey-hero{grid-template-columns:1fr;text-align:center}.survey-hero .sh-photo{margin:6px auto}}

/* ---------- Branding admin ---------- */
.img-slot{display:flex;gap:14px;align-items:center;padding:12px;border:1px dashed var(--line-2);border-radius:10px;background:var(--surface-2)}
.img-slot img{width:84px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.img-slot img.logo{width:64px;height:64px;object-fit:contain;background:#fff}
.img-slot .empty{width:84px;height:96px;display:grid;place-items:center;border-radius:8px;background:var(--surface);color:var(--ink-3);font-size:.75rem;text-align:center}
input[type=file]{font:inherit;font-size:.85rem;max-width:100%}
@media (max-width:520px){.privacy-pill{display:none}.brand-txt b{font-size:.92rem}}
