:root{--font-ui:"Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--text-12:.75rem;--text-13:.8125rem;--text-14:.875rem;--text-16:1rem;--text-18:1.125rem;--text-20:1.25rem;--text-24:1.5rem;--text-28:1.75rem;--text-32:2rem;--text-40:2.5rem;--text-48:3rem;--space-2:.125rem;--space-3:.1875rem;--space-4:.25rem;--space-6:.375rem;--space-8:.5rem;--space-10:.625rem;--space-12:.75rem;--space-14:.875rem;--space-16:1rem;--space-20:1.25rem;--space-24:1.5rem;--space-32:2rem;--space-40:2.5rem;--space-48:3rem;--space-64:4rem;--radius-4:.25rem;--radius-8:.5rem;--radius-12:.75rem;--radius-16:1rem;--radius-24:1.5rem;--weight-400:400;--weight-500:500;--weight-600:600;--weight-700:700;--weight-800:800;--radius-pill:999rem;--radius-control:var(--radius-8);--radius-card:var(--radius-12);--radius-panel:var(--radius-16);--radius-dialog:var(--radius-24);--color-primary:#360045;--color-continue:#2ecc71;--color-on-continue:#12331f;--color-focus:#8b5fbf;--color-text:#231b2b;--color-muted:#686273;--color-canvas:#f6f7f9;--color-surface:#fff;--color-border:#e8e4f0;--color-control-border:#94879f;--color-selected:#f3eef8;--color-danger:#a72d3b;--color-danger-soft:#fff1f3;--color-disabled:#f1f1f4;--shadow-focus:0 0 0 3px color-mix(in srgb, var(--color-focus) 10%, transparent);--shadow-subtle:0 1px 3px #231b2b0d;--shadow-panel:0 3px 12px #231b2b08;--shadow-popover:0 8px 24px #231b2b1f;--shadow-dialog:0 20px 64px #231b2b24;--shadow-footer:0 -3px 12px #231b2b08;--leading-tight:1.25;--leading-control:1.4;--leading-body:1.5;--text-page-title:var(--text-24);--text-section-title:var(--text-16);--text-product-title:var(--text-14);--text-field-label:var(--text-13);--text-supporting:var(--text-12);--color-surface-subtle:#faf9fc;--color-control-tonal:#f3f1f6;--color-success:#06694d;--color-success-soft:#ecfdf5;--color-success-border:#a7f3d0;--color-warning:#805211;--color-warning-soft:#fff6e5;--color-warning-border:#c6a05d;--color-on-status:#fff;--color-source-highlight:#ffcf454d;--color-source-verified:#2ecc7138;--color-backdrop:#231b2b80;--color-category-roof-soft:#f8f4fb;--color-category-roof-accent:var(--color-focus);--color-category-roof-border:#e6dced;--color-category-roof-text:var(--color-primary);--color-category-sheet-soft:#f5f8fd;--color-category-sheet-accent:#7e9ac3;--color-category-sheet-border:#dce5f2;--color-category-sheet-text:#3a659f;--color-category-auxiliary-soft:#fdf9f0;--color-category-auxiliary-accent:#c5a366;--color-category-auxiliary-border:#eee3cd;--color-category-auxiliary-text:#896022;--color-category-rainwater-soft:#f2f9f6;--color-category-rainwater-accent:#76a997;--color-category-rainwater-border:#d6e9e1;--color-category-rainwater-text:#2f7560;--color-category-extra-soft:#f7f7f9;--color-category-extra-accent:#9b9fac;--color-category-extra-border:#e1e2e8;--color-category-extra-text:var(--color-muted);--color-info:#244f73;--color-info-soft:#f5f7fa;--color-info-border:#a0b0c4;--color-material-wood:#7b6345;--color-material-wood-soft:#faf7f2;--color-material-wood-border:#baa17e;--motion-fast:.15s;--motion-normal:.2s;--ease-standard:cubic-bezier(.2, 0, 0, 1);font-size:100%;font-family:var(--font-ui);color:var(--color-text);background:var(--color-canvas);font-synthesis:none;line-height:var(--leading-body);font-weight:var(--weight-400);--primary:var(--color-primary);--green:var(--color-continue);--purple:var(--color-focus)}*{box-sizing:border-box}body{margin:0}a{color:var(--primary)}button,input{font:inherit}button,.button{border-radius:var(--radius-control);background:var(--green);color:var(--color-on-continue);padding:var(--space-12) var(--space-20);font-weight:var(--weight-700);align-items:center;gap:var(--space-24);cursor:pointer;border:0;text-decoration:none;display:inline-flex}button:disabled{opacity:.55;cursor:not-allowed}button:hover:not(:disabled),.button:hover{background:#46d883}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:4px}h1,h2,h3{color:var(--primary);line-height:var(--leading-tight);margin:0 0 1.125rem}h1{font-size:var(--text-28);letter-spacing:-.0875rem}h2,h3{font-size:var(--text-18)}p{margin:0 0 var(--space-20);color:var(--color-muted)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--primary);color:#fff;width:15.5rem;padding:2.375rem var(--space-24);flex-direction:column;flex-shrink:0;display:flex}.brand{color:#fff;gap:var(--space-12);font-size:var(--text-18);font-weight:var(--weight-800);letter-spacing:.125rem;align-items:center;text-decoration:none;display:flex}.brand-mark{border:2px solid var(--green);color:var(--green);text-align:center;border-radius:var(--radius-4);width:2.625rem;height:2.875rem;line-height:2.625rem}.brand-subtitle{font-size:var(--text-12);letter-spacing:.1rem;font-weight:var(--weight-600);color:#ded0e4;display:block}.nav-label{font-size:var(--text-12);letter-spacing:.1125rem;color:#c9b4d3;margin:4.125rem var(--space-12) var(--space-14)}.sidebar nav{gap:var(--space-6);display:grid}.sidebar nav a{color:#e4d8ea;padding:.6875rem var(--space-14);border-radius:var(--radius-8);font-size:var(--text-14);text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#542561}.sidebar nav a.active{border-left:3px solid var(--green);padding-left:.6875rem}.sidebar-footer{padding:3.75rem var(--space-8) 0;font-size:var(--text-12);color:#e1d5e6;margin-top:auto}.sidebar-footer p{font-size:var(--text-12);color:#c9b4d3;margin:.5625rem 0 0}.environment-dot{background:var(--green);width:.375rem;height:.375rem;margin-right:var(--space-6);border-radius:50%;display:inline-block}.workspace{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:4.875rem;font-size:var(--text-13);color:var(--color-muted);background:#fff;border-bottom:1px solid #e9e5eb;justify-content:space-between;align-items:center;padding:0 2.75rem;display:flex}.badge{border-radius:var(--radius-4);padding:.3125rem var(--space-10);font-size:var(--text-12);color:var(--primary);border:1px solid #e4dce8}main{flex:1;width:100%;max-width:85.625rem;margin:auto;padding:2.625rem 2.75rem}.eyebrow{font-size:var(--text-12);font-weight:var(--weight-700);letter-spacing:.10625rem;color:#80688b;margin-bottom:var(--space-24)}.hero{border-radius:var(--radius-12);background:#fff;border:1px solid #e8e1eb;grid-template-columns:1.5fr 1fr;gap:2.25rem;padding:2.625rem;display:grid}.hero h1{font-size:clamp(var(--text-32), 3.5vw, var(--text-48));margin-top:1.375rem}.hero p{font-size:var(--text-14);max-width:31.875rem;margin-bottom:1.75rem}.pill{color:#603873;padding:.3125rem var(--space-10);border-radius:var(--radius-4);font-size:var(--text-12);font-weight:var(--weight-600);background:#f1ebf6;border:1px solid #e5dbee;display:inline-block}.roof-illustration{border-radius:var(--radius-8);background:#f7f3fa;place-items:center;min-height:15rem;display:grid;position:relative;overflow:hidden}.roof-illustration>span{z-index:1;color:var(--primary);font-weight:var(--weight-800);font-size:var(--text-40);letter-spacing:.4375rem;text-align:center;line-height:1}.roof-illustration small{font-size:var(--text-12);letter-spacing:.625rem}.roof-lines{opacity:.65;background:repeating-linear-gradient(90deg,#0000 0 22px,#d9cbe3 23px 24px);border:1px solid #cdbada;width:16.25rem;height:16.25rem;position:absolute;transform:rotate(-35deg)}.section-heading{justify-content:space-between;align-items:center;gap:1.125rem;margin:2.125rem 0 1.125rem;display:flex}.section-heading h2,.section-heading h1{margin:0}.section-heading>span{font-size:var(--text-12);color:#76687d}.entry-grid{gap:var(--space-20);grid-template-columns:1fr 1fr;display:grid}.panel{border-radius:var(--radius-panel);background:#fff;border:1px solid #e8e1eb;padding:1.875rem}.panel p{font-size:var(--text-14)}.step{font-size:var(--text-12);letter-spacing:.08125rem;color:#76607f;margin-bottom:var(--space-24);display:block}.status{font-size:var(--text-12);color:#73647a;padding-top:var(--space-16);border-top:1px solid #ede7ef;display:block}.notice{border-left:3px solid var(--purple);padding:1.125rem var(--space-20);border-radius:var(--radius-card);margin-top:var(--space-24);font-size:var(--text-13);background:#eeebf1}.notice p{font-size:var(--text-12);margin:.3125rem 0 0}.page-footer{padding:var(--space-20) 2.75rem;font-size:var(--text-12);letter-spacing:.0625rem;color:#786982;border-top:1px solid #e6e0e9;justify-content:space-between;display:flex}.page-footer span{letter-spacing:0}.login-panel{max-width:32.5rem;margin:2.125rem auto}.login-panel h1{font-size:var(--text-32)}.login-panel .notice{margin-bottom:var(--space-24)}fieldset{border:0;margin:0;padding:0}label{font-size:var(--text-13);font-weight:var(--weight-600);margin:1.125rem 0 var(--space-6);display:block}input{border-radius:var(--radius-control);width:100%;color:var(--color-text);background:#fff;border:1px solid #bdb2c4;padding:.6875rem}form button{margin-top:var(--space-24);justify-content:center;width:100%}.small{margin:1.375rem 0 0;font-size:var(--text-12)!important}.form-error{color:#982629;margin-top:var(--space-16)}.secondary{color:var(--primary);background:#fff;border:1px solid #d8cddd}.skip-link{padding:var(--space-12);z-index:10;background:#fff;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}@media (width<=1050px){.sidebar{width:13.125rem;padding:1.875rem 1.125rem}main{padding:1.875rem var(--space-24)}.hero{grid-template-columns:1fr;padding:1.75rem}.roof-illustration{display:none}.topbar{padding:0 var(--space-24)}}@media (width<=650px){.app-shell{display:block}.sidebar{width:100%;padding:1.125rem var(--space-20)}.brand{font-size:var(--text-20)}.brand-mark{width:2.125rem;height:2.25rem;line-height:2rem}.nav-label,.sidebar-footer{display:none}.sidebar nav{margin-top:var(--space-20);display:flex}.sidebar nav a{flex:1}.topbar{height:3.625rem;padding:0 var(--space-20)}main{padding:var(--space-24) var(--space-20)}.entry-grid{grid-template-columns:1fr}.hero{padding:1.5625rem}.hero h1{font-size:var(--text-32)}.section-heading{align-items:flex-start}.section-heading h2{font-size:var(--text-20)}.panel{padding:var(--space-24)}.page-footer{padding:var(--space-20)}.page-footer span{display:none}}.quote-workspace{gap:var(--space-20);display:grid}.quote-workspace .notice{margin-top:0}.quote-workspace fieldset{gap:var(--space-20);min-width:0;display:grid}.field-grid{gap:0 var(--space-20);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}select,textarea{font:inherit;width:100%;padding:var(--space-10);border-radius:var(--radius-control);color:var(--color-text);background:#fff;border:1px solid #bdb2c4}select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:3px}label input,label select,label textarea{margin-top:var(--space-6);display:block}.table-scroll{margin:var(--space-16) 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-13)}th,td{padding:var(--space-10) var(--space-8);text-align:left;border-bottom:1px solid #e8e1eb}th{color:var(--primary)}td input{min-width:5.625rem}td select{min-width:10rem}.row-error{min-width:10.625rem;max-width:15rem;font-size:var(--text-12)}[aria-invalid=true]{border-color:#982629}.slope{margin-top:var(--space-24);padding:0 0 var(--space-20);border-top:1px solid #e8e1eb}.slope .section-heading label{margin:0}.slope-summary{padding:var(--space-12) 0;overflow-wrap:anywhere;cursor:pointer}.slope-warning{margin:var(--space-4) var(--space-8);color:#982629;font-weight:var(--weight-600);display:inline-block}.quote-workspace button{padding:.5625rem var(--space-14);font-size:var(--text-13)}.actions{gap:var(--space-12);flex-wrap:wrap;display:flex}.draft-list .draft-context{overflow-wrap:anywhere;flex-basis:100%}.draft-list ul{gap:var(--space-10);flex-wrap:wrap;padding:0;list-style:none;display:flex}.draft-list li{gap:var(--space-8);flex-wrap:wrap;display:flex}.quote-summary{justify-content:space-between;align-items:center;gap:var(--space-20);border-top:3px solid var(--green);display:flex}.quote-summary p{margin-bottom:var(--space-6)}summary{cursor:pointer;color:var(--primary);font-size:var(--text-14);margin-top:1.125rem}@media (width<=650px){.field-grid{grid-template-columns:1fr}.quote-summary{display:block}.quote-summary button{margin-top:var(--space-16)}}.quote-workspace .panel,.quote-workspace .slope{min-width:0}.quote-workspace .accessory-mapping fieldset{gap:var(--space-10);margin-top:var(--space-16);padding-bottom:var(--space-14)}.accessory-mapping fieldset p{margin:0}.accessory-mapping .mapping-check{align-items:flex-start;gap:var(--space-10);margin:var(--space-12) 0;display:flex}.accessory-mapping .mapping-check input{width:auto;margin:var(--space-3) 0 0;flex:none}@media (width<=650px){.slope .section-heading{flex-wrap:wrap}}.simple-slope .row-remove-cell{width:2.75rem;padding:var(--space-4)}.simple-slope button.row-remove{color:#716478;width:2.75rem;min-height:2.75rem;box-shadow:none;font-size:var(--text-20);background:0 0;border:0;padding:0;line-height:1}.simple-slope button.row-remove:hover{color:#a32232;background:#fff0f2}.slope-title-row{justify-content:space-between;align-items:center;gap:var(--space-12);margin-bottom:var(--space-12);display:flex}.slope-title-row h3{margin:0}.accessory-editor>label:has(input[type=checkbox]){align-items:center;gap:var(--space-8);margin:var(--space-16) 0;display:flex}.accessory-editor>label>input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);margin:0}.accessory-editor [aria-pressed=true]{background:var(--color-primary);color:#fff}.accessory-line-card:has(.accessory-cut-fields){grid-template-columns:minmax(0,1fr) 16.25rem 6.875rem 2rem}.accessory-line-cell:has(.accessory-cut-fields){gap:var(--space-8);flex-wrap:wrap;display:flex}.accessory-cut-fields{gap:var(--space-12);grid-template-columns:1fr 1fr;width:100%;display:grid}.accessory-cut-fields label{font-size:var(--text-12)}.accessory-cut-fields input{width:100%;min-width:0}.accessory-line-cell:has(.accessory-cut-fields)>input{width:6.25rem}@media (width<=900px){.accessory-line-card:has(.accessory-cut-fields){grid-template-columns:minmax(0,1fr)}.accessory-line-cell:has(.accessory-cut-fields){width:100%}}
