*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171717;background:#f3f4f6}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.app{max-width:1500px;margin:0 auto;padding:20px}.topbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}h1{margin:0;font-size:clamp(1.5rem,3vw,2.25rem)}.subtitle{margin:4px 0 0;color:#666}.scores{display:flex;gap:18px;padding:10px 14px;background:#fff;border:1px solid #ddd;border-radius:10px;white-space:nowrap}.scores strong{font-variant-numeric:tabular-nums}.dashboard{display:grid;grid-template-columns:minmax(320px,500px) 1fr;gap:18px;align-items:start}.compass-card,.quiz-card{background:#fff;border:1px solid #ddd;border-radius:14px;box-shadow:0 4px 18px rgba(0,0,0,.05)}.compass-card{padding:18px;position:sticky;top:18px}.compass-wrap{max-width:440px;margin:auto}#compass{display:block;width:100%;height:auto}.q-red{fill:rgb(255,117,117)}.q-blue{fill:rgb(66,170,255)}.q-green{fill:rgb(154,237,151)}.q-yellow{fill:rgb(245,244,113)}.q-purple{fill:rgb(192,154,236)}.axis{stroke:rgba(0,0,0,.3);stroke-width:.35}#indicator{fill:red;stroke:#000;stroke-width:.3}.labels{display:grid;gap:3px;margin:9px 0 14px;color:#666;text-align:center;font-size:.82rem}.controls{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.controls button{border:1px solid #ccc;background:#fff;border-radius:8px;padding:9px 10px}.controls button:hover{background:#f4f4f4}.controls .primary{grid-column:1/-1;background:#1d4ed8;color:#fff;border-color:#1d4ed8}.status{min-height:1.2em;text-align:center;color:#555;font-size:.85rem;margin:10px 0 0}.quiz-card{overflow:hidden}.quiz-header{position:sticky;top:0;z-index:2;background:#fff;padding:14px 18px;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;gap:15px;align-items:center}.progress{width:min(420px,45vw);height:7px;background:#e8e8e8;border-radius:99px;margin-top:7px;overflow:hidden}#progressBar{height:100%;width:0;background:#1d4ed8;transition:width .2s}.completion{color:#666;font-size:.9rem;white-space:nowrap}.question{padding:20px 22px;border:0;border-bottom:1px solid #eee;margin:0}.question:last-child{border-bottom:0}.question legend{width:100%;font-weight:650;line-height:1.45;margin-bottom:13px}.answers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.answer{position:relative;display:block;border:1px solid #ccc;border-radius:9px;padding:10px;min-height:44px;cursor:pointer;text-align:center;background:#fafafa;transition:.12s}.answer:hover{border-color:#888;background:#f5f5f5}.answer input{position:absolute;opacity:0;pointer-events:none}.answer:has(input:focus-visible){outline:3px solid rgba(29,78,216,.25);outline-offset:2px}.answer.selected{border-color:#1d4ed8;background:#eaf0ff;box-shadow:inset 0 0 0 1px #1d4ed8}@media(max-width:900px){.dashboard{grid-template-columns:1fr}.compass-card{position:static}.compass-wrap{max-width:420px}}@media(max-width:620px){.app{padding:10px}.topbar{align-items:start;flex-direction:column}.scores{width:100%;justify-content:space-between}.answers{grid-template-columns:1fr 1fr}.question{padding:16px}.quiz-header{flex-direction:column;align-items:stretch}.progress{width:100%}}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px 8px}.page-heading h2{margin:0;font-size:1.35rem}.page-heading span{color:#666;font-size:.9rem}.page-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 22px;border-top:1px solid #eee;background:#fafafa}.page-nav button{border:1px solid #ccc;background:#fff;border-radius:8px;padding:10px 16px}.page-nav button.primary{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.page-nav button:disabled{opacity:.45;cursor:not-allowed}.page-nav-hint{text-align:center;color:#777;font-size:.86rem}@media(max-width:620px){.page-heading{align-items:flex-start;flex-direction:column}.page-nav{grid-template-columns:1fr 1fr}.page-nav-hint{grid-column:1/-1;grid-row:2}}

/* Quiz-only layout */
.quiz-app{max-width:1050px}.simple-topbar{align-items:flex-start}.quiz-only-card{width:100%}.identity-panel{padding:18px 22px;border-bottom:1px solid #eee;background:#fafafa}.identity-panel label{display:block;font-weight:650;margin-bottom:7px}.identity-panel input{width:min(100%,420px);padding:11px 12px;border:1px solid #bbb;border-radius:8px;background:#fff}.identity-panel input:focus{outline:3px solid rgba(29,78,216,.18);border-color:#1d4ed8}.field-help{margin:6px 0 0;color:#666;font-size:.86rem}.quiz-tools{display:flex;align-items:center;gap:8px;padding:12px 22px;border-top:1px solid #eee;background:#fff;flex-wrap:wrap}.quiz-tools button{border:1px solid #ccc;background:#fff;border-radius:8px;padding:8px 12px}.quiz-tools .status{margin:0 0 0 auto;min-height:0;text-align:right}.page-nav button.primary{font-weight:650}

/* Results page */
.results-app{max-width:1100px;padding-top:42px}.results-header{text-align:center;margin-bottom:24px}.results-header h1{font-size:clamp(2rem,5vw,3.2rem)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;color:#666;margin:0 0 7px}.results-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:20px;align-items:start}.result-compass-card,.result-summary-card{background:#fff;border:1px solid #ddd;border-radius:14px;box-shadow:0 4px 18px rgba(0,0,0,.05);padding:20px}.result-compass-wrap{max-width:650px}.result-summary-card h2{margin-top:0}.result-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.result-score-grid>div{border:1px solid #ddd;border-radius:10px;padding:14px;background:#fafafa}.result-score-grid span{display:block;color:#666;font-size:.86rem;margin-bottom:4px}.result-score-grid strong{font-size:1.8rem;font-variant-numeric:tabular-nums}.quadrant-text{font-weight:650;line-height:1.5;margin:18px 0}.result-actions{display:grid;gap:8px}.result-actions button{border:1px solid #ccc;background:#fff;border-radius:8px;padding:10px 12px}.result-actions button:last-child{background:#1d4ed8;color:#fff;border-color:#1d4ed8}@media(max-width:780px){.results-layout{grid-template-columns:1fr}.quiz-tools .status{width:100%;margin-left:0;text-align:left}}

/* Question spacing + validation */
.question{padding-top:28px;padding-bottom:24px}.question legend{margin-bottom:8px}.question+.question{margin-top:6px}.missing-question{background:#fff8f8;box-shadow:inset 3px 0 0 #b42318}.missing-question legend{color:#8a1c13}

.save-status { margin: 14px 0; padding: 10px 12px; border-radius: 8px; background: #f3f4f6; color: #444; font-size: .9rem; }
.save-status.save-error { background: #fff1f1; color: #8b1e1e; }
.button-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: #171717; border: 1px solid #ccc; background: #fff; border-radius: 8px; padding: 9px 10px; }
.button-link:hover { background: #f4f4f4; }

/* Private admin page */
.admin-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.admin-card {
  width: min(100%, 480px);
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(0,0,0,.06);
  padding: 28px;
}
.admin-login {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}
.admin-login label { font-weight: 650; }
.admin-login input {
  width: 100%;
  border: 1px solid #bbb;
  border-radius: 8px;
  padding: 11px 12px;
  background: #fff;
}
.admin-login input:focus {
  outline: 2px solid #1d4ed8;
  outline-offset: 1px;
}
.admin-login button,
.admin-panel button {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 10px 12px;
  cursor: pointer;
}
.admin-login .primary,
.admin-panel .primary {
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #fff;
}
.admin-panel { margin-top: 22px; }

/* Language switcher */
.language-toggle{margin-left:auto;border:1px solid #bbb;background:#fff;border-radius:999px;padding:9px 15px;font-weight:650;white-space:nowrap}.language-toggle:hover{background:#f4f4f4}.results-header{position:relative}.results-language-toggle{position:absolute;right:0;top:0}@media(max-width:620px){.simple-topbar{flex-direction:row;align-items:flex-start}.language-toggle{margin-left:auto}.results-language-toggle{position:static;display:block;margin:0 0 16px auto}}
