:root{
  --bg:#f6f1ec;--surface:#fffdfa;--ink:#211d1a;--muted:#6f655e;
  --primary:#7b3f2c;--primary-dark:#5e2f22;--line:#e8ddd4;
  --success:#2f6b4f;--warning:#9a651d;--danger:#9d2f2f;
  --shadow:0 18px 50px rgba(54,36,25,.09);--radius:22px;
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
body{margin:0;min-height:100vh}
a{color:inherit}
.site-header{height:72px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(246,241,236,.92);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;letter-spacing:-.02em}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--primary);color:white;font-size:.8rem;letter-spacing:.08em}
.header-note{color:var(--muted);font-size:.92rem}
.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:64px 0 80px}
.page.narrow{width:min(760px,calc(100% - 28px))}
.centered-page{min-height:100vh;display:grid;place-items:center;padding-top:30px}
.hero{padding:56px 0 72px;max-width:900px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:var(--primary);margin-bottom:14px}
h1,h2,p{margin-top:0}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.5rem,7vw,5.8rem);line-height:.98;letter-spacing:-.045em;margin-bottom:24px}
.form-card h1,.dashboard-head h1{font-size:clamp(2.2rem,6vw,4.2rem)}
h2{font-size:1.2rem}
.lead{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65;color:var(--muted);max-width:720px}
.muted{color:var(--muted);line-height:1.6}
.small{font-size:.9rem}
.hero-actions,.stack{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.button{border:0;border-radius:999px;padding:14px 22px;font-weight:750;font-size:.96rem;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;transition:.2s ease}
.button:hover{transform:translateY(-1px)}
.button.primary{background:var(--primary);color:white}
.button.primary:hover{background:var(--primary-dark)}
.button.secondary{background:transparent;border:1px solid var(--line)}
.button.ghost{background:white;border:1px solid var(--line)}
.button.compact{padding:10px 16px}
.button.full{width:100%;margin-top:20px}
.legal-note{font-size:.82rem;color:var(--muted);margin-top:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-card,.support-card,.form-card,.table-card,.stat-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
.info-card{padding:28px}
.info-card>span{font-size:.78rem;color:var(--primary);font-weight:800}
.info-card h2{margin-top:32px;margin-bottom:10px}
.info-card p{color:var(--muted);line-height:1.6;margin-bottom:0}
.support-card{margin-top:22px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.text-link{color:var(--primary);font-weight:800;text-decoration:none}
.site-footer{text-align:center;padding:30px;color:var(--muted);font-size:.85rem}
.progress-shell{height:7px;background:#eadfd7;border-radius:999px;overflow:hidden;margin-bottom:18px}
.progress-bar{height:100%;background:var(--primary);transition:width .3s ease}
.form-card{padding:clamp(24px,5vw,46px)}
fieldset{border:0;padding:0;margin:0 0 42px}
legend{font-size:1.15rem;font-weight:800;margin-bottom:20px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.span-2{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:8px;font-size:.92rem;font-weight:700}
label.block{margin-top:18px}
input,select,textarea{width:100%;border:1px solid #d9ccc2;background:white;color:var(--ink);border-radius:14px;padding:14px 15px;font:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(123,63,44,.12)}
textarea{resize:vertical}
.question-list{display:grid;gap:16px}
.question-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}
.question-card p{font-weight:750;line-height:1.45;margin-bottom:14px}
.scale{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.scale label{font-weight:600;font-size:.84rem}
.scale input{position:absolute;opacity:0}
.scale span{border:1px solid var(--line);border-radius:12px;padding:11px 8px;text-align:center;cursor:pointer}
.scale input:checked+span{background:var(--primary);border-color:var(--primary);color:white}
.check-row{flex-direction:row;align-items:flex-start;gap:12px;margin:18px 0}
.check-row input{width:auto;margin-top:3px}
.message,.notice{border-radius:14px;padding:14px 16px;line-height:1.5;margin:16px 0}
.message.error,.notice.danger{background:#f9eaea;color:var(--danger)}
.message.success{background:#eaf4ee;color:var(--success)}
.notice.warning{background:#fff3df;color:#775015}
.success-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#eaf4ee;color:var(--success);font-size:2rem;margin:0 auto 24px}
.center{text-align:center}
.center .stack{justify-content:center}
.admin-login{max-width:520px;margin:40px auto}
.admin-login form{display:grid;gap:18px}
.dashboard-head,.table-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}
.stat-card{padding:24px}
.stat-card span{display:block;color:var(--muted);font-size:.86rem;margin-bottom:14px}
.stat-card strong{font-family:Georgia,serif;font-size:2.6rem;font-weight:500}
.table-card{padding:24px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:780px}
th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top}
th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:820px){
  .grid-3,.stats-grid{grid-template-columns:1fr 1fr}
  .hero{padding-top:32px}
}
@media(max-width:620px){
  .site-header{height:64px;padding:0 16px}
  .header-note{display:none}
  .page{padding-top:34px}
  .grid-3,.stats-grid,.field-grid{grid-template-columns:1fr}
  .span-2{grid-column:auto}
  .support-card,.dashboard-head,.table-head{align-items:flex-start;flex-direction:column}
  .scale{grid-template-columns:1fr}
  h1{font-size:2.7rem}
}
.axis-heading{margin:26px 0 4px;font-size:1.05rem;color:var(--primary)}
.axis-heading:first-child{margin-top:0}
.scale-2{grid-template-columns:repeat(2,1fr)}
.tracking-panel{border-top:1px solid var(--line);padding-top:26px;margin-top:28px}
.tracking-panel h2{margin-bottom:8px}
.tracking-grid{display:grid;gap:14px}
.tracking-grid .question-card{margin:0}
@media(max-width:620px){.scale-2{grid-template-columns:repeat(2,1fr)}}

.progress-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:9px;color:var(--muted);font-size:.84rem;font-weight:750}
.form-step[hidden]{display:none}
.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.step-actions .button{min-width:145px}
.privacy-card{margin-top:22px;padding:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
.privacy-card h2{margin-bottom:10px}
.privacy-card p{margin:0;color:var(--muted);line-height:1.65;max-width:850px}
@media(max-width:620px){.step-actions{flex-direction:column-reverse}.step-actions .button{width:100%}}

[hidden]{display:none!important}

.header-actions{display:flex;align-items:center;gap:10px}
.axis-bullets{margin:10px 0 0;padding-left:22px}
.axis-bullets li{margin:7px 0;font-weight:800}
.axis-bullets.large{font-size:1.08rem}
.stats-grid-wide{grid-template-columns:repeat(4,1fr)}
.dashboard-grid,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.bar-list{display:grid;gap:16px}.bar-item>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.bar-track{height:9px;background:#eadfd7;border-radius:99px;overflow:hidden}.bar-track span{display:block;height:100%;background:var(--primary)}
.insight-list{display:grid;gap:10px}.insight-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;line-height:1.45}
.search-input{max-width:300px}.clickable-row{cursor:pointer}.clickable-row:hover{background:#fbf5f0}
.key-values{display:grid;gap:12px}.key-values>div{display:grid;grid-template-columns:150px 1fr;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.key-values span{color:var(--muted)}
.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-score{border:1px solid var(--line);border-radius:15px;padding:16px;display:grid;gap:7px}.mini-score strong{font-size:1.7rem}.mini-score small{color:var(--muted)}
.answer-groups details{border:1px solid var(--line);border-radius:14px;margin-top:12px;padding:14px;background:#fff}.answer-groups summary{font-weight:800;cursor:pointer}.answer-list{list-style:none;padding:0;margin:12px 0 0}.answer-list li{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid var(--line)}.answer-list span{line-height:1.4}
.actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.action-card{border:1px solid var(--line);border-radius:16px;padding:18px}.action-card li{margin:10px 0;line-height:1.45}
@media(max-width:900px){.stats-grid-wide{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-grid,.actions-grid{grid-template-columns:1fr}.score-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.header-actions .button{padding:9px 12px}.stats-grid-wide,.score-grid{grid-template-columns:1fr}.key-values>div{grid-template-columns:1fr}.search-input{max-width:none;width:100%}}

.field-help{display:block;margin-top:7px;color:var(--muted);font-size:.88rem;line-height:1.4}

.session-picker{display:grid;gap:4px;font-size:.8rem;color:var(--muted);font-weight:700}
.session-picker select{min-width:230px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}
@media(max-width:700px){.session-picker select{min-width:0;width:100%}.dashboard-head .stack{width:100%}}
