.planning-app { --card:#fff; margin-top:24px; }
.planning-app button { font:inherit; cursor:pointer; padding:10px 15px; border:1px solid #c9d8e3; border-radius:var(--radius-sm); background:white; color:var(--ink); font-weight:600; min-height:44px; }
.planning-app button:hover:not(:disabled) { border-color:var(--blue); color:var(--blue); }
.planning-app button:disabled { opacity:.48; cursor:not-allowed; }
.planning-app button:focus-visible,.planning-app input:focus-visible,.planning-app textarea:focus-visible,.planning-app select:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.planning-app .primary-button:hover:not(:disabled) { background:#104aab; color:white; }
.plan-tools { display:flex; justify-content:space-between; align-items:center; gap:18px; font-size:12px; color:var(--muted); }
.plan-tools p { max-width:410px; }
.plan-tools>div { display:flex; flex-wrap:wrap; gap:7px; }
.plan-tools button { font-size:12px; padding:8px 12px; }
#plan-message:empty { display:none; }
#plan-message { padding:13px 16px; background:#fff4d7; border-left:3px solid #c78e1d; line-height:1.5; }
.plan-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:20px 0 30px; }
.plan-steps button { text-align:left; display:flex; align-items:center; gap:12px; padding:17px; }
.plan-steps button span { font:12px ui-monospace,monospace; color:var(--muted); }
.plan-steps button[aria-pressed=true] { background:var(--ink); border-color:var(--ink); color:white; }
.plan-steps button[aria-pressed=true] span { color:rgba(255,255,255,.72); }
.plan-panel[hidden] { display:none; }
.plan-heading { display:flex; align-items:flex-start; gap:25px; justify-content:space-between; }
.plan-heading h2,.plan-panel>h2 { font-size:27px; margin:0 0 10px; letter-spacing:-.6px; }
.plan-heading p { max-width:650px; color:var(--muted); line-height:1.6; margin-top:0; }
.point-budget { display:flex; flex-direction:column; flex-shrink:0; text-align:center; background:var(--tint); padding:12px 22px; border-radius:var(--radius-sm); }
.point-budget strong { font:700 30px ui-monospace,monospace; }
.point-budget span { font-size:12px; margin-top:2px; }
.planning-app label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:650; color:var(--ink); }
.planning-app input,.planning-app textarea,.planning-app select { font:400 15px 'Segoe UI',system-ui,sans-serif; width:100%; min-width:0; color:var(--ink); background:#fff; border:1px solid #c7d6e2; border-radius:var(--radius-sm); padding:11px 12px; box-sizing:border-box; }
.planning-app textarea { resize:vertical; line-height:1.55; }
.planning-app input::placeholder,.planning-app textarea::placeholder { color:#6b7f8e; font-size:13px; }
.profile-context { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:16px; margin:18px 0 25px; }
.wheel-workspace { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); gap:25px; align-items:start; }
.wheel-area { min-width:0; background:white; border:1px solid var(--line); border-radius:var(--radius-md); padding:10px 18px 22px; }
#performance-wheel svg { display:block; width:100%; height:auto; aspect-ratio:1; cursor:crosshair; touch-action:manipulation; user-select:none; }
.wheel-help { font-size:12px; color:var(--muted); line-height:1.6; margin:0 0 12px; }
.wheel-legend { display:flex; flex-wrap:wrap; gap:12px; font-size:11px; color:var(--muted); padding-bottom:16px; border-bottom:1px solid var(--line); }
.wheel-legend span { display:flex; align-items:center; gap:6px; }
.solid-swatch { width:13px; height:10px; background:var(--blue); }
.dashed-swatch { width:18px; border-top:2px dashed var(--ink); }
.trait-choices { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0 12px; }
.planning-app .trait-choice { display:flex; align-items:center; gap:6px; font-size:12px; padding:6px 9px; font-weight:500; max-width:100%; }
.trait-choice>span:last-child { overflow-wrap:anywhere; }
.planning-app .trait-choice[aria-pressed=true] { border-color:var(--ink); background:var(--tint); box-shadow:0 0 0 1px var(--ink); }
.trait-dot { display:inline-grid; place-items:center; font:700 10px ui-monospace,monospace; color:white; width:22px; height:22px; border-radius:50%; flex-shrink:0; text-shadow:0 1px 2px #0008; }
.trait-editor { padding:24px; background:var(--tint); border:1px solid #d3e1ee; border-radius:var(--radius-md); }
.trait-editor h3 { margin:6px 0 22px; font-size:24px; overflow-wrap:anywhere; }
.trait-editor>.eyebrow { font-size:10px; margin:0; }
.trait-editor>label { margin-bottom:18px; }
.planning-app .color-field { flex-direction:row; justify-content:space-between; align-items:center; }
.planning-app input[type=color] { width:58px; height:36px; padding:3px; cursor:pointer; }
.rating-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rating-pair label>span { font-size:10px; color:var(--muted); font-weight:400; }
.rating-pair input { font-size:26px; font-weight:650; }
.field-hint { color:var(--muted); font-size:12px; line-height:1.65; margin:12px 0 20px; }
.planning-app .text-button { padding:7px 0; background:transparent; border:0; text-decoration:underline; text-underline-offset:3px; font-size:12px; color:var(--muted); }
.profile-progress { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:24px 0; padding:16px 20px; border:1px solid var(--line); border-radius:var(--radius-sm); background:white; }
.profile-progress p { font-size:13px; line-height:1.6; max-width:570px; }
.profile-progress button { flex-shrink:0; }
.plan-explainer { font-size:13px; color:var(--muted); line-height:1.8; border-top:1px solid var(--line); padding-top:18px; }
.plan-explainer summary { color:var(--ink); font-weight:600; cursor:pointer; }
.analysis-explain { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:25px 0; }
.analysis-explain article { border-top:2px solid var(--teal); padding:16px 0; }
.analysis-explain span { color:var(--teal); font:11px ui-monospace,monospace; }
.analysis-explain h3 { font-size:20px; margin:14px 0 8px; }
.analysis-explain p { font-size:14px; line-height:1.6; color:var(--muted); }
.gap-notice { padding:15px 18px; background:var(--tint); font-size:14px; line-height:1.6; border-radius:var(--radius-sm); }
.gap-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-sm); background:white; }
.gap-table { border-collapse:collapse; width:100%; font-size:13px; }
.gap-table caption { text-align:left; padding:16px; font-weight:650; }
.gap-table th,.gap-table td { padding:15px 12px; text-align:left; border-top:1px solid var(--line); }
.gap-table thead { color:var(--muted); background:#f7f9fc; font-size:11px; }
.gap-table tbody th { min-width:155px; font-weight:600; overflow-wrap:anywhere; }
.gap-table td:not(:last-child) { font:14px ui-monospace,monospace; }
.gap-table button { white-space:nowrap; font-size:12px; }
.gap-dot { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:7px; }
.positive-gap { color:#a65c11; font-weight:700!important; }
.plan-total { font-size:13px; white-space:nowrap; padding:10px 14px; background:var(--tint); border-radius:var(--radius-sm); }
.plan-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:25px; border:1px solid var(--line); background:white; border-radius:var(--radius-md); }
.full-width { grid-column:1/-1; }
.sessions-heading,.session-top { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.sessions-heading { margin:32px 0 18px; }
.sessions-heading h3 { font-size:22px; }
.session-card { margin:0 0 18px; padding:24px; border:1px solid var(--line); border-top:3px solid var(--teal); background:white; border-radius:var(--radius-sm); }
.session-top { margin-bottom:20px; }
.session-top h3 { margin:0; font-size:20px; }
.session-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.session-details { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:20px; }
.session-details label:first-child { grid-column:1/-1; }
.session-empty { padding:40px; border:1px dashed #b3c6d6; text-align:center; color:var(--muted); font-size:14px; }
.print-only { display:none; }
@media(max-width:850px){.wheel-workspace{grid-template-columns:minmax(0,1.1fr) minmax(260px,1fr);gap:14px}.trait-editor{padding:18px}.wheel-area{padding:6px 12px 18px}.plan-tools{align-items:flex-start;flex-direction:column;gap:0}.plan-steps button{font-size:13px;padding:13px;gap:7px}.session-fields{grid-template-columns:1fr 1fr}.profile-progress{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.wheel-workspace,.profile-context,.analysis-explain,.plan-form,.session-details{grid-template-columns:1fr}.profile-context{gap:12px}.plan-heading{gap:10px}.plan-heading h2{font-size:24px}.plan-heading p{font-size:14px}.point-budget{padding:10px 14px}.plan-steps{gap:5px;margin-bottom:24px}.plan-steps button{flex-direction:column;align-items:flex-start;font-size:12px;padding:11px 8px;line-height:1.5}.trait-editor{padding:22px}.analysis-explain{gap:0}.analysis-explain article{padding:14px 0}.plan-total{font-size:11px}.plan-form,.session-card{padding:18px}.session-fields{gap:14px}.plan-tools button{font-size:11px;padding:8px}.sessions-heading h3{font-size:19px}.profile-progress button{width:100%}.wheel-help{font-size:12px}}
@media print{body{background:white;color:black}.site-header,.site-footer,.skip-link,.site-main>h1,.site-main>.eyebrow,.site-main>.intro-copy,.planning-app>*{display:none!important}.site-main{padding:0;max-width:none;width:100%;margin:0}.planning-app{margin:0}.planning-app>.print-only{display:block!important}.print-only .print-wheel{display:block;width:125mm;max-width:100%;margin:auto}.print-only table{width:100%;border-collapse:collapse;font-size:10pt}.print-only th,.print-only td{border:1px solid #bbb;padding:7px;text-align:left}.print-only h1{font-size:25pt}.print-only h2{font-size:17pt;margin-top:22px;break-after:avoid}.print-only h3{font-size:12pt;break-after:avoid}.print-only p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11pt;line-height:1.5}.print-only svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only tr{break-inside:avoid}@page{size:A4;margin:16mm}}
