:root{--color-bg: #f5f7f9;--color-surface: #ffffff;--color-surface-alt: #eef2f5;--color-border: #d7dee3;--color-text: #172431;--color-text-muted: #55636e;--color-primary: #0b3d5c;--color-primary-hover: #092f47;--color-primary-contrast: #ffffff;--color-accent: #0f7a5f;--color-warn-bg: #fff4e0;--color-warn-border: #e8a63d;--color-warn-text: #7a4c05;--color-danger-bg: #fdeceb;--color-danger-border: #d64545;--color-danger-text: #8f1f1f;--color-success-bg: #e9f7f0;--color-success-border: #2a9d6f;--color-success-text: #14603f;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-card: 0 1px 3px rgba(15, 30, 45, .08), 0 1px 2px rgba(15, 30, 45, .06);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--max-content-width: 560px}@media(prefers-color-scheme:dark){:root{--color-bg: #0f1720;--color-surface: #17222c;--color-surface-alt: #1e2b36;--color-border: #2c3b47;--color-text: #eef3f7;--color-text-muted: #9fb0bb;--color-primary: #4ba3d6;--color-primary-hover: #6fb8e2;--color-primary-contrast: #06202f;--color-accent: #3fbf95;--color-warn-bg: #2e2308;--color-warn-border: #c88a2c;--color-warn-text: #f4c877;--color-danger-bg: #2e1414;--color-danger-border: #d64545;--color-danger-text: #f5a3a3;--color-success-bg: #0e2a20;--color-success-border: #2a9d6f;--color-success-text: #7fdcb5}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);min-width:320px;overflow-x:hidden}body{font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary)}h1,h2,h3,h4{line-height:1.25;margin:0 0 var(--space-2)}p{margin:0 0 var(--space-3)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.page{width:100%;max-width:var(--max-content-width);margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7);flex:1;display:flex;flex-direction:column}.page-wide{max-width:960px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{display:flex;flex-direction:column;gap:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-size:1rem;font-weight:600;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,transform .05s ease;width:100%}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-weight:600;font-size:.9rem}.field input,.field select{min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);width:100%}.field-help{font-size:.85rem;color:var(--color-text-muted)}.field-error{font-size:.85rem;color:var(--color-danger-text)}.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-height:88px;padding:var(--space-4);border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left}.tile[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-surface-alt)}.tile-label{font-weight:600}.banner{border-radius:var(--radius-md);padding:var(--space-4);border:1px solid;display:flex;gap:var(--space-3);align-items:flex-start}.banner-info{background:var(--color-surface-alt);border-color:var(--color-border)}.banner-warn{background:var(--color-warn-bg);border-color:var(--color-warn-border);color:var(--color-warn-text)}.banner-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.banner-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.progress-track{display:flex;gap:var(--space-1);margin-bottom:var(--space-5)}.progress-step{flex:1;height:4px;border-radius:2px;background:var(--color-border)}.progress-step.done,.progress-step.current{background:var(--color-primary)}.tag{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:999px;font-size:.75rem;font-weight:700;background:var(--color-accent);color:#fff;white-space:nowrap}.tag-outline{background:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.quote-card{border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);cursor:pointer;background:var(--color-surface)}.quote-card[aria-pressed=true]{border-color:var(--color-primary)}.quote-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.quote-price{font-size:1.4rem;font-weight:700}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-3);z-index:100}.skip-link:focus{left:var(--space-3);top:var(--space-3)}table{width:100%;border-collapse:collapse}.table-wrap{overflow-x:auto}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:.9rem}.spinner{width:24px;height:24px;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--color-primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:700px){.tile-grid{grid-template-columns:repeat(3,1fr)}}
