:root{--color-primary: #245b7d;--color-primary-hover: #1d4f6d;--color-primary-active: #173f58;--color-primary-subtle: #e7f1f7;--color-secondary: #546475;--color-background: #f5f7fa;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text-primary: #182331;--color-text-secondary: #4d5d70;--color-text-muted: #687789;--color-border: #d9e0e8;--color-border-strong: #aeb9c6;--color-focus: #0b72b9;--color-success: #23724d;--color-success-subtle: #e7f5ee;--color-warning: #8a5a0a;--color-warning-subtle: #fff4d8;--color-danger: #a13d3d;--color-danger-subtle: #fbeaea;--color-info: #315f94;--color-info-subtle: #e8f1fb;--color-neutral-subtle: #eef2f6;--space-0: 0;--space-1: .125rem;--space-2: .25rem;--space-3: .5rem;--space-4: .75rem;--space-5: 1rem;--space-6: 1.5rem;--space-7: 2rem;--space-8: 3rem;--space-9: 4rem;--font-family-base: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--line-height-tight: 1.2;--line-height-base: 1.5;--line-height-relaxed: 1.65;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 650;--font-weight-bold: 750;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .875rem;--radius-2xl: 1.25rem;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(24 35 49 / 8%);--shadow-md: 0 8px 24px rgb(24 35 49 / 12%);--shadow-lg: 0 20px 60px rgb(24 35 49 / 20%);--z-header: 20;--z-drawer: 30;--z-overlay: 40;--z-dialog: 50;--z-toast: 60;--transition-fast: .12s;--transition-base: .18s;--container-width: 72rem;--sidebar-width: 16.25rem;--header-height: 4rem;--breakpoint-small: 36rem;--breakpoint-medium: 48rem;--breakpoint-large: 64rem;--breakpoint-wide: 80rem;--touch-target: 2.75rem;--input-height: 2.75rem;--button-height: 2.75rem}*,*:before,*:after{box-sizing:border-box}html{min-width:0;min-height:100%;font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-background);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:0;min-height:100%;margin:0;font-size:var(--font-size-md);line-height:var(--line-height-base)}img,svg,video{max-width:100%}button,input,textarea,select{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--color-primary);text-underline-offset:.16em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto;transition-duration:1ms;animation-duration:1ms;animation-iteration-count:1}}h1,h2,h3,p{margin-block:0}h1,.ui-page-title{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold)}h2,.ui-section-title{font-size:var(--font-size-xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}h3,.ui-subsection-title{font-size:var(--font-size-lg);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}.ui-text{color:var(--color-text-primary)}.ui-help-text,.ui-meta,.text-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.ui-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ui-page{display:grid;gap:var(--space-6)}.ui-page-header{display:grid;gap:var(--space-4);margin-bottom:var(--space-6)}.ui-page-header__content{display:grid;gap:var(--space-2)}.ui-page-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.ui-grid{display:grid;gap:var(--space-4)}.ui-grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.ui-card{display:grid;gap:var(--space-4);min-width:0;padding:var(--space-5);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ui-card--interactive{transition:border-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease}.ui-card--interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.ui-card--selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.ui-card--warning{border-color:var(--color-warning);background:var(--color-warning-subtle)}.ui-card--danger{border-color:var(--color-danger);background:var(--color-danger-subtle)}.ui-toolbar{display:grid;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ui-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.ui-kpi{display:grid;gap:var(--space-2)}.ui-kpi__value{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold)}.ui-notice{display:grid;gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ui-notice--error{color:var(--color-danger);background:var(--color-danger-subtle);border-color:var(--color-danger)}.planning-guide{display:grid;gap:var(--space-6);padding:var(--space-6);background:linear-gradient(135deg,var(--color-primary-subtle),var(--color-surface) 55%);border-color:var(--color-border-strong)}.guide-intro{display:grid;gap:var(--space-3)}.concept-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:var(--space-3);align-items:center;margin-top:var(--space-2)}.concept-flow article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:5rem;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.concept-flow article>span{display:grid;width:2rem;height:2rem;place-items:center;color:var(--color-primary);font-weight:var(--font-weight-bold);background:var(--color-primary-subtle);border-radius:var(--radius-pill)}.concept-flow article div,.next-action>div{display:grid;gap:var(--space-1)}.concept-flow small,.next-action small,.detail-description{color:var(--color-text-muted)}.flow-arrow{color:var(--color-text-muted);font-size:var(--font-size-xl)}.eyebrow{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.guide-steps li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.guide-steps li.current{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.guide-steps li.complete .step-number{color:var(--color-success);background:var(--color-success-subtle)}.step-number{display:grid;width:2rem;height:2rem;place-items:center;color:var(--color-primary);font-weight:var(--font-weight-bold);background:var(--color-primary-subtle);border-radius:var(--radius-pill)}.guide-steps div{display:grid;gap:var(--space-1)}.guide-steps small{color:var(--color-text-muted)}.next-action{display:flex;gap:var(--space-5);align-items:center;justify-content:space-between;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-lg)}.planning-details{display:block;padding:var(--space-4) var(--space-5)}.planning-details summary{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);cursor:pointer}.planning-details[open] summary{margin-bottom:var(--space-4)}.planning-details .metric-grid{margin-top:var(--space-4)}.detail-description{margin-bottom:var(--space-4)}.option-selection{min-width:0;margin:0;padding:0;border:0}.option-selection legend{margin-bottom:var(--space-3);color:var(--color-text-secondary)}.option-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--space-3)}.option-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast) ease,background var(--transition-fast) ease}.option-choice:hover{border-color:var(--color-border-strong)}.option-choice--selected{background:var(--color-primary-subtle);border-color:var(--color-primary)}.option-choice input{width:1.25rem;min-height:auto;margin-top:var(--space-1);accent-color:var(--color-primary)}.option-choice__content,.option-choice__head{display:grid;gap:var(--space-3)}.option-choice__head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.option-facts{display:grid;grid-template-columns:minmax(7rem,auto) minmax(0,1fr);gap:var(--space-2) var(--space-3);margin:0;font-size:var(--font-size-sm)}.option-facts dt{color:var(--color-text-muted)}.option-facts dd{margin:0;text-align:right}@media(max-width:40rem){.planning-guide{grid-template-columns:1fr;padding:var(--space-4)}.guide-steps li{grid-template-columns:auto minmax(0,1fr)}.concept-flow,.guide-steps{grid-template-columns:1fr}.flow-arrow{justify-self:center;transform:rotate(90deg)}.next-action{align-items:stretch;flex-direction:column}.next-action .ui-button{width:100%}}@media(min-width:48rem){.ui-page-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.ui-toolbar{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:end}}.ui-form{display:grid;gap:var(--space-5)}.ui-form-field{display:grid;gap:var(--space-2)}.ui-control{width:100%;min-height:var(--input-height);padding:0 var(--space-4);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease}textarea.ui-control{min-height:6rem;padding-block:var(--space-3);resize:vertical}.ui-control:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 22%,transparent);outline:none}.ui-control:disabled,.ui-control[readonly]{color:var(--color-text-muted);background:var(--color-neutral-subtle)}.ui-control[aria-invalid=true]{border-color:var(--color-danger)}.ui-field-error{color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ui-checkbox{display:grid;grid-template-columns:1.25rem 1fr;align-items:start;gap:var(--space-3);min-height:var(--touch-target)}.ui-checkbox input{width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:var(--color-primary)}.ui-button{min-height:var(--button-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);padding:0 var(--space-5);font-weight:var(--font-weight-semibold);line-height:1;text-decoration:none;color:var(--color-surface);background:var(--color-primary);transition:background-color var(--transition-fast) ease,border-color var(--transition-fast) ease,color var(--transition-fast) ease}.ui-button:not(.ui-button--secondary,.ui-button--ghost,.ui-button--danger):hover{background:var(--color-primary-hover)}.ui-button:not(.ui-button--secondary,.ui-button--ghost,.ui-button--danger):active{background:var(--color-primary-active)}.ui-button--primary{color:var(--color-surface);background:var(--color-primary)}.ui-button--primary:hover{background:var(--color-primary-hover)}.ui-button--primary:active{background:var(--color-primary-active)}.ui-button--secondary{color:var(--color-surface);background:var(--color-secondary)}.ui-button--ghost{color:var(--color-primary);background:transparent;border-color:var(--color-border)}.ui-button--danger{color:var(--color-surface);background:var(--color-danger)}.ui-button--small{min-height:2.25rem;padding-inline:var(--space-4);font-size:var(--font-size-sm)}.ui-button[disabled],.ui-button[aria-disabled=true]{opacity:.55}.ui-icon-button{position:relative;width:var(--touch-target);height:var(--touch-target);display:inline-grid;place-items:center;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ui-icon-button:hover{background:var(--color-primary-subtle);border-color:var(--color-border-strong)}.ui-button__spinner,.ui-spinner{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-pill);animation:ui-spin .7s linear infinite}@media(max-width:35.99rem){.ui-button--mobile-full{width:100%}}.ui-table-wrap{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ui-table{width:100%;border-collapse:collapse;min-width:42rem}.ui-table th,.ui-table td{padding:var(--space-4) var(--space-5);text-align:left;border-bottom:1px solid var(--color-border)}.ui-table th{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);background:var(--color-neutral-subtle)}.ui-table tr:last-child td{border-bottom:0}.ui-table tbody tr:hover{background:var(--color-primary-subtle)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack{display:grid;gap:var(--space-4)}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.full-width{width:100%}.ui-badge{width:fit-content;min-height:1.5rem;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);background:var(--color-neutral-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.ui-badge--success{color:var(--color-success);background:var(--color-success-subtle);border-color:var(--color-success)}.ui-badge--warning{color:var(--color-warning);background:var(--color-warning-subtle);border-color:var(--color-warning)}.ui-badge--danger{color:var(--color-danger);background:var(--color-danger-subtle);border-color:var(--color-danger)}.ui-badge--info{color:var(--color-info);background:var(--color-info-subtle);border-color:var(--color-info)}@keyframes ui-spin{to{transform:rotate(1turn)}}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-slide-up{0%{opacity:0;transform:translateY(var(--space-3))}to{opacity:1;transform:translateY(0)}}
