:root{--bg:#0f1117;--panel:#171a22;--panel-2:#1f2430;--border:#30384a;--text:#d7dbe7;--muted:#98a2b3;--accent:#7c9cff;--accent-2:#8b5cf6;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--mono:ui-monospace, SFMono-Regular, Consolas, monospace;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input,select,textarea{font:inherit}#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:linear-gradient(#7c9cff26,#0f111700);justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 2rem;display:flex}.topbar-brand{align-items:center;gap:.75rem;display:flex}.topbar-mode-badge{letter-spacing:.04em;border:1px solid;border-radius:99px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.bundled-badge{color:#94a3b8;background:#94a3b814;border-color:#94a3b84d}.live-badge{color:#86efac;background:#22c55e14;border-color:#22c55e59}.bundled-notice{color:var(--muted);border-bottom:1px solid var(--border);background:#94a3b80f;padding:.45rem 2rem;font-size:.8rem}.topbar h1,.panel h2,.panel h3{color:#fff;margin:0}.topbar p,.panel p,.panel small{color:var(--muted)}.topbar-actions,.editor-actions,.workbench-controls,.sensitivity-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.main-layout{flex:1;grid-template-columns:320px minmax(0,1fr);min-height:0;display:grid}.sidebar{border-right:1px solid var(--border);min-height:0}.content{min-height:0;padding:1.25rem;overflow:auto}.view-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.view-tab,.tree-item,.section-tab,.ghost-button,.primary-button{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:.75rem}.view-tab,.ghost-button,.primary-button{padding:.65rem .9rem}.view-tab.active,.section-tab.active,.tree-item.active{border-color:var(--accent);background:#7c9cff1f}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000;align-items:center;gap:.45rem;display:inline-flex}.primary-button:disabled{opacity:.55;cursor:not-allowed}.panel{background:var(--panel);border:1px solid var(--border);border-radius:1rem;padding:1rem}.panel+.panel{margin-top:1rem}.panel-header{margin-bottom:1rem}.split-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.repo-tree{border:0;border-radius:0;height:100%}.tree-group+.tree-group{margin-top:1rem}.tree-group-title{text-transform:capitalize;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;display:flex}.tree-items{flex-direction:column;gap:.35rem;display:flex}.tree-folder+.tree-folder{margin-top:.6rem}.tree-folder{border:1px solid var(--border);background:var(--panel-2);border-radius:.85rem;overflow:hidden}.tree-folder-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem .8rem;font-weight:600;list-style:none;display:flex}.tree-folder-summary::-webkit-details-marker{display:none}.tree-folder-summary svg:first-child{flex-shrink:0}.tree-folder-summary small{color:var(--muted);margin-left:auto}.tree-folder[open] .tree-folder-summary svg:first-child{transform:rotate(0)}.tree-item{text-align:left;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.6rem .7rem;display:flex}.tree-item span{text-align:left;flex:1}.tree-item small{color:var(--muted);text-transform:capitalize}.editor-layout,.preview-grid,.bespoke-layout{grid-template-columns:280px minmax(0,1fr);gap:1rem;display:grid}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bespoke-layout{grid-template-columns:minmax(0,1.35fr) minmax(420px,1fr)}.section-list,.feature-list{flex-direction:column;gap:.5rem;display:flex}.search-input{border:1px solid var(--border);background:var(--panel-2);border-radius:.75rem;align-items:center;gap:.5rem;padding:.7rem .8rem;display:flex}.search-input input,.sensitivity-controls select,.sensitivity-controls input,.workbench-controls select,.workbench-controls input,.editor-actions select{width:100%;color:var(--text);background:0 0;border:0;outline:none}.workbench-controls label,.sensitivity-controls label{flex-direction:column;gap:.35rem;min-width:180px;display:flex}.workbench-controls select,.sensitivity-controls select{border:1px solid var(--border);background:var(--panel-2);border-radius:.75rem;padding:.6rem .75rem}.section-tab{text-align:left;padding:.65rem .75rem}.section-editor,.draft-preview,.inset-panel{background:var(--panel-2);border:1px solid var(--border);border-radius:.9rem;padding:1rem}.code-textarea,pre{white-space:pre-wrap;border:1px solid var(--border);color:#dbeafe;width:100%;min-height:420px;font-family:var(--mono);background:#11141d;border-radius:.75rem;margin:0;padding:.9rem;font-size:.92rem;line-height:1.45}.raw-editor,.diff-box{flex-direction:column;gap:.75rem;display:flex}.validation-box,.error-banner{border:1px solid var(--border);background:var(--panel-2);border-radius:.75rem;margin-bottom:1rem;padding:.8rem .9rem}.error-banner,.validation-error{color:#fecaca;border-color:#ef444480}.validation-warning{color:#fde68a}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.metric-card{border:1px solid var(--border);background:var(--panel-2);border-radius:.85rem;flex-direction:column;gap:.3rem;padding:.9rem;display:flex}.metric-card small{color:var(--muted);line-height:1.35}.metric-card-accent{border-color:#7c9cff73;box-shadow:inset 0 0 0 1px #7c9cff26}.metric-card-hosting{background:#3b82f614}.metric-card-runtime{background:#8b5cf614}.metric-card-data{background:#0ea5e914}.metric-card-security{background:#f59e0b14}.metric-card-commercial{background:#22c55e14}.metric-card-cogs{background:#ef444414}.metric-card-allin,.metric-card-total{background:#7c9cff14}.metric-card span{color:var(--muted)}.metric-card strong{color:#fff;font-size:1.05rem}.table-wrap{border:1px solid var(--border);background:var(--panel-2);border-radius:.9rem;margin-bottom:1rem;overflow:auto}.compact-table{margin-bottom:0}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem;font-size:.95rem}th{color:#fff}.feature-card{border:1px solid var(--border);background:var(--panel-2);border-radius:.9rem;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:.95rem;display:grid}.solution-feature-card{border:1px solid var(--border);background:var(--panel-2);border-radius:.9rem;flex-direction:column;gap:.65rem;padding:.95rem;display:flex}.solution-feature-card select{border:1px solid var(--border);min-width:150px;color:var(--text);background:#11141dd1;border-radius:.7rem;padding:.55rem .7rem}.solution-feature-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.scenario-banner{background:linear-gradient(#7c9cff1f,#7c9cff0a);border:1px solid #7c9cff59;border-radius:.9rem;flex-direction:column;gap:.9rem;margin-bottom:1rem;padding:1rem;display:flex}.scenario-banner-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.scenario-description{color:var(--text-muted);max-width:48ch;margin:.25rem 0 0;font-size:.9rem}.scenario-nav-chips{flex-direction:column;flex-shrink:0;gap:.4rem;display:flex}.scenario-nav-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.scenario-nav-row{flex-wrap:wrap;gap:.35rem;display:flex}.scenario-nav-chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.8rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.scenario-nav-chip:hover:not(.scenario-nav-chip-disabled){color:var(--text);background:#7c9cff26;border-color:#7c9cff8c}.scenario-nav-chip-active{color:var(--text);background:#7c9cff38;border-color:#7c9cff99;font-weight:600}.scenario-nav-chip-mode.scenario-nav-chip-active{background:#22c55e2e;border-color:#22c55e80}.scenario-nav-chip-disabled{opacity:.38;cursor:not-allowed}.scenario-meta-badges{flex-wrap:wrap;gap:.4rem;display:flex}.scenario-meta-badge{border:1px solid var(--border);color:var(--text-muted);background:#ffffff0f;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.78rem;display:inline-flex}.scenario-meta-deployment{color:#93c5fd;background:#3b82f61a;border-color:#3b82f680}.scenario-meta-commercial{color:#86efac;background:#22c55e1a;border-color:#22c55e66}.scenario-meta-calibration{color:#fcd34d;background:#f59e0b14;border-color:#f59e0b66}.scenario-doc-section{border-top:1px solid #ffffff0f;flex-direction:column;gap:.75rem;padding-top:.75rem;display:flex}.scenario-config-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;display:grid}.scenario-config-field{flex-direction:column;gap:.35rem;display:flex}.scenario-config-field span{color:var(--muted);font-size:.84rem}.scenario-config-field input,.scenario-config-field select,.scenario-config-field textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#11141dc7;border-radius:.75rem;padding:.7rem .8rem}.scenario-config-field textarea{resize:vertical;min-height:88px}.scenario-config-wide{margin-top:.15rem}.scenario-meta-pill{border:1px solid var(--border);background:#11141da6;border-radius:.8rem;flex-direction:column;gap:.25rem;padding:.75rem .85rem;display:flex}.scenario-meta-pill span{color:var(--muted);font-size:.84rem}.scenario-meta-pill strong{color:#fff}.feature-browser{flex-direction:column;gap:1rem;display:flex}.bespoke-product-controls{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.bespoke-product-controls .scenario-config-field{flex:1}.bespoke-preset-actions{flex-shrink:0;gap:.4rem;padding-bottom:.1rem;display:flex}.bespoke-metrics{margin-bottom:1rem}.amount-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cogs-cell{color:var(--text-muted);font-size:.9em}.text-muted{color:var(--text-muted);font-size:.85em}.feature-browser-summary{background:#7c9cff1f;border:1px solid #7c9cff59;border-radius:.85rem;align-items:baseline;gap:.5rem;padding:.75rem .9rem;display:inline-flex}.feature-browser-summary strong{font-size:1.2rem}.feature-category{flex-direction:column;gap:.75rem;display:flex}.feature-category-title{text-transform:capitalize;color:#fff;font-weight:700}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.draft-preview pre{min-height:760px}.driver-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.driver-card{border:1px solid var(--border);background:#11141d;border-radius:.9rem;flex-direction:column;gap:.55rem;padding:.9rem;display:flex}.driver-card input{border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);border-radius:.7rem;padding:.65rem .75rem}.driver-recommendation{flex-direction:column;gap:.45rem;display:flex}.driver-recommendation>span{color:var(--muted);font-size:.82rem}.driver-recommendation-values{flex-wrap:wrap;gap:.45rem;display:flex}.recommendation-chip,.toggle-chip,.table-badge{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.recommendation-chip{cursor:pointer;color:var(--text-muted);transition:background .15s,border-color .15s,color .15s}.recommendation-chip:hover{color:var(--text);background:#7c9cff1f;border-color:#7c9cff80}.recommendation-chip-active{color:var(--text);background:#7c9cff29;border-color:#7c9cff73}.recommendation-chip-active:hover{background:#7c9cff47}.toggle-chip{cursor:pointer;color:var(--text);background:#ffffff0a}.toggle-chip-on{color:#dcfce7;background:#22c55e29;border-color:#22c55e80}.driver-card-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.driver-card-header code,.tree-item code,.table-wrap code{font-family:var(--mono);color:#c7d2fe;background:#7c9cff1a;border-radius:.35rem;padding:.15rem .35rem;font-size:.78rem}.driver-help{color:var(--muted);font-size:.88rem;line-height:1.4}.inline-notes{margin:0;padding-left:1rem}.inline-notes li+li{margin-top:.3rem}.warning-note{color:#fde68a}.warning-box{background:#f59e0b14;border:1px solid #f59e0b80;border-radius:.75rem;margin-bottom:1rem;padding:.8rem .9rem}.line-item-row.layer-internal_cogs{background:#ef44440f}.line-item-row.cadence-one_time{background:#7c9cff0a}.table-badge{font-weight:600}.bucket-hosting{color:#bfdbfe;background:#3b82f61f;border-color:#3b82f673}.bucket-runtime{color:#ddd6fe;background:#8b5cf61f;border-color:#8b5cf673}.bucket-data{color:#bae6fd;background:#0ea5e91f;border-color:#0ea5e973}.bucket-security{color:#fde68a;background:#f59e0b1f;border-color:#f59e0b73}.bucket-commercial{color:#bbf7d0;background:#22c55e1f;border-color:#22c55e73}.bucket-neutral{color:#cbd5e1;background:#94a3b81f;border-color:#94a3b873}.table-badge.layer-client_visible{color:#bbf7d0;background:#22c55e1f;border-color:#22c55e73}.table-badge.layer-internal_cogs{color:#fecaca;background:#ef44441f;border-color:#ef444473}.table-badge.solution-status-required{color:#bbf7d0;background:#22c55e1f;border-color:#22c55e73}.table-badge.solution-status-good_to_have{color:#bfdbfe;background:#3b82f61f;border-color:#3b82f673}.table-badge.solution-status-custom{color:#fde68a;background:#f59e0b1f;border-color:#f59e0b73}.table-badge.solution-status-not_included{color:#cbd5e1;background:#94a3b81f;border-color:#94a3b873}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:280px;display:flex}.empty-state.compact{min-height:120px}.checkbox-label{align-items:center;gap:.45rem;display:flex}@media (width<=1100px){.main-layout,.editor-layout,.preview-grid,.bespoke-layout{grid-template-columns:1fr}.topbar,.split-header{flex-direction:column}.feature-grid,.driver-grid{grid-template-columns:1fr}}.auth-gate{background:var(--bg);background-image:radial-gradient(at 20% 30%,#7c9cff14 0%,#0000 60%),radial-gradient(at 80% 70%,#8b5cf612 0%,#0000 60%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:.6rem;width:100%;max-width:380px;padding:2.5rem 2rem;display:flex;box-shadow:0 24px 64px #00000080}.auth-card-shake{animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.auth-logo{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:.5rem;display:flex}.auth-logo-mark{color:#fff;letter-spacing:-.03em;font-size:1.4rem;font-weight:800}.auth-card h2{color:var(--text);margin:0;font-size:1.3rem;font-weight:700}.auth-subtitle{color:var(--muted);margin:0 0 .75rem;font-size:.85rem}.auth-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.auth-input{border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);border-radius:8px;outline:none;padding:.65rem .9rem;font-size:.95rem;transition:border-color .15s}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c9cff26}.auth-error{color:var(--danger);margin:0;font-size:.8rem}.auth-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.7rem;font-size:.95rem;font-weight:600;transition:opacity .15s,filter .15s}.auth-submit:hover:not(:disabled){filter:brightness(1.1)}.auth-submit:disabled{opacity:.4;cursor:default}.auth-footer{color:#4b5563;text-align:center;margin:.5rem 0 0;font-size:.75rem}
