:root{color:#1f2937;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;line-height:1.5;text-rendering:optimizeLegibility;--bg: #f3f5f9;--border: #d8dee8;--card-bg: #ffffff;--danger: #b42318;--danger-bg: #fee4e2;--ink-soft: #5e6c84;--primary: #0f4c81;--primary-soft: #e7f0f7;--success: #067647;--success-bg: #dcfae6;--warning: #b54708;--warning-bg: #ffead5}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-width:320px;background:radial-gradient(circle at top,#fbfcff,var(--bg))}#root{min-height:100vh}a{color:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem clamp(1rem,2.5vw,2rem);position:sticky;top:0;z-index:10}.top-nav__brand{display:flex;flex-direction:column}.brand-eyebrow{color:var(--ink-soft);font-size:.75rem;letter-spacing:.04em;margin:0;text-transform:uppercase}.brand-title{font-size:1rem;font-weight:700;margin:0}.top-nav__links{display:flex;gap:.5rem;align-items:center}.top-nav__link{border-radius:999px;color:var(--ink-soft);font-size:.9rem;font-weight:600;padding:.5rem .875rem;text-decoration:none}.top-nav__link:hover{background:#f2f5fa;color:#172b4d}.top-nav__link:focus-visible{outline:2px solid color-mix(in srgb,var(--primary),transparent 60%);outline-offset:2px}.top-nav__link--active{background:var(--primary-soft);color:var(--primary)}.app-main{width:min(1100px,100%);margin:0 auto;padding:clamp(1rem,3vw,2rem)}.page{display:flex;flex-direction:column;gap:1rem}.page__header h1{margin-bottom:.35rem;margin-top:0}.page__header p{color:var(--ink-soft);margin:0}.page__header--row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.grid{display:grid;gap:1rem}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:.85rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:.65rem;padding:1rem}.card__title{font-size:1.05rem;margin:0}.card__description{color:var(--ink-soft);margin:0}.card__content{display:flex;flex-direction:column;gap:.9rem}.card__footer{margin-top:.35rem}.card--inset{background:#f8fafc}.placeholder-card{border-style:dashed}.form{display:flex;flex-direction:column;gap:1rem}.form__actions{display:flex;justify-content:flex-end}.field-group{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.86rem;font-weight:600}.field-control{background:#fff;border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:.95rem;padding:.65rem .75rem}.field-control:focus-visible{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary),transparent 70%);outline-offset:1px}.field-error{color:var(--danger);font-size:.8rem;margin:0}.field-helper{color:var(--ink-soft);font-size:.8rem;margin:0}textarea.field-control{min-height:100px;resize:vertical}.btn{border:1px solid transparent;border-radius:10px;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:.55rem .95rem;transition:.12s ease}.btn:disabled{cursor:not-allowed;opacity:.65}.btn:focus-visible{outline:2px solid color-mix(in srgb,var(--primary),transparent 65%);outline-offset:2px}.btn--full{width:100%}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background:#0b3a63}.btn--ghost{background:#fff;border-color:var(--border);color:#1d2939}.btn--ghost:hover:not(:disabled){background:#f5f7fb}.btn--danger{background:var(--danger-bg);color:var(--danger)}.btn--danger:hover:not(:disabled){filter:brightness(.97)}.inline-link{color:var(--primary);font-weight:600;text-decoration:none}.inline-link:hover{text-decoration:underline}.inline-link:focus-visible{border-radius:6px;outline:2px solid color-mix(in srgb,var(--primary),transparent 65%);outline-offset:2px}.wizard-steps{display:grid;gap:.6rem;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.wizard-steps__item{align-items:flex-start;background:#f8fafc;border:1px solid var(--border);border-radius:12px;display:flex;gap:.5rem;padding:.55rem .6rem}.wizard-steps__item--active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary),white 50%)}.wizard-steps__index{align-items:center;background:#fff;border:1px solid var(--border);border-radius:999px;color:#344054;display:inline-flex;font-size:.75rem;font-weight:700;height:1.4rem;justify-content:center;min-width:1.4rem}.wizard-steps__title{font-size:.8rem;font-weight:700;margin:0}.wizard-steps__description{color:var(--ink-soft);font-size:.73rem;margin:0}.wizard-actions{display:flex;justify-content:space-between;margin-top:.5rem}.line-item__actions{display:flex;justify-content:flex-end}.badge{border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:700;line-height:1;padding:.35rem .55rem;text-transform:capitalize}.badge--neutral{background:#eff3f8;color:#344054}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--danger{background:var(--danger-bg);color:var(--danger)}.quote-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.quote-meta p{margin:0}.row-actions{align-items:center;display:flex;gap:.75rem}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--border);padding:.65rem;text-align:left}.table th{color:var(--ink-soft);font-size:.8rem;font-weight:700;text-transform:uppercase}.totals{margin-left:auto;max-width:320px;width:100%}.totals p{display:flex;justify-content:space-between;margin:.5rem 0}.fx-preview{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.fx-preview p{margin:.35rem 0}.fx-preview__error{align-items:flex-start;display:flex;flex-direction:column;gap:.35rem}.muted{color:var(--ink-soft);margin:0}.route-loading-state{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:3px solid #d0dae6;border-top-color:var(--primary);border-radius:50%;height:28px;width:28px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.grid--2,.grid--3{grid-template-columns:1fr}.wizard-steps{grid-template-columns:1fr 1fr}.page__header--row{align-items:stretch;flex-direction:column}.row-actions{align-items:flex-start;flex-direction:column}}
