:root {
  --ink: #122132;
  --muted: #5c6977;
  --blue: #123d68;
  --blue-dark: #0b2948;
  --blue-soft: #eaf1f7;
  --lime: #a8cf45;
  --lime-dark: #73951c;
  --surface: #ffffff;
  --surface-alt: #f3f6f9;
  --line: #d8e0e8;
  --danger: #a72a34;
  --danger-bg: #fff1f2;
  --shadow: 0 20px 55px rgba(11, 41, 72, .10);
  --radius: 18px;
  --radius-small: 11px;
  --shell: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--surface); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.shell { width: min(var(--shell), calc(100% - 40px)); margin-inline: auto; }
.shell.medium { width: min(820px, calc(100% - 40px)); }
.shell.narrow { width: min(520px, calc(100% - 40px)); }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.95); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(216,224,232,.9); }
.nav-wrap { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); }
.brand:hover { text-decoration: none; }
.brand-mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: var(--blue); color: #fff; font-weight: 800; letter-spacing: -.03em; box-shadow: inset 0 -4px 0 var(--lime); }
.brand strong, .brand small { display: block; }
.brand strong { line-height: 1.1; }
.brand small { color: var(--muted); font-size: .72rem; margin-top: 3px; }
.nav-actions { display: flex; align-items: center; gap: 18px; font-weight: 650; }
.inline-form { display: inline; margin: 0; }
.link-button { border: 0; background: none; padding: 0; color: var(--blue); font-weight: 650; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 1px solid var(--blue); border-radius: 12px; background: var(--blue); color: #fff; font-weight: 750; letter-spacing: -.01em; box-shadow: 0 8px 22px rgba(18,61,104,.16); transition: transform .15s ease, background .15s ease, box-shadow .15s ease; }
.button:hover { text-decoration: none; transform: translateY(-1px); background: var(--blue-dark); box-shadow: 0 12px 30px rgba(18,61,104,.22); }
.button-secondary { color: var(--blue); background: #fff; box-shadow: none; }
.button-secondary:hover { background: var(--blue-soft); color: var(--blue-dark); }
.button-small { min-height: 38px; padding-inline: 16px; border-radius: 10px; font-size: .9rem; }
.button-full { width: 100%; }
.button-light { background: #fff; color: var(--blue-dark); border-color: #fff; box-shadow: none; }
.button-light:hover { background: var(--surface-alt); color: var(--blue-dark); }
.button-outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.65); box-shadow: none; }
.button-outline-light:hover { background: rgba(255,255,255,.10); }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.hero { padding: 92px 0 84px; background: linear-gradient(135deg, #fff 0%, #f5f8fb 55%, #e9f0f6 100%); border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.65fr); gap: 72px; align-items: center; }
.eyebrow { display: inline-block; color: var(--lime-dark); font-weight: 800; font-size: .78rem; letter-spacing: .11em; text-transform: uppercase; margin-bottom: 10px; }
.hero h1, .section h1, .section h2, .result-hero h1 { margin: 0; letter-spacing: -.04em; line-height: 1.06; }
.hero h1 { max-width: 850px; font-size: clamp(2.5rem, 5vw, 4.6rem); color: var(--blue-dark); }
.hero-copy { max-width: 700px; margin: 25px 0; font-size: 1.18rem; color: var(--muted); }
.microcopy { max-width: 700px; margin-top: 18px; color: var(--muted); font-size: .84rem; }
.hero-panel { padding: 28px; border-radius: 24px; background: var(--blue-dark); color: #fff; box-shadow: var(--shadow); }
.panel-kicker { margin: 0 0 18px; color: #cbd9e6; font-weight: 700; }
.decision-sample { display: flex; flex-direction: column; gap: 3px; padding: 16px 17px; margin-top: 10px; border: 1px solid rgba(255,255,255,.12); border-left: 4px solid var(--lime); border-radius: 12px; background: rgba(255,255,255,.06); }
.decision-sample span { color: #cbd9e6; font-size: .88rem; }

.section { padding: 78px 0; }
.section.compact-top { padding-top: 46px; min-height: calc(100vh - 160px); }
.section-muted { background: var(--surface-alt); border-block: 1px solid var(--line); }
.section-heading { max-width: 760px; margin-bottom: 35px; }
.section-heading h1, .section-heading h2 { font-size: clamp(2rem, 4vw, 3.2rem); color: var(--blue-dark); }
.section-heading p { color: var(--muted); font-size: 1.05rem; }
.feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.feature-card { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.feature-card > span { color: var(--lime-dark); font-weight: 850; }
.feature-card h3 { margin: 18px 0 8px; color: var(--blue-dark); }
.feature-card p { margin: 0; color: var(--muted); }
.split-copy { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.split-copy h2 { font-size: clamp(2rem,3.5vw,3rem); color: var(--blue-dark); }
.split-copy p { margin: 30px 0 0; font-size: 1.12rem; color: var(--muted); }

.auth-section { min-height: calc(100vh - 150px); display: grid; align-items: center; background: var(--surface-alt); }
.form-card, .panel-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 40px rgba(11,41,72,.06); }
.form-card h1 { margin: 0 0 22px; color: var(--blue-dark); letter-spacing: -.035em; }
.stack-form { display: grid; gap: 19px; }
.stack-form label, fieldset { display: grid; gap: 7px; font-weight: 720; }
.stack-form label > span, .stack-form label small { color: var(--muted); font-weight: 500; font-size: .8rem; }
input, textarea, select { width: 100%; border: 1px solid #bfcbd6; border-radius: 10px; background: #fff; color: var(--ink); padding: 12px 13px; outline: none; transition: border .15s, box-shadow .15s; }
input:focus, textarea:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(18,61,104,.10); }
textarea { resize: vertical; }
fieldset { margin: 0; padding: 0; border: 0; }
legend { margin-bottom: 10px; font-weight: 750; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-actions { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 8px; }
.form-switch { margin: 18px 0 0; color: var(--muted); text-align: center; }
.alert { padding: 13px 15px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-alt); margin-bottom: 18px; }
.alert ul { margin: 7px 0 0; padding-left: 20px; }
.alert-error { border-color: #edb9bf; color: #7f202a; background: var(--danger-bg); }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.choice-card { display: flex !important; grid-template-columns: none !important; align-items: flex-start; gap: 11px !important; padding: 15px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; font-weight: 500 !important; }
.choice-card:has(input:checked) { border-color: var(--blue); background: var(--blue-soft); box-shadow: 0 0 0 2px rgba(18,61,104,.08); }
.choice-card input { width: auto; margin-top: 4px; }
.choice-card strong, .choice-card small { display: block; }
.choice-card small { margin-top: 4px; color: var(--muted); }

.page-heading-row { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 34px; }
.page-heading-row h1 { font-size: clamp(2.2rem,4vw,3.5rem); color: var(--blue-dark); }
.page-heading-row p { color: var(--muted); margin: 8px 0 0; }
.dashboard-grid, .result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }
.panel-card { box-shadow: none; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.panel-heading h2 { margin: 0; }
.panel-heading > span { min-width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-weight: 800; }
.item-list { display: grid; }
.item-row { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 16px 2px; border-top: 1px solid var(--line); color: var(--ink); }
.item-row:hover { text-decoration: none; }
.item-row strong, .item-row small { display: block; }
.item-row small { color: var(--muted); margin-top: 3px; }
.item-meta { display: grid; justify-items: end; gap: 5px; text-align: right; }
.static-row a { font-weight: 750; }
.status { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: .75rem; font-weight: 800; }
.status-draft { background: #f2f3f4; color: #53606d; }
.status-in_progress { background: #fff2cc; color: #7e5b00; }
.status-completed { background: #e8f4db; color: #456b0b; }
.empty-state { padding: 35px 15px; text-align: center; color: var(--muted); }
.empty-state h3 { color: var(--ink); }
.back-link { display: inline-flex; margin-bottom: 18px; font-weight: 750; }
.overview-card > h1 { margin-bottom: 6px; }
.overview-card > p { color: var(--muted); }
.progress-block { margin-top: 24px; }
.progress-meta { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; font-size: .88rem; }
.progress-track { height: 9px; overflow: hidden; border-radius: 999px; background: #dce4eb; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue),var(--lime)); }
.progress-block small { display: block; margin-top: 7px; color: var(--muted); }

.questionnaire-shell { display: grid; grid-template-columns: 330px minmax(0,1fr); min-height: calc(100vh - 77px); background: var(--surface-alt); }
.question-sidebar { position: sticky; top: 77px; height: calc(100vh - 77px); padding: 42px 34px; background: var(--blue-dark); color: #fff; overflow: auto; }
.question-sidebar .back-link { color: #d9e7f2; }
.question-sidebar .eyebrow { color: var(--lime); margin-top: 25px; }
.question-sidebar h1 { margin: 0; font-size: 1.65rem; line-height: 1.15; }
.question-sidebar > p { color: #c5d5e3; }
.question-sidebar .progress-track { background: rgba(255,255,255,.18); }
.question-sidebar .progress-track span { background: var(--lime); }
.question-sidebar .progress-meta, .question-sidebar .progress-block small { color: #d4e1eb; }
.privacy-note { display: grid; gap: 6px; margin-top: 32px; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.06); font-size: .82rem; }
.privacy-note span { color: #c5d5e3; }
.question-main { width: min(850px, calc(100% - 48px)); margin: 0 auto; padding: 54px 0 100px; }
.question-heading { margin-bottom: 28px; }
.question-heading h2 { margin: 0; color: var(--blue-dark); font-size: 2.25rem; letter-spacing: -.035em; }
.question-heading p { color: var(--muted); }
.question-form { display: grid; gap: 18px; }
.question-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 10px 28px rgba(11,41,72,.05); }
.question-card.question-error { border-color: #d97079; box-shadow: 0 0 0 3px rgba(167,42,52,.08); }
.question-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.question-number { display: inline-grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: var(--blue); color: #fff; font-weight: 850; font-size: .8rem; }
.context-chip { display: inline-flex; margin-left: 8px; padding: 5px 8px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: .74rem; font-weight: 750; }
.requirement { color: var(--muted); font-size: .74rem; font-weight: 700; }
.requirement.required { color: var(--lime-dark); }
.question-card h3 { margin: 17px 0 6px; color: var(--blue-dark); font-size: 1.22rem; }
.question-prompt { margin: 0 0 18px; color: var(--muted); }
.field-errors { display: grid; gap: 4px; padding: 10px 12px; margin-bottom: 14px; border-radius: 9px; background: var(--danger-bg); color: var(--danger); font-size: .84rem; font-weight: 700; }
.option-list { display: grid; gap: 9px; }
.option-card { display: flex; align-items: flex-start; gap: 11px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }
.option-card:hover { border-color: #9fb2c4; }
.option-card:has(input:checked) { background: var(--blue-soft); border-color: var(--blue); }
.option-card input { width: auto; margin-top: 4px; }
.option-card span { display: grid; gap: 2px; }
.option-card small { color: var(--muted); }
.compact-options { grid-template-columns: 1fr 1fr; }
.confirm-box { display: flex; align-items: flex-start; gap: 10px; padding: 13px; border-radius: 10px; background: var(--surface-alt); font-weight: 650; }
.confirm-box input { width: auto; margin-top: 4px; }
.skip-option { display: flex; align-items: center; gap: 8px; margin-top: 13px; color: var(--muted); font-size: .82rem; font-weight: 600; }
.skip-option input { width: auto; }
.input-with-unit { display: flex; align-items: stretch; }
.input-with-unit input { border-radius: 10px 0 0 10px; }
.input-with-unit > span { display: grid; place-items: center; min-width: 52px; padding: 0 12px; border: 1px solid #bfcbd6; border-left: 0; border-radius: 0 10px 10px 0; background: var(--surface-alt); font-weight: 750; }
.compound-input, .range-input { display: grid; grid-template-columns: 1fr 180px; gap: 10px; }
.range-input { grid-template-columns: 1fr 1fr; }
.range-input label { position: relative; font-size: .82rem; color: var(--muted); }
.range-input label span { position: absolute; right: 12px; bottom: 12px; color: var(--muted); }
.allocation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.allocation-grid label { padding: 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: .82rem; }
.allocation-grid label > span { display: flex; align-items: center; gap: 6px; margin-top: 6px; color: var(--ink); }
.allocation-grid input { padding: 8px; }
.allocation-total { grid-column: 1/-1; padding: 10px 12px; border-radius: 9px; background: var(--surface-alt); text-align: right; }
.sticky-actions { position: sticky; bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); box-shadow: var(--shadow); }
.sticky-actions > span { color: var(--muted); font-size: .84rem; }

.result-hero { padding: 74px 0; color: #fff; background: radial-gradient(circle at 85% 15%, rgba(168,207,69,.23), transparent 30%), linear-gradient(135deg,var(--blue-dark),var(--blue)); }
.light-link { color: #d9e7f2; }
.eyebrow-light { color: var(--lime); display: block; }
.result-hero h1 { max-width: 900px; font-size: clamp(2.7rem,5.2vw,5rem); }
.result-variant { margin: 12px 0 0; color: var(--lime); font-size: 1.25rem; font-weight: 800; }
.result-lead { max-width: 850px; margin: 20px 0 28px; color: #d9e7f2; font-size: 1.1rem; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-bottom: 24px; }
.metric-card { padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.metric-card > span, .metric-card > small { display: block; color: var(--muted); }
.metric-card > strong { display: inline-block; margin: 6px 3px 0 0; color: var(--blue-dark); font-size: 2rem; }
.metric-track { height: 6px; margin-top: 14px; overflow: hidden; border-radius: 999px; background: #dce4eb; }
.metric-track i { display: block; height: 100%; background: linear-gradient(90deg,var(--blue),var(--lime)); }
.text-metric > strong { font-size: 1.6rem; }
.result-grid { margin-top: 22px; }
.result-grid .panel-card h2, .economic-card h2 { margin: 0 0 15px; color: var(--blue-dark); }
.result-grid .panel-card p { color: var(--muted); }
.label-pair { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.muted { color: var(--muted); }
.solution-list { display: grid; gap: 12px; }
.solution-list > div { display: grid; gap: 3px; padding: 12px 0; border-top: 1px solid var(--line); }
.solution-list span { color: var(--muted); font-size: .9rem; }
.clean-list, .step-list { margin: 0; padding-left: 20px; }
.clean-list li, .step-list li { margin: 9px 0; }
.economic-card { margin-top: 22px; }
.economic-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.economic-grid > div { padding: 14px; border-radius: 11px; background: var(--surface-alt); }
.economic-grid span, .economic-grid strong { display: block; }
.economic-grid span { color: var(--muted); font-size: .78rem; }
.economic-grid strong { margin-top: 4px; color: var(--blue-dark); }
.notice-text { color: var(--muted); font-size: .82rem; }
.ekade-card { border-top: 4px solid var(--lime); }
.method-note { margin-top: 22px; padding: 17px 18px; border-left: 4px solid var(--lime); background: var(--surface-alt); color: var(--muted); }

.site-footer { padding: 28px 0; border-top: 1px solid var(--line); color: var(--muted); background: #fff; }
.footer-grid { display: flex; justify-content: space-between; gap: 30px; font-size: .82rem; }
.footer-grid strong { color: var(--ink); }

@media (max-width: 980px) {
  .hero-grid, .feature-grid, .metric-grid, .economic-grid { grid-template-columns: 1fr 1fr; }
  .hero-grid { gap: 40px; }
  .questionnaire-shell { grid-template-columns: 270px minmax(0,1fr); }
  .question-sidebar { padding: 34px 24px; }
}
@media (max-width: 760px) {
  .shell, .shell.medium, .shell.narrow { width: min(100% - 24px, var(--shell)); }
  .site-header { position: relative; }
  .nav-wrap { min-height: 68px; }
  .brand small { display: none; }
  .nav-actions > a:not(.button), .link-button { font-size: .86rem; }
  .hero { padding: 60px 0; }
  .hero-grid, .feature-grid, .split-copy, .dashboard-grid, .result-grid, .metric-grid, .economic-grid, .two-columns, .choice-grid, .compact-options, .allocation-grid { grid-template-columns: 1fr; }
  .split-copy { gap: 10px; }
  .page-heading-row { align-items: flex-start; flex-direction: column; }
  .questionnaire-shell { display: block; }
  .question-sidebar { position: relative; top: 0; height: auto; padding: 26px 18px; }
  .question-sidebar .privacy-note { display: none; }
  .question-main { width: calc(100% - 24px); padding: 32px 0 90px; }
  .question-heading h2 { font-size: 1.8rem; }
  .question-card { padding: 19px; }
  .compound-input, .range-input { grid-template-columns: 1fr; }
  .sticky-actions { bottom: 8px; flex-direction: column; align-items: stretch; }
  .sticky-actions > span { display: none; }
  .footer-grid { flex-direction: column; gap: 8px; }
}

/* v0.5 private beta: workspaces, invitations and account controls */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.workspace-switcher select { min-width: 190px; max-width: 260px; padding: 8px 32px 8px 10px; border-radius: 9px; font-size: .84rem; font-weight: 700; background-color: var(--surface-alt); }
.workspace-label { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: .84rem; }
.workspace-banner { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 20px; margin-bottom: 28px; border: 1px solid var(--line); border-left: 4px solid var(--lime); border-radius: 14px; background: var(--surface-alt); }
.workspace-banner > div:first-child { display: grid; gap: 2px; }
.workspace-banner .eyebrow { margin: 0; }
.workspace-banner strong { color: var(--blue-dark); font-size: 1.05rem; }
.workspace-banner small { color: var(--muted); }
.alert-info { border-color: #aec7dc; color: var(--blue-dark); background: var(--blue-soft); }
.vertical-buttons { display: grid; margin-top: 24px; }
.compact-form { gap: 13px; }
.pending-list { display: grid; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.pending-list h3 { margin: 0 0 4px; color: var(--blue-dark); }
.pending-list > div { display: grid; padding: 10px 12px; border-radius: 10px; background: var(--surface-alt); }
.pending-list small { color: var(--muted); }
.member-row { align-items: flex-start; }
.member-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; }
.member-actions select { width: auto; min-width: 135px; padding: 7px 9px; }
.danger-link { color: var(--danger); }
.danger-link:hover { color: #761923; }
input[readonly] { background: var(--surface-alt); color: var(--muted); }

@media (max-width: 980px) {
  .workspace-switcher { display: none; }
  .workspace-label { display: none; }
}
@media (max-width: 760px) {
  .workspace-banner { align-items: flex-start; flex-direction: column; }
  .member-row, .member-actions { align-items: flex-start; flex-direction: column; }
}
.beta-feedback { margin-top: 22px; border-top: 4px solid var(--blue); }
.beta-feedback h2 { margin: 0 0 8px; color: var(--blue-dark); }

/* v0.6 — friendly UX + superadmin */
.admin-surface { background: #f6f8fb; }
.admin-nav-link { color: var(--blue-dark) !important; padding: 7px 10px; border-radius: 9px; background: #edf3f8; }
.admin-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: -10px 0 26px; padding: 7px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.admin-tabs a { padding: 9px 13px; border-radius: 9px; font-weight: 750; font-size: .88rem; }
.admin-tabs a:hover { text-decoration: none; background: var(--blue-soft); }
.security-pill { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 999px; background: #e8f4db; color: #456b0b; font-weight: 800; font-size: .8rem; }
.security-pill.pending { background: #fff2cc; color: #7e5b00; }
.admin-metric-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 13px; margin-bottom: 24px; }
.admin-metric { padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.admin-metric span,.admin-metric small { display:block; color:var(--muted); }
.admin-metric span { font-size:.78rem; font-weight:750; }
.admin-metric strong { display:block; margin:6px 0 2px; color:var(--blue-dark); font-size:1.65rem; letter-spacing:-.03em; }
.admin-metric small { font-size:.72rem; }
.metric-alert { border-color:#edb9bf; background:#fff8f8; }
.admin-panels { margin-top: 20px; }
.admin-search { display:flex; align-items:center; gap:8px; min-width:min(100%,390px); }
.admin-search input { min-width:220px; }
.table-card { padding: 0; overflow: hidden; }
.table-card .panel-heading { padding: 20px 22px 0; }
.responsive-table { overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:.88rem; }
.admin-table th { padding:12px 14px; background:#f3f6f9; color:#526273; text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
.admin-table td { padding:14px; border-top:1px solid var(--line); vertical-align:top; }
.admin-table tr:hover td { background:#fbfcfd; }
.strong-link { font-weight:800; color:var(--blue-dark); }
.table-subline { display:block; max-width:560px; margin-top:3px; color:var(--muted); font-weight:400; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.78rem; overflow-wrap:anywhere; }
.admin-detail-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; margin-bottom:22px; }
.detail-kv { display:grid; grid-template-columns:1fr auto; gap:11px 18px; margin:18px 0; padding:15px; border-radius:12px; background:var(--surface-alt); }
.detail-kv span { color:var(--muted); }
.inline-admin-form { display:flex; gap:8px; align-items:center; }
.inline-admin-form input { max-width:130px; }
.admin-section-gap { margin-top:22px; }
.admin-plan-form { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; align-items:end; }
.admin-plan-form label { display:grid; gap:6px; font-size:.82rem; font-weight:750; }
.admin-plan-form .wide { grid-column:span 2; }
.toggle-line { display:flex !important; flex-direction:row !important; align-items:center; gap:8px !important; font-weight:700 !important; }
.toggle-line input { width:auto; }
.methodology-warning { margin:0 0 18px; padding:13px 15px; border-left:4px solid var(--lime); background:#fff; color:var(--muted); }
.admin-edit-title { margin:0 0 22px; color:var(--blue-dark); font-size:clamp(2rem,4vw,3rem); letter-spacing:-.04em; }
.method-original { margin:0 0 20px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.method-original > span { display:block; margin-bottom:7px; color:var(--lime-dark); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.method-original p { margin:5px 0 0; color:var(--muted); }
.mfa-card { text-align:center; }
.mfa-card p { color:var(--muted); }
.mfa-qr { width:220px; max-width:100%; margin:8px auto 16px; border:10px solid #fff; border-radius:14px; box-shadow:0 8px 28px rgba(11,41,72,.12); }
.mfa-secret { display:grid; gap:5px; margin:0 0 20px; padding:12px; border-radius:10px; background:var(--surface-alt); }
.mfa-secret span { color:var(--muted); font-size:.75rem; }
.mfa-secret code { overflow-wrap:anywhere; font-weight:800; }

/* questionnaire: one focused question at a time */
.question-main { max-width: 900px; }
.question-card { transition: box-shadow .15s ease, transform .15s ease; }
.question-card:focus-within { box-shadow: 0 16px 50px rgba(11,41,72,.10); }
.question-prompt { max-width: 720px; }
.option-card { min-height: 58px; }
.option-card:hover { transform: translateY(-1px); background:#fbfcfd; }
.sticky-actions .button { min-width: 190px; }

@media (max-width: 1100px) {
  .admin-metric-grid { grid-template-columns:repeat(3,1fr); }
  .admin-plan-form { grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px) {
  .admin-metric-grid,.admin-detail-grid,.admin-plan-form { grid-template-columns:1fr; }
  .admin-plan-form .wide { grid-column:auto; }
  .admin-tabs { flex-wrap:nowrap; overflow-x:auto; }
  .admin-tabs a { white-space:nowrap; }
  .admin-search { width:100%; min-width:0; }
  .admin-search input { min-width:0; }
  .inline-admin-form { align-items:stretch; flex-direction:column; }
  .inline-admin-form input { max-width:none; }
}
.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.plan-card { padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.plan-card h3 { margin:3px 0 10px; color:var(--blue-dark); }
.plan-price { display:block; margin:10px 0; color:var(--blue-dark); font-size:2rem; letter-spacing:-.04em; }
.plan-price small { font-size:.8rem; color:var(--muted); font-weight:600; }
.plan-card p { color:var(--muted); }
.button:disabled { opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }
@media (max-width: 900px) { .plan-grid { grid-template-columns:1fr; } }
/* IA con sentido · UX/UI refinement v0.7 */
:root {
  --ink: #10243c;
  --muted: #617186;
  --blue: #164e80;
  --blue-dark: #0a2f54;
  --blue-deep: #072642;
  --blue-soft: #edf4fa;
  --lime: #a9d53d;
  --lime-dark: #6d9412;
  --surface: #ffffff;
  --surface-alt: #f5f8fb;
  --line: #d9e4ed;
  --line-strong: #c6d4df;
  --shadow: 0 18px 50px rgba(8, 41, 72, .10);
  --shadow-soft: 0 8px 28px rgba(8, 41, 72, .07);
  --radius: 20px;
  --radius-small: 12px;
  --shell: 1200px;
}
body { background:#f8fafc; color:var(--ink); font-size:16px; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
main { min-height:calc(100vh - 150px); }
.shell { width:min(var(--shell),calc(100% - 48px)); }
.site-header { background:rgba(255,255,255,.92); border-bottom:1px solid rgba(217,228,237,.86); box-shadow:0 1px 0 rgba(10,47,84,.02); }
.nav-wrap { min-height:78px; }
.brand { gap:13px; }
.brand-mark { width:44px; height:44px; border-radius:13px; background:linear-gradient(145deg,#174f80,#0b3158); box-shadow:inset 0 -4px 0 var(--lime),0 7px 18px rgba(10,47,84,.12); font-size:.96rem; }
.brand strong { font-size:1rem; letter-spacing:-.02em; }
.brand small { font-size:.74rem; }
.nav-actions { gap:14px; }
.nav-actions > a:not(.button),.link-button { padding:8px 10px; border-radius:9px; }
.nav-actions > a:not(.button):hover,.link-button:hover { text-decoration:none; background:var(--blue-soft); }
.button { min-height:48px; padding:0 22px; border-radius:13px; box-shadow:0 8px 20px rgba(22,78,128,.15); font-weight:760; }
.button-secondary { border-color:#b9cad9; background:rgba(255,255,255,.92); color:var(--blue-dark); }
.button-secondary:hover { border-color:var(--blue); background:#fff; }
.button-small { min-height:40px; padding-inline:16px; }
.button-row { gap:10px; }
.hero { position:relative; overflow:hidden; padding:88px 0 90px; background:radial-gradient(circle at 82% 18%,rgba(169,213,61,.16),transparent 23%),radial-gradient(circle at 72% 82%,rgba(22,78,128,.09),transparent 27%),linear-gradient(135deg,#fff 0%,#f8fbfd 48%,#eef4f8 100%); }
.hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.26; background-image:linear-gradient(rgba(16,36,60,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,36,60,.035) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(to right,transparent,#000 45%,#000 100%); }
.hero-grid { position:relative; grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr); gap:clamp(44px,6vw,82px); align-items:center; }
.hero .eyebrow { margin-bottom:18px; padding:7px 10px; border-radius:999px; background:rgba(169,213,61,.13); letter-spacing:.105em; }
.hero h1 { max-width:760px; font-size:clamp(3rem,5.2vw,4.9rem); line-height:.99; letter-spacing:-.055em; }
.hero-copy { max-width:720px; margin:28px 0; color:#53657a; font-size:clamp(1.08rem,1.7vw,1.28rem); line-height:1.6; }
.hero .button-row { margin-top:4px; }
.hero .button-row .button { min-width:178px; }
.hero .microcopy { max-width:590px; margin-top:20px; padding-left:14px; border-left:3px solid rgba(169,213,61,.72); color:#6a7787; line-height:1.55; }
.hero-panel { position:relative; padding:32px; border:1px solid rgba(255,255,255,.09); border-radius:28px; background:radial-gradient(circle at 85% 12%,rgba(169,213,61,.16),transparent 25%),linear-gradient(150deg,#0a3157 0%,#082744 100%); box-shadow:0 30px 70px rgba(7,38,66,.20); }
.hero-panel::after { content:""; position:absolute; width:68px; height:5px; left:32px; top:0; border-radius:0 0 6px 6px; background:var(--lime); }
.panel-kicker { margin:2px 0 23px; color:#e8f0f6; font-size:1.03rem; }
.decision-sample { padding:17px 18px; margin-top:12px; border:1px solid rgba(255,255,255,.12); border-left:4px solid var(--lime); border-radius:14px; background:rgba(255,255,255,.065); }
.decision-sample strong { font-size:1rem; }
.decision-sample span { margin-top:3px; font-size:.88rem; }
.section { padding:82px 0; }
.section-heading { margin-bottom:36px; }
.section-heading .eyebrow { margin-bottom:11px; }
.section-heading h2 { max-width:780px; font-size:clamp(2.15rem,4vw,3.45rem); line-height:1.05; }
.feature-grid { gap:16px; }
.feature-card { min-height:225px; padding:27px 25px; border-color:#dce5ed; border-radius:19px; box-shadow:0 6px 24px rgba(8,41,72,.035); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.feature-card:hover { transform:translateY(-3px); border-color:#c8d8e5; box-shadow:0 16px 34px rgba(8,41,72,.08); }
.feature-card > span { display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:10px; background:rgba(169,213,61,.15); font-size:.8rem; }
.feature-card h3 { margin-top:24px; font-size:1.12rem; }
.feature-card p { line-height:1.65; }
.section-muted { background:#eff4f8; }
.split-copy { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(44px,7vw,100px); }
.split-copy h2 { max-width:560px; line-height:1.08; }
.split-copy p { max-width:650px; margin-top:5px; line-height:1.72; }
.auth-section { min-height:calc(100vh - 155px); background:radial-gradient(circle at 15% 12%,rgba(169,213,61,.10),transparent 20%),linear-gradient(145deg,#f3f7fa,#eef3f7); }
.form-card,.panel-card { border-color:#d9e3eb; border-radius:20px; box-shadow:0 14px 42px rgba(7,38,66,.07); }
.form-card { padding:clamp(26px,4vw,38px); }
.form-card h1 { font-size:clamp(2rem,4vw,2.8rem); line-height:1.05; }
.stack-form { gap:18px; }
input,textarea,select { min-height:46px; border-color:#bbcbd8; border-radius:11px; padding:11px 13px; }
textarea { min-height:110px; }
.choice-card { border-radius:13px; background:#fff; transition:border .15s,background .15s,transform .15s; }
.choice-card:hover { border-color:#a9bdcd; transform:translateY(-1px); }
.choice-card:has(input:checked) { border-color:var(--blue); background:#eef5fa; }
.section.compact-top { padding-top:50px; }
.page-heading-row { margin-bottom:28px; align-items:flex-end; }
.page-heading-row h1 { line-height:1.02; }
.dashboard-grid { gap:18px; }
.panel-card { background:rgba(255,255,255,.98); }
.panel-heading { margin-bottom:12px; }
.item-row { padding:17px 4px; border-color:#e1e8ee; }
.item-row:hover { background:#f9fbfc; }
.workspace-banner { padding:17px 19px; border-radius:15px; background:#f1f6fa; }
.status { padding:6px 10px; }
.questionnaire-shell { grid-template-columns:300px minmax(0,1fr); background:#f4f7fa; }
.question-sidebar { top:78px; height:calc(100vh - 78px); padding:38px 29px; background:radial-gradient(circle at 20% 90%,rgba(169,213,61,.13),transparent 24%),linear-gradient(180deg,#0a3156,#072642); }
.question-sidebar h1 { font-size:1.45rem; }
.question-sidebar > p { line-height:1.6; font-size:.91rem; }
.question-main { width:min(880px,calc(100% - 56px)); padding:48px 0 112px; }
.question-heading { margin-bottom:22px; }
.question-heading h2 { max-width:750px; font-size:clamp(2rem,3vw,2.6rem); line-height:1.08; }
.question-heading p { max-width:710px; line-height:1.6; }
.question-form { gap:14px; }
.question-card { padding:24px 26px; border-radius:18px; box-shadow:0 8px 25px rgba(7,38,66,.045); }
.question-card:focus-within { border-color:#bfd0dd; box-shadow:0 18px 45px rgba(7,38,66,.09); transform:translateY(-1px); }
.question-number { border-radius:9px; }
.question-card h3 { line-height:1.28; }
.question-prompt { line-height:1.65; }
.option-card { border-radius:13px !important; }
.sticky-actions { bottom:12px; padding:12px 13px; border-radius:15px; box-shadow:0 18px 45px rgba(7,38,66,.12); }
.sticky-actions .button { min-width:178px; }
.result-hero { padding:74px 0 78px; background:radial-gradient(circle at 84% 18%,rgba(169,213,61,.22),transparent 27%),linear-gradient(135deg,#072642,#164e80); }
.result-hero h1 { font-size:clamp(2.8rem,5vw,4.8rem); line-height:.99; }
.metric-grid { gap:13px; }
.metric-card { border-radius:16px; box-shadow:0 5px 20px rgba(7,38,66,.04); }
.result-grid { gap:18px; }
.economic-card { border-top:4px solid var(--lime); }
.admin-surface { background:#f3f6f9; }
.admin-tabs { padding:6px; border-radius:13px; box-shadow:0 5px 18px rgba(7,38,66,.04); }
.admin-tabs a { padding:9px 12px; }
.admin-metric-grid { gap:11px; }
.admin-metric { border-radius:14px; box-shadow:0 4px 17px rgba(7,38,66,.035); }
.table-card { border-radius:18px; }
.admin-table th { background:#edf3f7; }
.admin-table td { border-color:#e1e8ee; }
.admin-table tr:hover td { background:#f8fbfd; }
.security-pill { border:1px solid #cfe3b4; }
.site-footer { padding:30px 0; background:#fff; }
.footer-grid { align-items:center; }
@media (max-width:1050px) {
  .hero-grid { grid-template-columns:minmax(0,1fr) minmax(330px,.72fr); gap:38px; }
  .hero h1 { font-size:clamp(2.8rem,6vw,4.3rem); }
  .admin-metric-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:820px) {
  .shell { width:min(100% - 32px,var(--shell)); }
  .hero { padding:62px 0 68px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-panel { max-width:650px; }
  .feature-grid { grid-template-columns:1fr 1fr; }
  .feature-card { min-height:0; }
  .questionnaire-shell { display:block; }
  .question-sidebar { position:relative; top:0; height:auto; padding:24px 20px; }
  .question-main { width:min(100% - 28px,880px); padding:30px 0 90px; }
  .admin-metric-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .shell,.shell.medium,.shell.narrow { width:min(100% - 24px,var(--shell)); }
  .site-header { position:sticky; }
  .nav-wrap { min-height:66px; }
  .brand-mark { width:39px; height:39px; }
  .brand strong { font-size:.94rem; }
  .nav-actions { gap:3px; }
  .nav-actions .button-small { min-height:38px; padding-inline:12px; }
  .hero { padding-top:48px; }
  .hero::before { display:none; }
  .hero h1 { font-size:clamp(2.55rem,12vw,3.5rem); }
  .hero-copy { font-size:1.04rem; }
  .hero .button-row { display:grid; grid-template-columns:1fr; }
  .hero .button-row .button { width:100%; min-width:0; }
  .hero-panel { padding:25px 20px; border-radius:22px; }
  .section { padding:62px 0; }
  .feature-grid,.split-copy,.dashboard-grid,.result-grid,.metric-grid,.economic-grid,.two-columns,.choice-grid,.admin-detail-grid,.admin-plan-form,.plan-grid,.admin-metric-grid { grid-template-columns:1fr; }
  .split-copy { gap:24px; }
  .page-heading-row { align-items:flex-start; }
  .question-card { padding:20px 17px; }
  .sticky-actions { flex-direction:column; align-items:stretch; }
  .sticky-actions .button { width:100%; min-width:0; }
  .admin-search { width:100%; min-width:0; }
  .admin-search input { min-width:0; }
}