:root{--bg-root:#faf7f0;--bg-surface:#f6f1e5;--bg-card:#f1ebdb;--bg-card-hover:#ece5d3;--bg-elevated:#fdfcf7;--bg-input:#fdfcf7;--text-primary:#1a1d20;--text-secondary:#545861;--text-muted:#8a8e95;--text-inverse:#fff;--accent:#2a4d7a;--accent-dim:#2a4d7a12;--accent-hover:#1f3a5c;--accent-warm:#8a5a1c;--accent-warm-dim:#8a5a1c20;--accent-red:#8a2a1c;--accent-red-dim:#8a2a1c15;--accent-blue:#2a4d7a;--accent-blue-dim:#2a4d7a20;--brand-red:#8a2a1c;--border:#e4ddca;--border-strong:#d8d2c2;--border-focus:var(--accent);--success:#1f5d3d;--danger:#8a2a1c;--danger-bg:#f6ece9;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #1a1d200f;--shadow-md:0 4px 12px #1a1d2014;--shadow-lg:0 8px 32px #1a1d201a;--font-ui:"IBM Plex Sans", system-ui, sans-serif;--font-display:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--font-serif:"IBM Plex Serif", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-ui);background:var(--bg-root);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html:has(.app-editor-root){overscroll-behavior:none}html:has(.app-editor-root) body{overscroll-behavior:none}::selection{background:var(--accent);color:var(--text-inverse)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,select,button{font-family:var(--font-ui)}.app-editor-root{height:100%;overflow:hidden}.price-drawer.drawer-fullscreen,.feas-drawer.drawer-fullscreen{border-left:none;width:100%;max-width:100%}@keyframes spin{to{transform:rotate(360deg)}}.balloon-selected:after{content:"";border-radius:inherit;pointer-events:none;border:2.5px solid #1e88e5;animation:1s ease-out 3 balloon-ping;position:absolute;inset:-5px}@keyframes balloon-ping{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}@media (prefers-reduced-motion:reduce){.balloon-selected:after{animation:none}}.cm-overlay{z-index:400;background:#1a1d2047;justify-content:center;align-items:center;padding:24px;animation:.14s ease-out cm-fade;display:flex;position:fixed;inset:0}.cm-panel{background:var(--bg-elevated);width:640px;max-width:100%;max-height:88vh;color:var(--text-primary);font-family:var(--font-ui);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s cubic-bezier(.16,.84,.44,1) cm-rise;display:flex;overflow:hidden}@keyframes cm-fade{0%{opacity:0}to{opacity:1}}@keyframes cm-rise{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cm-panel,.cm-overlay{animation:none}}.cm-head{border-bottom:1px solid var(--border);padding:16px 20px 14px;position:relative}.cm-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.cm-title-row{align-items:baseline;gap:10px;margin-top:5px;display:flex}.cm-title{letter-spacing:-.01em;color:var(--text-primary);text-transform:capitalize;font-size:21px;font-weight:600}.cm-status{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border-strong);color:var(--text-muted);background:var(--bg-card);border-radius:20px;padding:2px 8px;font-size:10px}.cm-status.is-custom{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border-strong));background:var(--accent-dim)}.cm-sub{color:var(--text-muted);margin-top:4px;font-size:11.5px;line-height:1.5}.cm-sub b{color:var(--text-secondary);font-weight:600}.cm-close{border:1px solid var(--border);width:26px;height:26px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;font-size:16px;line-height:1;position:absolute;top:14px;right:16px}.cm-close:hover{color:var(--text-primary);background:var(--bg-card)}.cm-actingas{background:var(--accent-warm-dim);border:1px solid var(--accent-warm);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-top:12px;padding:8px 10px;display:flex}.cm-actingas label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-warm);font-size:9px}.cm-actingas select{font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);cursor:pointer;text-transform:capitalize;flex:1;padding:4px 7px;font-size:12px}.cm-error{color:var(--danger);background:var(--danger-bg);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);border-radius:var(--radius-sm);margin:12px 20px 0;padding:8px 10px;font-size:12px}.cm-body{flex:1;padding:6px 20px 4px;overflow-y:auto}.cm-loading{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.cm-route{padding:15px 0}.cm-route+.cm-route{border-top:1px solid var(--border)}.cm-route-head{align-items:baseline;gap:9px;margin-bottom:11px;display:flex}.cm-route-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative;top:2px}.cm-route-name{color:var(--text-primary);text-transform:capitalize;font-size:14.5px;font-weight:600}.cm-route-sub{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;margin-left:auto;font-size:10px}.cm-cat{margin:0 0 4px 17px;padding:9px 0}.cm-cat+.cm-cat{border-top:1px dashed var(--border)}.cm-cat-name{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:7px;font-size:10.5px}.cm-grid{grid-template-columns:repeat(2,1fr);gap:6px 16px;display:grid}.cm-field{justify-content:space-between;align-items:center;gap:8px;display:flex}.cm-field-lbl{color:var(--text-secondary);font-size:11.5px}.cm-field-in{align-items:center;gap:5px;display:inline-flex}.cm-field input{text-align:right;width:72px;font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);padding:4px 7px;font-size:12px}.cm-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.cm-unit{font-family:var(--font-mono);color:var(--text-muted);width:20px;font-size:9.5px}.cm-route-fields{margin-left:17px}.cm-triple{align-items:center;gap:8px;margin:5px 0;display:flex}.cm-triple-lbl{color:var(--text-secondary);min-width:96px;font-size:11.5px}.cm-triple input{text-align:right;width:58px;font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);padding:4px 6px;font-size:12px}.cm-triple input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.cm-times{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.cm-list{margin:9px 0 2px 17px}.cm-list-lbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;font-size:9.5px}.cm-chips{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.cm-chip{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-strong);border-radius:20px;align-items:center;gap:5px;padding:2px 4px 2px 9px;font-size:10.5px;display:inline-flex}.cm-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0 2px;font-size:13px;line-height:1}.cm-chip button:hover{color:var(--danger)}.cm-chip-empty{font-family:var(--font-mono);color:var(--text-muted);font-size:10.5px;font-style:italic}.cm-chip-add{font-family:var(--font-mono);border:1px dashed var(--border-strong);width:108px;color:var(--text-primary);background:0 0;border-radius:20px;padding:3px 8px;font-size:10.5px}.cm-chip-add:focus{border-color:var(--accent);border-style:solid;outline:none}.cm-foot{border-top:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:10px;padding:13px 20px;display:flex}.cm-foot-row{align-items:center;gap:12px;display:flex}.cm-save{font-family:var(--font-ui);color:var(--text-inverse);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;padding:8px 20px;font-size:13px;font-weight:600;transition:background .12s}.cm-save:hover:not(:disabled){background:var(--accent-hover)}.cm-save:disabled{opacity:.45;cursor:default}.cm-dirty{color:var(--accent-warm);font-size:11.5px}.cm-saved{color:var(--success);align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.cm-foot-note{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:9.5px}.cm-history summary{cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:10px;list-style:none;display:inline-flex}.cm-history summary::-webkit-details-marker{display:none}.cm-history summary:before{content:"▸";font-size:9px;transition:transform .12s}.cm-history[open] summary:before{transform:rotate(90deg)}.cm-history summary:hover{color:var(--text-secondary)}.cm-hist-row{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:10px;padding:5px 0;font-size:10.5px;display:flex}.cm-hist-row+.cm-hist-row{border-top:1px solid var(--border)}.cm-hist-when{color:var(--text-secondary)}.cm-hist-who{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cm-hist-restore{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:4px;padding:1px 8px;font-size:10px}.cm-hist-restore:hover{border-color:var(--accent);background:var(--accent-dim)}.register{border-top:1px solid var(--border-strong)}.register-row{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;grid-template-columns:2.5rem minmax(0,1fr) auto 1.25rem;align-items:stretch;gap:16px;padding:13px 8px 13px 4px;transition:background .14s;display:grid}.register-row:hover,.register-row:focus-visible{background:var(--bg-card-hover);outline:none}.register-idx{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);letter-spacing:.06em;font-size:11px}.register-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.register-name{font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.register-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.register-customer{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}.register-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;letter-spacing:.04em;align-self:start;padding-top:2px;font-size:11px}.register-arrow{font-family:var(--font-mono);color:var(--accent);opacity:0;font-size:12px;transition:opacity .14s,transform .14s;transform:translate(-3px)}.register-row:hover .register-arrow,.register-row:focus-visible .register-arrow{opacity:1;transform:translate(0)}.register-row{animation:.32s cubic-bezier(.2,.6,.3,1) backwards register-in}@keyframes register-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.register-skeleton{background:var(--border);border-radius:2px;height:13px;animation:1.3s ease-in-out infinite register-pulse}@keyframes register-pulse{0%,to{opacity:.45}50%{opacity:.85}}@media (prefers-reduced-motion:reduce){.register-row,.register-skeleton{animation:none}.register-arrow{transition:none}}.feasibility-panel{background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-ui)}.feasibility-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.feas-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px}.feas-header-actions{align-items:center;gap:6px;display:flex}.feas-run{font-family:var(--font-mono);color:var(--accent);background:var(--accent-dim);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:4px 10px;font-size:11px}.feas-run:hover{color:var(--accent-hover)}.feas-run:disabled{opacity:.6;cursor:default}.feas-scope{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-transform:capitalize;padding:3px 6px;font-size:10.5px}.feas-scope:disabled{opacity:.6;cursor:default}.feas-close{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:24px;height:24px;font-size:15px;line-height:1}.feas-close:hover{color:var(--text-primary);background:var(--bg-card)}.feas-error{color:var(--danger);margin:10px 15px;font-size:12px}.feas-empty{color:var(--text-muted);font-size:12.5px}.tone-go{color:var(--success)}.tone-buy{color:var(--accent)}.tone-rev{color:var(--accent-warm)}.tone-no{color:var(--danger)}.tone-na{color:var(--text-muted)}.feas-risk{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:9px 15px;font-size:12px;font-weight:600;display:flex}.feas-risk.tone-go{background:color-mix(in srgb, var(--success) 9%, transparent)}.feas-risk.tone-rev{background:var(--accent-warm-dim)}.feas-risk.tone-no{background:var(--danger-bg)}.feas-risk-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.feas-block{border-bottom:1px solid var(--border);padding:13px 15px}.feas-block:last-child{border-bottom:none}.feas-block-hd{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;margin-bottom:9px;font-size:9.5px;display:flex}.feas-hint{letter-spacing:0;text-transform:none;color:var(--text-muted);font-size:10px}.feas-route{padding:8px 0}.feas-route+.feas-route{border-top:1px solid var(--border)}.feas-route-head{cursor:pointer;width:100%;font-family:var(--font-ui);background:0 0;border:none;align-items:baseline;gap:9px;padding:0;display:flex}.feas-route-head:hover .feas-det-route{color:var(--accent)}.feas-det-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:9px;height:9px;position:relative;top:1px}.feas-det-route{color:var(--text-primary);font-size:14px;font-weight:600}.feas-det-vd{font-family:var(--font-mono);margin-left:auto;font-size:11px;font-weight:600}.feas-route-caret{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.feas-det-why{color:var(--text-secondary);margin:2px 0 0 18px;font-size:12px;line-height:1.45}.feas-det-checks{flex-direction:column;gap:3px;margin:8px 0 0 18px;display:flex}.feas-chk-why{color:var(--text-secondary);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex-basis:100%;margin-left:20px;font-size:11.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.feas-gov-detail{font-family:var(--font-mono);color:var(--text-muted);flex-basis:100%;margin-left:20px;font-size:10px;font-style:italic}.feas-gov-ref{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--border-strong);border-radius:4px;padding:0 4px;font-size:9.5px}button.feas-gov-ref{cursor:pointer;background:0 0;margin-left:4px}button.feas-gov-ref:hover{border-color:var(--accent);background:var(--accent-dim)}.feas-concern{gap:9px;padding:8px 0;font-size:12.5px;line-height:1.45;display:flex}.feas-concern+.feas-concern{border-top:1px dashed var(--border)}.feas-concern-w{color:var(--accent-warm);flex-shrink:0}.feas-concern-t b{color:var(--text-primary);font-weight:600}.feas-concern-t{color:var(--text-secondary)}.feas-concern-action{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.45;display:block}.feas-class-why{color:var(--text-muted);margin-top:9px;font-size:11.5px;line-height:1.5}.feas-class-surface{color:var(--text-muted);margin-top:7px;font-size:11.5px;line-height:1.5}.feas-class-surface strong{color:var(--text-primary);font-weight:600}.feas-class-rerun{background:var(--accent-warm-dim);border:1px solid var(--accent-warm);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-top:11px;padding:9px 11px;display:flex}.feas-class-warn{color:var(--text-primary);flex:1;min-width:160px;font-size:11.5px}.feas-class-rerun .feas-run{margin-left:auto}.feas-basis{cursor:pointer;width:100%;color:var(--text-secondary);font-size:12.5px;font-family:var(--font-ui);background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.feas-basis-cv{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:10.5px}.feas-basis-body{margin-top:10px}.feas-basis-part{color:var(--text-secondary);margin-bottom:9px;font-size:12px;line-height:1.5}.feas-basis-part b{color:var(--text-primary);text-transform:capitalize;font-weight:600}.feas-basis-conf{font-family:var(--font-mono);color:var(--success)}.feas-basis-edit{gap:12px;margin-bottom:10px;display:flex}.feas-basis-edit label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:3px;font-size:9px;display:flex}.feas-basis-edit select,.feas-basis-edit input{font-family:var(--font-ui);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);text-transform:none;letter-spacing:0;padding:3px 6px;font-size:12px}.feas-basis-edit input{width:64px}.feas-chk{color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:8px;width:100%;padding:3px 0;font-size:11.5px;display:flex}.feas-chk-i{font-family:var(--font-mono);flex-shrink:0;font-weight:600}.feas-chk-rule{color:var(--text-secondary)}.feas-chk-v{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto}.feas-chk-btn{text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font-ui);background:0 0;border:none;margin:0 -4px;padding:3px 4px}.feas-chk-btn:hover{background:var(--accent-dim)}.feas-chk-btn:hover .feas-gov-ref{border-color:var(--accent);background:var(--accent-dim)}.feas-basis-foot{font-family:var(--font-mono);color:var(--text-muted);margin-top:8px;font-size:10px;line-height:1.5}.feas-chip{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-strong);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:3px 9px;font-size:10.5px;display:inline-flex}.feas-chip:hover{border-color:var(--accent)}.feas-chip-flag{color:var(--accent)}.feas-chip-mute{color:var(--text-muted)}.feas-chip-sep{color:var(--text-muted);margin:0 5px}.feas-chip-caret{color:var(--text-muted);font-size:9px}.feas-chip-part .tone-go,.feas-chip-part .tone-buy,.feas-chip-part .tone-rev,.feas-chip-part .tone-no{font-weight:600}.feas-drawer-scrim{z-index:300;pointer-events:none;background:#1a1d2014;animation:.12s ease-out feas-fade;position:fixed;inset:0}.feas-drawer{z-index:301;background:var(--bg-elevated);border-left:1px solid var(--border-strong);width:380px;max-width:92vw;animation:.16s ease-out feas-slide;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-10px 0 32px #1a1d201f}@keyframes feas-slide{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes feas-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.feas-drawer,.feas-drawer-scrim{animation:none}}.feas-debug-h{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:baseline;margin:12px 0 5px;font-size:9px;display:flex}.feas-debug-h .feas-hint{letter-spacing:0;text-transform:none;font-size:10px}.feas-dbg-empty{color:var(--text-muted);font-size:11px}.feas-dbg-row{flex-wrap:wrap;align-items:baseline;gap:7px;padding:5px 0;font-size:12px;display:flex}.feas-dbg-row+.feas-dbg-row{border-top:1px solid var(--border)}.feas-dbg-lbl{color:var(--text-primary);flex:0 0 62px;font-weight:600}.feas-dbg-v{min-width:0;font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:11px;overflow:hidden}.feas-dbg-ar{color:var(--text-muted);flex:none}.feas-dbg-b{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:0 5px;font-size:10.5px}.feas-dbg-b:hover{border-color:var(--accent);background:var(--accent-dim)}.feas-dbg-warn{font-family:var(--font-mono);color:var(--accent-warm);background:var(--accent-warm-dim);border:1px solid color-mix(in srgb, var(--accent-warm) 30%, var(--border-strong));border-radius:4px;flex:none;padding:0 5px;font-size:10.5px}.feas-debug-pre{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-height:200px;margin:0;padding:8px;font-size:10px;overflow:auto}.feas-disclaimer{color:var(--text-muted);border-top:1px solid var(--border);padding:10px 15px;font-size:10.5px;font-style:italic;line-height:1.5}.feas-price-next{border-radius:var(--radius-sm);color:#fff;background:var(--accent);cursor:pointer;border:0;width:calc(100% - 30px);margin:2px 15px 16px;padding:10px;font-weight:600}.price-panel{background:var(--bg-elevated);min-height:100%;color:var(--text-primary);font-family:var(--font-ui)}.price-chip{white-space:nowrap;cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-secondary);font:10.5px var(--font-mono);border-radius:6px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.price-chip:hover{border-color:var(--accent)}.price-chip b{color:var(--accent)}.price-chip-label,.price-chip-caret,.price-chip-sep{color:var(--text-muted)}.price-chip-status{color:var(--success)}.price-chip.stale{border-color:var(--accent-warm)}.price-chip.stale .price-chip-status{color:var(--accent-warm)}.price-drawer{z-index:301;background:var(--bg-elevated);border-left:1px solid var(--border-strong);width:540px;max-width:92vw;animation:.16s ease-out feas-slide;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-10px 0 32px #1a1d201f}.price-header{z-index:2;background:color-mix(in srgb, var(--bg-elevated) 94%, transparent);border-bottom:1px solid var(--border);grid-template-columns:105px 1fr 30px;align-items:start;gap:10px;padding:18px;display:grid;position:sticky;top:0}.price-header h2{margin:2px 0 0;font-size:19px}.price-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:9px}.price-link,.price-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:0}.price-link{text-align:left;padding:4px 0}.price-close{font-size:24px;line-height:1}.price-inputs,.price-result,.price-message,.price-unavailable{border-bottom:1px solid var(--border);padding:18px}.price-inputs h3{margin:0 0 14px;font-size:14px}.price-inputs h3 span,.price-inputs label span{color:var(--text-muted);font-size:10px;font-weight:400}.price-inputs label{font-size:10px;font-family:var(--font-mono);text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:4px;display:flex}.price-inputs input,.price-inputs select{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--bg-input);width:100%;color:var(--text-primary);font:12px var(--font-ui);text-transform:none;border-radius:5px;padding:8px}.price-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.price-warning,.price-error{color:var(--accent-warm);background:var(--accent-warm-dim);border-radius:5px;padding:9px 11px;font-size:11px;line-height:1.45}.price-error{color:var(--danger);background:var(--danger-bg);margin:12px 18px}.price-ack{align-items:flex-start;margin:12px 0;line-height:1.4;text-transform:none!important;flex-direction:row!important;gap:8px!important}.price-ack input{width:auto}.price-actions{grid-template-columns:auto 1fr;gap:9px;margin-top:14px;display:grid}.price-calculate,.price-reset{cursor:pointer;border-radius:5px;padding:10px 14px;font-weight:600}.price-calculate{background:var(--accent);color:#fff;border:0}.price-reset{border:1px solid var(--border-strong);color:var(--text-secondary);background:0 0}.price-reset:hover{border-color:var(--accent);color:var(--accent)}.price-calculate:disabled{opacity:.45;cursor:not-allowed}.price-required{color:var(--danger);margin:12px 0 0;font-size:11px}.price-part{font:600 15px var(--font-mono);color:var(--text-primary);margin:4px 0 2px}.price-value{font:700 36px var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--accent);margin-top:8px}.price-range{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:14px}.price-confidence{font:10px var(--font-mono);text-transform:uppercase;border-radius:12px;padding:3px 7px;display:inline-block}.price-confidence.medium{color:var(--success);background:color-mix(in srgb, var(--success) 10%, transparent)}.price-confidence.low{color:var(--accent-warm);background:var(--accent-warm-dim)}.price-result ul{color:var(--text-secondary);padding-left:18px;font-size:11.5px;line-height:1.5}.price-validation{background:var(--bg-card);border:1px solid var(--border);font:11.5px/1.55 var(--font-ui);color:var(--text-secondary);border-radius:5px;margin:13px 0;padding:10px 11px}.price-validation b{color:var(--text-primary)}.price-validation-note{color:var(--text-muted)}.price-hint{color:var(--accent-warm);background:var(--accent-warm-dim);border-radius:5px;margin:6px 0 2px;padding:8px 10px;font-size:11px;line-height:1.45}.price-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:13px;display:flex}.price-flag{font:10px var(--font-mono);text-transform:uppercase;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:3px 7px}.price-comparables-block{margin-top:14px}.price-comparables-block h4{color:var(--text-secondary);margin:0 0 2px;font-size:12px}.price-disclaimer{border-top:1px solid var(--border);color:var(--text-muted);margin:16px 0 0;padding-top:12px;font-size:10.5px;line-height:1.5}.price-comparable{border-top:1px dashed var(--border);align-items:center;gap:10px;padding:9px 0;font-size:11.5px;display:flex}.price-comparable-text{flex:1;grid-template-columns:1fr auto;gap:2px 8px;min-width:0;display:grid}.price-comparable-text small{color:var(--text-muted);grid-column:1/-1}.price-comparable-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.price-comparable-thumb{object-fit:cover;border:1px solid var(--border);background:var(--bg-input);border-radius:4px;flex:none;width:56px;height:56px}.price-comparable-thumb--empty{color:var(--text-muted);justify-content:center;align-items:center;font-size:20px;display:flex}.price-unavailable b{color:var(--danger)}.price-unavailable p{color:var(--text-secondary);font-size:12px;line-height:1.5}.price-result-footer{margin-top:16px}.price-download{border:1px solid var(--border-strong);color:var(--text-secondary);font:600 11px var(--font-ui);cursor:pointer;background:0 0;border-radius:5px;padding:8px 12px}.price-download:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.price-download:disabled{opacity:.45;cursor:not-allowed}.price-strip{width:100%;height:auto;margin:10px 0 4px;display:block}.price-strip-band{fill:var(--accent);fill-opacity:.1}.price-strip-axis{stroke:var(--border);stroke-width:1px}.price-strip-dot{fill:var(--text-muted);fill-opacity:.6}.price-strip-mark{stroke:var(--accent);stroke-width:2px}.price-strip-me{fill:var(--accent);stroke:var(--bg-elevated);stroke-width:2px}.price-strip-label{fill:var(--accent);font:600 11px var(--font-mono)}.price-drivers{margin-top:14px}.price-drivers h4{color:var(--text-secondary);margin:0 0 2px;font-size:12px}.price-drivers-sub{color:var(--text-muted);margin:0 0 10px;font-size:10.5px;line-height:1.4}.price-drivers-foot{color:var(--text-muted);margin:10px 0 0;font-size:10px;line-height:1.45}.price-driver{border-top:1px solid var(--border);grid-template-columns:16px 1fr;gap:8px;padding:9px 0;display:grid}.price-driver:first-of-type{border-top:none}.price-driver-arrow{font:700 13px var(--font-mono);line-height:1.35}.price-driver.up .price-driver-arrow{color:var(--accent-warm)}.price-driver.dn .price-driver-arrow{color:var(--success)}.price-driver-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.price-driver-label{color:var(--text-primary);font-size:12.5px;font-weight:600}.price-driver-word{font:10px var(--font-mono);text-transform:uppercase;white-space:nowrap;color:var(--text-muted)}.price-driver-bar{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px;height:5px;margin:7px 0 5px;overflow:hidden}.price-driver-bar>span{border-radius:3px;height:100%;display:block}.price-driver.dn .price-driver-bar>span{background:var(--success)}.price-driver.up .price-driver-bar>span{background:var(--accent-warm)}.price-driver-context{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.4}.price-volume{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:13px 0 2px;display:grid}.price-volume label{font:10px var(--font-mono);text-transform:uppercase;color:var(--text-muted)}.price-volume input{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--bg-input);width:100%;color:var(--text-primary);font:12px var(--font-mono);border-radius:5px;padding:7px 8px}.price-volume input[aria-invalid=true]{border-color:var(--danger)}.price-volume button{background:var(--accent);color:#fff;font:600 11px var(--font-ui);cursor:pointer;border:0;border-radius:5px;padding:7px 12px}.price-volume button:disabled{opacity:.45;cursor:not-allowed}.price-volume-hint{color:var(--text-muted);grid-column:1/-1;font-size:10px}.price-needmass{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:12px;margin:8px 0 14px;padding:13px 14px;display:flex}.price-needmass-icon{background:var(--bg-input);width:38px;height:38px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.price-needmass-title{font:600 14px var(--font-ui);color:var(--text-primary);margin:1px 0 4px}.price-needmass-body{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.5}.price-provide{margin:0 0 14px}.price-provide-grid{grid-template-columns:auto 1fr;align-items:center;gap:9px 12px;margin-bottom:12px;display:grid}.price-provide-grid label{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.price-provide-opt{text-transform:none;letter-spacing:0;opacity:.7}.price-provide-masswrap{align-items:center;display:flex;position:relative}.price-provide input{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--bg-input);width:100%;color:var(--text-primary);font:13px var(--font-mono);border-radius:5px;padding:8px 9px}.price-provide-masswrap input{padding-right:34px}.price-provide-unit{font:11px var(--font-mono);color:var(--text-muted);pointer-events:none;position:absolute;right:10px}.price-provide input[aria-invalid=true]{border-color:var(--danger)}.price-provide button{background:var(--accent);color:#fff;width:100%;font:600 12px var(--font-ui);cursor:pointer;border:0;border-radius:6px;padding:9px 12px}.price-provide button:hover:not(:disabled){filter:brightness(1.06)}.price-provide button:disabled{opacity:.45;cursor:not-allowed}.price-note{color:var(--text-muted);margin:8px 0 0;font-size:11.5px;line-height:1.5}.price-conf{margin-top:13px}.price-conf-pill{font:10px var(--font-mono);text-transform:uppercase;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:5px;padding:3px 7px 3px 8px;transition:filter .12s;display:inline-flex}.price-conf-pill:hover{filter:brightness(.97)saturate(1.1)}.price-conf-pill.medium{color:var(--success);background:color-mix(in srgb, var(--success) 10%, transparent)}.price-conf-pill.low{color:var(--accent-warm);background:var(--accent-warm-dim)}.price-conf-caret{opacity:.8;transition:transform .16s}.price-conf-caret.open{transform:rotate(180deg)}.price-conf-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;margin:8px 0 0;padding:2px 14px;list-style:none;animation:.14s ease-out price-conf-in}.price-conf-detail li{color:var(--text-secondary);padding:8px 0 8px 17px;font-size:12px;line-height:1.5;position:relative}.price-conf-detail li+li{border-top:1px solid var(--border)}.price-conf-detail li:before{content:"";background:var(--accent-warm);border-radius:50%;width:5px;height:5px;position:absolute;top:13px;left:2px}@keyframes price-conf-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
