:root,[data-theme=command-deck]{--bg-page: linear-gradient(160deg, #0d1230 0%, #101a44 45%, #131f52 100%);--bg: #0d1230;--surface: rgba(230, 236, 255, .05);--surface-raised: rgba(5, 8, 26, .3);--surface-sunken: #121938;--border: rgba(230, 236, 255, .1);--border-strong: rgba(230, 236, 255, .2);--text: #e6ecff;--text-muted: #c7d2f0;--text-subtle: #93a0c9;--accent: #93c5fd;--accent-hover: #bfdbfe;--accent-soft: rgba(56, 189, 248, .09);--accent-border: rgba(56, 189, 248, .38);--accent-2: #d8b4fe;--accent-2-soft: rgba(192, 132, 252, .08);--accent-2-border: rgba(192, 132, 252, .35);--accent-grad: linear-gradient(90deg, #38bdf8, #818cf8);--num-grad: linear-gradient(90deg, #93c5fd, #d8b4fe);--crown-grad: transparent;--on-accent: #071324;--positive: #6ee7b7;--danger: #fb7185;--overlay: rgba(4, 6, 16, .72);--shadow-modal: 0 24px 60px rgba(0, 0, 0, .55);--color-scheme: dark;--font-display: "Sora", "Avenir Next", system-ui, sans-serif;--font-body: "Nunito Sans", "Segoe UI", system-ui, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 999px;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 14px;--space-6: 16px;--space-7: 20px;--space-8: 28px}[data-theme=paper]{--bg-page: #ffffff;--bg: #ffffff;--surface: #ffffff;--surface-raised: #f8fafc;--surface-sunken: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--text-muted: #475569;--text-subtle: #64748b;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: rgba(99, 91, 255, .07);--accent-border: rgba(99, 91, 255, .35);--accent-2: #7c3aed;--accent-2-soft: rgba(124, 58, 237, .06);--accent-2-border: rgba(124, 58, 237, .3);--accent-grad: linear-gradient(90deg, #38bdf8, #818cf8);--num-grad: linear-gradient(90deg, #0ea5e9, #8b5cf6);--crown-grad: linear-gradient(90deg, #635bff 0%, #06b6d4 45%, #f472b6 100%);--on-accent: #071324;--positive: #10b981;--danger: #e11d48;--overlay: rgba(15, 23, 42, .45);--shadow-modal: 0 24px 60px rgba(15, 23, 42, .25);--color-scheme: light;--font-display: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 999px;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 14px;--space-6: 16px;--space-7: 20px;--space-8: 28px}.ui-body{background:var(--bg) var(--bg-page) fixed;color:var(--text);font-family:var(--font-body)}.ui-crown{height:4px;background:var(--crown-grad);flex-shrink:0}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 18px;font-family:var(--font-body);font-size:13.5px;font-weight:700;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,filter .12s ease}.ui-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-button:disabled{opacity:.45;cursor:not-allowed}.ui-button--primary{background:var(--accent-grad);color:var(--on-accent)}.ui-button--primary:hover:not(:disabled){filter:brightness(1.08)}.ui-button--ghost{background:transparent;color:var(--text-muted);border-color:var(--border-strong)}.ui-button--ghost:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.ui-button--accent-outline{background:transparent;color:var(--accent);border-color:var(--accent-border)}.ui-button--accent-outline:hover:not(:disabled){border-color:var(--accent)}.ui-button--danger{background:transparent;color:var(--danger);border-color:var(--border-strong)}.ui-button--danger:hover:not(:disabled){border-color:var(--danger)}.ui-button--sm{padding:6px 12px;font-size:12.5px}.ui-chip{padding:9px 16px;font-family:var(--font-body);font-size:13.5px;color:var(--text-muted);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-full);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.ui-chip:hover:not(:disabled):not(.ui-chip--selected){border-color:var(--accent);color:var(--text)}.ui-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-chip--selected{background:var(--accent-grad);color:var(--on-accent);border-color:transparent;font-weight:700}.ui-chip:disabled{opacity:.45;cursor:not-allowed}.ui-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ui-toggle{width:36px;height:21px;padding:2px;border:none;border-radius:var(--radius-full);background:var(--border);cursor:pointer;display:inline-flex;align-items:center;transition:background .15s ease}.ui-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-toggle--on{background:var(--accent-grad);justify-content:flex-end}.ui-toggle__knob{width:17px;height:17px;border-radius:var(--radius-full);background:var(--text-subtle);transition:background .15s ease}.ui-toggle--on .ui-toggle__knob{background:var(--bg)}.ui-toggle:disabled{opacity:.45;cursor:not-allowed}.ui-input{color-scheme:var(--color-scheme);padding:10px 14px;font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;box-sizing:border-box}.ui-input::placeholder{color:var(--text-subtle)}.ui-input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.ui-stepper{display:inline-flex;align-items:center;gap:var(--space-3)}.ui-stepper__btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:14px;color:var(--text-subtle);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.ui-stepper__btn:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.ui-stepper__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ui-stepper__btn:disabled{opacity:.45;cursor:not-allowed}.ui-stepper__value{width:56px;text-align:center;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 6px}.ui-stepper__value:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.ui-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}.ui-panel--sunken{background:var(--surface-sunken)}.ui-panel__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.ui-panel__title{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text);margin:0}.ui-modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-6)}.ui-modal{background:var(--surface-sunken);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);width:660px;max-width:100%;max-height:90vh;display:flex;flex-direction:column;font-family:var(--font-body)}.ui-modal--wide{width:780px}.ui-modal__header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-7) var(--space-8) 0 var(--space-8)}.ui-modal__title{font-family:var(--font-display);font-weight:700;font-size:18px;flex-grow:1;margin:0}.ui-modal__close{background:transparent;border:none;color:var(--text-subtle);font-size:18px;line-height:1;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.ui-modal__close:hover{color:var(--text)}.ui-modal__close:focus-visible{outline:2px solid var(--accent)}.ui-modal__body{padding:var(--space-6) var(--space-8);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-6)}.ui-modal__footer{display:flex;gap:var(--space-4);justify-content:flex-end;padding:var(--space-5) var(--space-8) var(--space-7) var(--space-8);border-top:1px solid var(--border)}@media(max-width:720px){.ui-modal-overlay{padding:0;align-items:flex-end}.ui-modal,.ui-modal--wide{width:100%;max-height:94dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:none;border-right:none;border-bottom:none}.ui-modal__header{padding:var(--space-6) var(--space-6) 0 var(--space-6)}.ui-modal__body{padding:var(--space-5) var(--space-6)}.ui-modal__footer{flex-wrap:wrap;padding:var(--space-5) var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom)) var(--space-6)}}.ui-stat{display:flex;flex-direction:column;gap:2px}.ui-stat__label{font-size:12px;font-weight:600;letter-spacing:.4px;color:var(--text-subtle);text-transform:uppercase}.ui-stat__value{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--text)}.ui-stat__sub{font-size:12.5px;color:var(--text-subtle)}.ui-stat--accent .ui-stat__label,.ui-stat--accent .ui-stat__value,.ui-stat--accent .ui-stat__sub{color:var(--on-accent)}.ui-rank-badge{width:26px;height:26px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:13px;border:1px solid var(--border-strong);color:var(--text-subtle);flex-shrink:0}.ui-rank-badge--top{background:var(--accent-grad);border-color:transparent;color:var(--on-accent)}.ui-meter{height:6px;border-radius:var(--radius-full);background:var(--border);overflow:hidden}.ui-meter__fill{height:100%;border-radius:var(--radius-full);background:var(--accent-grad);transition:width .2s ease}.ui-editable{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:0;font-family:var(--font-body);font-size:inherit;color:var(--text);cursor:text;text-align:left;border-bottom:1px dashed transparent}.ui-editable__pencil{font-size:11px;color:var(--text-subtle);opacity:0;transition:opacity .12s ease}.ui-editable:hover{border-bottom-color:var(--border-strong)}.ui-editable:hover .ui-editable__pencil,.ui-editable:focus-visible .ui-editable__pencil{opacity:1}.ui-editable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-editable__input{font-family:var(--font-body);font-size:inherit;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:2px 6px;min-width:0;width:130px}.ui-tag{font-size:10px;font-weight:600;color:var(--accent);border:1px solid var(--accent-border);padding:2px 6px;border-radius:var(--radius-sm);letter-spacing:.4px}.wf-shell{min-height:100vh;display:flex;flex-direction:column}.wf-main{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-3) var(--space-8) var(--space-8) var(--space-8);flex-grow:1}.wf-columns{display:flex;gap:var(--space-7);align-items:flex-start}.wf-weights{width:340px;flex-shrink:0}.wf-deals{flex-grow:1;min-width:0}.wf-tabbar,.wf-ribbon,.wf-fab,.wf-mobile-only{display:none}.wf-header{display:flex;align-items:center;gap:var(--space-6);padding:0 var(--space-8);height:56px}.wf-sheettabs{min-width:0;flex-shrink:1}.wf-header .ui-button{white-space:nowrap}.wf-status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.wf-status-dot[data-status=saved]{background:var(--positive)}.wf-status-dot[data-status=saving]{background:var(--accent)}.wf-status-dot[data-status=offline],.wf-status-dot[data-status=unsaved]{background:var(--danger)}.wf-strip{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--space-5);align-items:stretch}.wf-value-grid{display:grid;grid-template-columns:repeat(var(--value-cols, 1),max-content minmax(0,1fr));align-content:start;align-items:baseline}.wf-plan-line{display:grid;grid-template-columns:auto minmax(0,1fr) 72px 84px;grid-template-areas:"badge name bar rate";column-gap:var(--space-4);align-items:center}.wf-plan-line__badge{grid-area:badge}.wf-plan-line__name{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-plan-line__bar{grid-area:bar}.wf-plan-line__rate{grid-area:rate;text-align:right}.wf-deal-row{display:flex;align-items:center;gap:var(--space-5)}.wf-deal-row__main{flex-grow:1;min-width:0}.wf-trade{display:flex;flex-direction:column;gap:var(--space-2)}.wf-pay-row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.wf-pay-row__chips{flex:1 1 auto;min-width:0}.wf-outputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.wf-deal-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,190px) minmax(0,190px);gap:var(--space-6);align-items:start}@media(max-width:720px){.wf-desktop-only{display:none}.wf-mobile-only{display:revert}.wf-status-dot{display:inline-block}.wf-main{padding:var(--space-3) var(--space-4) calc(64px + var(--space-6) + env(safe-area-inset-bottom)) var(--space-4)}.wf-columns{display:block}.wf-weights{width:auto}.wf-shell[data-mobile-tab=deals] .wf-hero,.wf-shell[data-mobile-tab=points] .wf-hero,.wf-shell[data-mobile-tab=plan] .wf-columns,.wf-shell[data-mobile-tab=deals] .wf-weights,.wf-shell[data-mobile-tab=points] .wf-deals{display:none}.wf-ribbon{display:flex;align-items:center;gap:var(--space-4);width:100%;text-align:left;padding:var(--space-4) var(--space-5);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);color:var(--text);font-family:var(--font-body);font-size:13px;cursor:pointer}.wf-shell[data-mobile-tab=plan] .wf-ribbon{display:none}.wf-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface-sunken);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.wf-fab{display:flex;position:fixed;right:var(--space-6);bottom:calc(64px + var(--space-5) + env(safe-area-inset-bottom));z-index:40;width:56px;height:56px;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);background:var(--accent-grad);color:var(--on-accent);box-shadow:var(--shadow-modal);cursor:pointer}.wf-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wf-header{gap:var(--space-3);padding:0 var(--space-4)}.wf-sheettabs{overflow-x:auto;scrollbar-width:none;white-space:nowrap}.wf-strip{grid-template-columns:minmax(0,1fr)}.wf-value-grid{grid-template-columns:max-content minmax(0,1fr)}.wf-plan-line{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"badge name rate" "badge bar  bar";row-gap:var(--space-2)}.wf-plan-line__rate{width:auto}.wf-deal-row{flex-wrap:wrap;row-gap:var(--space-2);gap:var(--space-4)}.wf-deal-row__main{flex:1 1 100%}.wf-deal-row__edit{margin-left:auto}.wf-outputs,.wf-deal-meta{grid-template-columns:minmax(0,1fr)}}
