body{margin:0}:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-bg:#f5f6f8;--color-surface:#fff;--color-surface-muted:#f8f9fb;--color-border:#e2e5ea;--color-border-strong:#c9ced6;--color-text:#1b1f27;--color-text-muted:#6b7280;--color-text-subtle:#94a0b2;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#eaf0fe;--color-accent:#0d9488;--color-accent-soft:#e3f6f3;--color-success:#16a34a;--color-success-soft:#e9f9ef;--color-danger:#dc2626;--color-danger-soft:#fdeaea;--color-warning:#d97706;--color-warning-soft:#fdf3e3;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#11131a;--color-surface:#1a1d26;--color-surface-muted:#20232e;--color-border:#2c3040;--color-border-strong:#3a3f52;--color-text:#e7e9ee;--color-text-muted:#9aa2b1;--color-text-subtle:#6b7280;--color-primary:#5b8def;--color-primary-hover:#7aa2f2;--color-primary-soft:#1f2a44;--color-accent:#2dd4bf;--color-accent-soft:#113a37;--color-success:#4ade80;--color-success-soft:#153826;--color-danger:#f87171;--color-danger-soft:#3a1f22;--color-warning:#fbbf24;--color-warning-soft:#3a2f14;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0006}}:root[data-theme=dark]{--color-bg:#11131a;--color-surface:#1a1d26;--color-surface-muted:#20232e;--color-border:#2c3040;--color-border-strong:#3a3f52;--color-text:#e7e9ee;--color-text-muted:#9aa2b1;--color-text-subtle:#6b7280;--color-primary:#5b8def;--color-primary-hover:#7aa2f2;--color-primary-soft:#1f2a44;--color-accent:#2dd4bf;--color-accent-soft:#113a37;--color-success:#4ade80;--color-success-soft:#153826;--color-danger:#f87171;--color-danger-soft:#3a1f22;--color-warning:#fbbf24;--color-warning-soft:#3a2f14;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0006}:root[data-theme=light]{--color-bg:#f5f6f8;--color-surface:#fff;--color-surface-muted:#f8f9fb;--color-border:#e2e5ea;--color-border-strong:#c9ced6;--color-text:#1b1f27;--color-text-muted:#6b7280;--color-text-subtle:#94a0b2;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#eaf0fe;--color-accent:#0d9488;--color-accent-soft:#e3f6f3;--color-success:#16a34a;--color-success-soft:#e9f9ef;--color-danger:#dc2626;--color-danger-soft:#fdeaea;--color-warning:#d97706;--color-warning-soft:#fdf3e3;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);margin:0}#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);border-top:3px solid var(--color-primary);z-index:10;position:sticky;top:0}.app-header-inner{align-items:center;gap:1.5rem;max-width:1040px;margin:0 auto;padding:.85rem 1.5rem;display:flex}.app-brand{letter-spacing:-.01em;background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin-right:auto;font-size:1.05rem;font-weight:700}.app-nav{gap:.25rem;display:flex}.app-header-actions{align-items:center;gap:.6rem;display:flex}.app-nav a{color:var(--color-text-muted);border-radius:var(--radius-sm);padding:.5rem .9rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.app-nav a:hover{background:var(--color-surface-muted);color:var(--color-text)}.app-nav a.active{background:var(--color-primary-soft);color:var(--color-primary)}button.app-menu-toggle,.app-nav-mobile-wrapper{display:none}@media (width<=680px){.app-nav-desktop,.app-header-actions-desktop{display:none}button.app-menu-toggle{display:inline-flex}.app-nav-mobile-wrapper{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.app-nav-mobile-wrapper.open{grid-template-rows:1fr}.app-nav-mobile{opacity:0;border-top:1px solid #0000;flex-direction:column;gap:.25rem;min-height:0;padding:0 1.5rem;transition:opacity .2s,padding .25s,border-color .25s;display:flex;overflow:hidden}.app-nav-mobile-wrapper.open .app-nav-mobile{border-top-color:var(--color-border);opacity:1;padding:.75rem 1.5rem 1rem}.app-nav-mobile a{color:var(--color-text-muted);border-radius:var(--radius-sm);padding:.6rem .75rem;font-size:.95rem;font-weight:500;text-decoration:none}.app-nav-mobile a:hover{background:var(--color-surface-muted);color:var(--color-text)}.app-nav-mobile a.active{background:var(--color-primary-soft);color:var(--color-primary)}.app-nav-mobile-row{border-top:1px solid var(--color-border);align-items:center;gap:.6rem;margin-top:.4rem;padding-top:.6rem;display:flex}.app-nav-mobile-row .btn-ghost{flex:1}}.app-main{flex:1}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:.55rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,color .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-ghost{border-color:var(--color-border-strong);color:var(--color-text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.btn-danger{color:var(--color-danger);background:0 0;border-color:#0000;padding:.35rem .6rem;font-size:.8rem}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.btn-icon{border:1px solid var(--color-border-strong);width:2.2rem;height:2.2rem;color:var(--color-text-muted);background:0 0;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.btn-icon svg{animation:.15s icon-pop}@keyframes icon-pop{0%{opacity:0;transform:scale(.6)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}label{color:var(--color-text-muted);font-size:.8rem;font-weight:600}select,input[type=text],input[type=email],input[type=password],input[type=number]{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;padding:.55rem .7rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}select:disabled,input:disabled{background:var(--color-surface-muted);color:var(--color-text-subtle);cursor:not-allowed}select:focus,input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-md);flex-direction:column;gap:1.1rem;padding:2.25rem 2rem;display:flex}.login-form h1{letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.3rem}.login-form label{flex-direction:column;gap:.4rem;display:flex}.login-form button{margin-top:.25rem}.error{color:var(--color-danger);background:var(--color-danger-soft);border-radius:var(--radius-sm);margin:0;padding:.6rem .75rem;font-size:.85rem}.calculator-page,.admin-page{max-width:1040px;margin:0 auto;padding:2rem 1.5rem 4rem}.calculator-page h1,.admin-page h1{letter-spacing:-.01em;margin:0 0 1.5rem;font-size:1.5rem}.calculator-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.5rem;padding:1.5rem;display:grid}@media (width>=560px){.calculator-section{grid-template-columns:repeat(2,minmax(0,1fr))}}.category-select,.manual-amount-input{flex-direction:column;gap:.4rem;min-width:0;display:flex}.breakdown-table,.lookup-table-editor table,.price-matrix-editor table,.cascade-link-editor table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:.9rem;overflow:hidden}.breakdown-table{box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.breakdown-table th,.breakdown-table td,.lookup-table-editor th,.lookup-table-editor td,.price-matrix-editor th,.price-matrix-editor td,.cascade-link-editor th,.cascade-link-editor td{text-align:left;border-bottom:1px solid var(--color-border);padding:.65rem .85rem}.breakdown-table th,.lookup-table-editor th,.price-matrix-editor th,.cascade-link-editor th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-muted);font-size:.75rem;font-weight:700}.breakdown-table tbody tr:last-child td,.lookup-table-editor tbody tr:last-child td,.price-matrix-editor tbody tr:last-child td,.cascade-link-editor tbody tr:last-child td{border-bottom:none}.breakdown-table tfoot td{background:var(--color-primary-soft);color:var(--color-primary);border-top:2px solid var(--color-primary);border-bottom:none;font-size:1rem;font-weight:700}.breakdown-table .amount-credit{color:var(--color-success);font-weight:600}.breakdown-table tr.row-warning{background:var(--color-warning-soft)}.lookup-table-editor td input,.price-matrix-editor td input,.price-matrix-editor td select{background:0 0;border:1px solid #0000;padding:.3rem .4rem}.lookup-table-editor td input:hover,.price-matrix-editor td input:hover,.price-matrix-editor td select:hover{border-color:var(--color-border-strong)}.warning{color:var(--color-warning);font-size:.8em;font-weight:600}.note{color:var(--color-text-subtle);font-size:.8em;font-style:italic}.admin-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.35rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.admin-tabs button{color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:.5rem .9rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,color .15s}.admin-tabs button:hover{background:var(--color-surface-muted);color:var(--color-text)}.admin-tabs button.active{background:var(--color-accent-soft);color:var(--color-accent)}.lookup-table-editor,.price-matrix-editor,.cascade-link-editor,.insurance-plans-editor{margin-bottom:2rem}.lookup-table-editor h2,.price-matrix-editor h2,.cascade-link-editor h2,.insurance-plans-editor h2{letter-spacing:-.01em;margin:0 0 .85rem;font-size:1.05rem}.price-matrix-editor{overflow-x:auto}.cascade-link-editor .hint{color:var(--color-text-muted);margin:-.4rem 0 .85rem;font-size:.85em}.cascade-link-editor table{width:auto}.insurance-company-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.25rem 1.5rem}.insurance-company-block h3{justify-content:space-between;align-items:center;margin:0 0 .85rem;font-size:1rem;display:flex}.insurance-company-block ul{flex-direction:column;gap:.5rem;margin:0;padding-left:0;list-style:none;display:flex}.insurance-company-block li{align-items:center;gap:.5rem;display:flex}.insurance-company-block li input{width:420px;max-width:100%}.add-company-row{gap:.5rem;margin-top:1rem;display:flex}.add-company-row input{width:420px;max-width:100%}.line-item-field{flex-direction:column;gap:.5rem;min-width:0;display:flex}.covered-checkbox{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.override-copay-input{width:140px}
