:root{--roof-ink:#18201c;--roof-ink-muted:#5e6862;--roof-paper:#f4f2ed;--roof-surface:#fffdf8;--roof-surface-muted:#ebece7;--roof-line:#d5d9d3;--roof-green:#176b4d;--roof-green-dark:#0f4e38;--roof-green-soft:#deece5;--roof-orange:#a94a24;--roof-danger:#a33b37;--roof-warning:#8c5c18;--roof-radius-sm:5px;--roof-radius:9px;--roof-shadow:0 14px 40px rgb(27 38 31/8%)}.roof-button{align-items:center;border:1px solid transparent;border-radius:var(--roof-radius-sm);cursor:pointer;display:inline-flex;font:inherit;font-size:.875rem;font-weight:650;gap:.5rem;justify-content:center;min-height:2.5rem;padding:.55rem .9rem;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.roof-button[data-variant=primary]{background:var(--roof-green);color:white}.roof-button[data-variant=primary]:hover:not(:disabled){background:var(--roof-green-dark)}.roof-button[data-variant=secondary]{background:var(--roof-surface);border-color:var(--roof-line);color:var(--roof-ink)}.roof-button[data-variant=ghost]:hover:not(:disabled),.roof-button[data-variant=secondary]:hover:not(:disabled){background:var(--roof-surface-muted)}.roof-button[data-variant=ghost]{background:transparent;color:var(--roof-ink)}.roof-button[data-variant=danger]{background:#f8e7e4;color:var(--roof-danger)}.roof-button:active:not(:disabled){transform:translateY(1px)}.roof-button:disabled{cursor:not-allowed;opacity:.52}.roof-input,.roof-select,.roof-textarea{background:var(--roof-surface);border:1px solid #bfc6c0;border-radius:var(--roof-radius-sm);color:var(--roof-ink);font:inherit;font-size:.925rem;min-height:2.55rem;padding:.55rem .68rem;width:100%}.roof-textarea{min-height:5.5rem;resize:vertical}.roof-input:hover,.roof-select:hover,.roof-textarea:hover{border-color:#89948d}.roof-button:focus-visible,.roof-input:focus,.roof-select:focus,.roof-textarea:focus{border-color:var(--roof-green);box-shadow:0 0 0 3px rgb(23 107 77/18%);outline:none}.roof-field{display:grid;gap:.38rem}.roof-field__label{color:#354139;font-size:.82rem;font-weight:650}.roof-field__error,.roof-field__hint{font-size:.76rem;line-height:1.35}.roof-field__hint{color:var(--roof-ink-muted)}.roof-field__error{color:var(--roof-danger)}.roof-badge{align-items:center;background:var(--roof-surface-muted);border-radius:999px;color:#4f5a53;display:inline-flex;font-size:.72rem;font-weight:700;line-height:1;min-height:1.5rem;padding:.25rem .52rem;white-space:nowrap}.roof-badge[data-tone=positive]{background:var(--roof-green-soft);color:var(--roof-green-dark)}.roof-badge[data-tone=warning]{background:#f5ead5;color:var(--roof-warning)}.roof-badge[data-tone=danger]{background:#f8e7e4;color:var(--roof-danger)}.roof-notice{background:#edf0ed;border-left:3px solid #849088;border-radius:0 var(--roof-radius-sm) var(--roof-radius-sm) 0;display:grid;font-size:.85rem;gap:.2rem;padding:.75rem .9rem}.roof-notice[data-tone=positive]{background:var(--roof-green-soft);border-color:var(--roof-green)}.roof-notice[data-tone=warning]{background:#f8f0df;border-color:var(--roof-warning)}.roof-notice[data-tone=danger]{background:#f8e7e4;border-color:var(--roof-danger)}.roof-empty{align-items:start;border:1px dashed #b7c0ba;border-radius:var(--roof-radius);display:grid;gap:.42rem;justify-items:start;padding:1.4rem}.roof-empty p{color:var(--roof-ink-muted);font-size:.85rem;line-height:1.5;margin:0 0 .35rem;max-width:34rem}.roof-empty__mark{align-items:center;background:var(--roof-green-soft);border-radius:50%;color:var(--roof-green);display:inline-flex;font-size:1.2rem;height:2rem;justify-content:center;width:2rem}.roof-spinner{animation:roof-spin .75s linear infinite;border:2px solid;border-right:2px solid transparent;border-radius:50%;display:inline-block;height:1rem;width:1rem}.roof-sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes roof-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.roof-button,.roof-spinner{animation-duration:.01ms;transition-duration:.01ms}}*{box-sizing:border-box}html{background:var(--roof-paper);color:var(--roof-ink);font-family:Inter,Manrope,Segoe UI,Arial,sans-serif;min-width:320px}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit}.numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.text-action{background:none;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:700;padding:0;text-decoration:underline;text-underline-offset:3px}.entry{background:var(--roof-paper);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);min-height:100svh}.entry__context{background:linear-gradient(rgb(19 65 49/88%),rgb(14 47 36/94%)),repeating-linear-gradient(135deg,transparent,transparent 31px,rgb(255 255 255/4%) 32px,rgb(255 255 255/4%) 33px);color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;overflow:hidden;padding:clamp(2rem,5vw,5rem);position:relative}.entry__context:after{border:1px solid rgb(255 255 255/13%);content:"";height:360px;position:absolute;right:-130px;top:25%;transform:rotate(45deg);width:360px}.entry__brand,.workspace-logo{align-items:center;display:inline-flex;font-size:1.1rem;font-weight:750;gap:.7rem;letter-spacing:-.02em;text-decoration:none}.entry__brand-mark,.workspace-logo>span{align-items:center;background:var(--roof-orange);border-radius:4px;display:inline-flex;height:2.15rem;justify-content:center;width:2.15rem}.entry__context h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,5.8vw,5.7rem);font-weight:500;letter-spacing:-.055em;line-height:.98;margin:0;max-width:820px}.entry__eyebrow,.page-kicker{font-size:.72rem;font-weight:800;letter-spacing:.16em;margin:0 0 1.2rem;text-transform:uppercase}.entry__lead{color:rgb(255 255 255/77%);font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.65;margin:2rem 0 0;max-width:640px}.entry__principles{border-top:1px solid rgb(255 255 255/22%);display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin:3rem 0 0;padding-top:1.5rem}.entry__principles div{display:grid;gap:.35rem}.entry__principles dt{font-size:.86rem;font-weight:750}.entry__principles dd{color:rgb(255 255 255/68%);font-size:.8rem;line-height:1.45;margin:0}.entry__form-wrap{align-items:center;display:flex;justify-content:center;padding:clamp(1.5rem,6vw,5rem)}.entry__form{display:grid;gap:1.5rem;max-width:430px;width:100%}.form-heading p{color:var(--roof-green);font-size:.73rem;font-weight:800;letter-spacing:.13em;margin:0 0 .6rem;text-transform:uppercase}.form-heading h2{font-size:clamp(1.7rem,3vw,2.25rem);letter-spacing:-.04em;margin:0 0 .55rem}.form-heading>span{color:var(--roof-ink-muted);font-size:.9rem;line-height:1.5}.form-stack,.modal-form{display:grid;gap:1rem}.entry__switch{background:none;border:0;color:var(--roof-green-dark);cursor:pointer;font-size:.85rem;font-weight:700;justify-self:start;padding:0}.loading-state,.page-loading,.workspace-loading{align-items:center;color:var(--roof-ink-muted);display:flex;gap:.7rem;justify-content:center;min-height:180px}.workspace,.workspace-loading{min-height:100svh}.workspace{display:grid;grid-template-columns:244px minmax(0,1fr)}.workspace-sidebar{background:#1b2821;color:white;display:flex;flex-direction:column;height:100svh;padding:1.5rem 1.1rem 1rem;position:sticky;top:0}.workspace-logo{margin:0 0 2rem .35rem}.workspace-company{border-bottom:1px solid rgb(255 255 255/12%);display:grid;gap:.35rem;margin-bottom:1.2rem;padding:0 .55rem 1rem}.workspace-company span{color:rgb(255 255 255/52%);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.workspace-company strong{font-size:.88rem;line-height:1.3;overflow-wrap:anywhere}.workspace-nav{display:grid;gap:.3rem}.workspace-nav__link{align-items:center;border-radius:5px;color:rgb(255 255 255/72%);display:grid;font-size:.86rem;font-weight:600;gap:.6rem;grid-template-columns:1.8rem 1fr auto;min-height:2.65rem;padding:0 .7rem;text-decoration:none}.workspace-nav__link>span{color:rgb(255 255 255/58%);font-size:.62rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.workspace-nav__link[aria-current=page]{background:rgb(255 255 255/10%);color:white}.workspace-nav__link[aria-current=page]>span{color:#f09a6d}.workspace-nav__link--disabled{cursor:not-allowed;color:rgb(255 255 255/58%)}.workspace-nav__link small{background:rgb(255 255 255/12%);border-radius:999px;font-size:.58rem;padding:.18rem .35rem}.workspace-user{align-items:center;border-top:1px solid rgb(255 255 255/12%);display:grid;gap:.6rem;grid-template-columns:auto minmax(0,1fr) auto;margin-top:auto;padding:1rem .2rem 0}.workspace-user__avatar{align-items:center;background:#355544;border-radius:50%;display:flex;font-size:.75rem;height:2.1rem;justify-content:center;width:2.1rem}.workspace-user>div{display:grid;gap:.15rem;min-width:0}.workspace-user span,.workspace-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-user strong{font-size:.75rem}.workspace-user div span{color:rgb(255 255 255/48%);font-size:.64rem}.workspace-sidebar .roof-button[data-variant=ghost]{color:white;padding-inline:.55rem}.workspace-mobile-header{display:none}.workspace-main{min-width:0}.catalog-page,.dashboard,.editor-error,.estimate-editor,.settings-page{display:grid;gap:1.5rem;margin:0 auto;max-width:1540px;padding:clamp(1.35rem,3vw,3rem)}.catalog-layout{display:grid;gap:1rem;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)}.catalog-layout>aside{align-self:start}.catalog-table code{background:var(--roof-surface-muted);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;padding:.2rem .35rem}.catalog-table td:nth-child(2)>span{color:var(--roof-ink-muted);display:block;font-size:.72rem;margin-top:.25rem}.settings-form{max-width:760px}.settings-form__actions{display:flex;justify-content:flex-end}.editor-toolbar,.page-heading{align-items:end;display:flex;gap:2rem;justify-content:space-between}.page-heading h1{font-size:clamp(2rem,3.8vw,3.4rem);letter-spacing:-.055em;line-height:1;margin:0}.page-heading>div>p:last-child{color:var(--roof-ink-muted);line-height:1.5;margin:.8rem 0 0}.page-kicker{color:var(--roof-orange)}.dashboard-stats{border-bottom:1px solid var(--roof-line);border-top:1px solid var(--roof-line);display:grid;grid-template-columns:repeat(3,minmax(110px,.75fr)) minmax(220px,1.6fr)}.dashboard-stats>div{border-right:1px solid var(--roof-line);display:grid;gap:.35rem;padding:1.1rem 1.2rem}.dashboard-stats>div:last-child{border-right:0}.dashboard-stats span{color:var(--roof-ink-muted);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-stats strong{font-size:1.8rem;letter-spacing:-.04em}.dashboard-stats__hint strong{font-size:1rem;letter-spacing:-.01em}.dashboard-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(240px,.42fr)}.work-section{align-content:start;background:var(--roof-surface);border:1px solid var(--roof-line);border-radius:var(--roof-radius);display:grid;gap:1rem;min-width:0;padding:1.15rem}.work-section:first-child{grid-column:span 2}.work-section--rail{grid-column:3;grid-row:1/span 2}.section-heading{align-items:center;display:flex;justify-content:space-between}.section-heading>div{display:grid;gap:.2rem}.section-heading span{color:var(--roof-ink-muted);font-size:.63rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.section-heading h2{font-size:1.25rem;letter-spacing:-.025em;margin:0}.data-table-wrap,.estimate-grid-wrap{min-width:0;overflow:auto}.data-table,.estimate-grid{border-collapse:collapse;width:100%}.data-table th,.estimate-grid th{color:var(--roof-ink-muted);font-size:.66rem;font-weight:750;letter-spacing:.07em;padding:.65rem;text-align:left;text-transform:uppercase}.data-table td{border-top:1px solid var(--roof-line);font-size:.82rem;padding:.9rem .65rem;vertical-align:top}.data-table td:first-child{display:grid;gap:.25rem}.data-table td:first-child>span{color:var(--roof-ink-muted);font-size:.76rem}.primary-link{color:var(--roof-green-dark);font-weight:750;text-underline-offset:3px}.client-list,.entity-list{display:grid;list-style:none;margin:0;padding:0}.entity-list li{align-items:center;border-top:1px solid var(--roof-line);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:.9rem .2rem}.entity-list li>div{display:grid;gap:.28rem}.entity-list li>div:last-child{justify-items:end}.entity-list strong{font-size:.88rem}.entity-list span{color:var(--roof-ink-muted);font-size:.73rem;overflow-wrap:anywhere}.entity-list__action{color:var(--roof-green-dark);font-size:.73rem;font-weight:750;text-underline-offset:3px}.client-list li{align-items:center;border-top:1px solid var(--roof-line);display:grid;gap:.65rem;grid-template-columns:auto minmax(0,1fr);padding:.75rem 0}.client-list li>span{align-items:center;background:var(--roof-green-soft);border-radius:50%;color:var(--roof-green-dark);display:flex;font-size:.7rem;font-weight:750;height:1.9rem;justify-content:center;width:1.9rem}.client-list li>div{display:grid;gap:.15rem;min-width:0}.client-list small,.client-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-list strong{font-size:.78rem}.client-list small{color:var(--roof-ink-muted);font-size:.67rem}.modal{background:var(--roof-surface);border:0;border-radius:12px;box-shadow:0 30px 100px rgb(10 28 19/28%);color:var(--roof-ink);max-height:min(820px,calc(100svh - 2rem));max-width:min(640px,calc(100vw - 2rem));overflow:auto;padding:0;width:100%}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgb(13 29 21/55%)}.modal__header{align-items:start;border-bottom:1px solid var(--roof-line);display:flex;justify-content:space-between;padding:1.3rem 1.4rem}.modal__header h2{font-size:1.45rem;letter-spacing:-.035em;margin:0}.modal__header p{color:var(--roof-ink-muted);font-size:.8rem;line-height:1.45;margin:.4rem 0 0}.modal-form{padding:1.35rem 1.4rem 1.4rem}.form-columns{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-columns--number{grid-template-columns:.7fr 1.3fr}.modal-actions{border-top:1px solid var(--roof-line);display:flex;gap:.6rem;justify-content:flex-end;margin:.35rem -1.4rem -1.4rem;padding:1rem 1.4rem}.editor-toolbar,.modal-actions{align-items:center}.editor-toolbar nav{align-items:center;color:var(--roof-ink-muted);display:flex;font-size:.72rem;gap:.45rem;margin-bottom:.6rem}.editor-toolbar nav a{text-underline-offset:3px}.editor-title{align-items:center;display:flex;gap:.7rem}.editor-title .roof-input{background:transparent;border-color:transparent;font-size:clamp(1.45rem,2.5vw,2.35rem);font-weight:750;letter-spacing:-.045em;min-width:min(620px,48vw);padding:.1rem 0}.editor-title .roof-input:focus{background:var(--roof-surface);border-color:var(--roof-green);padding-inline:.55rem}.editor-toolbar>div:first-child>p{color:var(--roof-ink-muted);font-size:.72rem;margin:.35rem 0 0}.editor-toolbar__actions{display:flex;gap:.65rem}.editor-summary{background:#e9eee9;border-radius:var(--roof-radius);display:grid;grid-template-columns:.55fr repeat(2,1fr) minmax(240px,1.45fr)}.editor-summary>div{border-right:1px solid #ccd4ce;display:grid;gap:.35rem;padding:1rem 1.15rem}.editor-summary>div:last-child{border:0}.editor-summary span{color:var(--roof-ink-muted);font-size:.68rem}.editor-summary strong{font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.editor-summary__total{background:var(--roof-green);border-radius:0 var(--roof-radius) var(--roof-radius) 0;color:white}.editor-summary__total span{color:rgb(255 255 255/82%)}.editor-summary__total strong{font-size:1.25rem}.editor-first-section{align-items:center;background:var(--roof-surface);border:1px dashed #aeb8b1;border-radius:var(--roof-radius);display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:180px;padding:1.5rem}.editor-first-section>span,.estimate-section__header>span{color:var(--roof-orange);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.editor-first-section h2{margin:0 0 .35rem}.editor-first-section p{color:var(--roof-ink-muted);font-size:.85rem;line-height:1.5;margin:0}.estimate-sections{display:grid;gap:1rem}.estimate-section{background:var(--roof-surface);border:1px solid var(--roof-line);border-radius:var(--roof-radius);min-width:0;overflow:hidden}.estimate-section__header{align-items:center;background:#e8ebe6;border-bottom:1px solid var(--roof-line);display:grid;gap:.75rem;grid-template-columns:auto minmax(160px,1fr) auto;padding:.65rem .8rem}.estimate-section__header .roof-input{background:transparent;border-color:transparent;font-size:.95rem;font-weight:750;min-height:2.1rem;min-width:0;padding-block:.35rem;text-overflow:ellipsis}.estimate-section__header>strong{font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.estimate-grid{min-width:1170px}.estimate-grid-scroll-hint{display:none}.estimate-grid th{background:#f5f5f1;position:sticky;top:0;z-index:1}.estimate-grid td{border-top:1px solid #e1e4df;padding:.35rem .3rem;vertical-align:top}.estimate-grid .roof-input,.estimate-grid .roof-select{background:transparent;border-color:transparent;font-size:.78rem;min-height:2.25rem;padding:.38rem .42rem}.estimate-grid .roof-input:focus,.estimate-grid .roof-input:hover,.estimate-grid .roof-select:focus,.estimate-grid .roof-select:hover{background:white;border-color:#9da9a1}.estimate-grid__number{color:var(--roof-ink-muted);text-align:center!important;width:36px}.estimate-grid__name{min-width:230px}.estimate-grid__name .roof-input{font-weight:650}.catalog-picker{position:relative}.catalog-picker__loading{color:var(--roof-ink-muted);display:block;font-size:.68rem;padding:.3rem .42rem 0}.catalog-picker__suggestions{background:var(--roof-surface);border:1px solid var(--roof-line);border-radius:var(--roof-radius-sm);box-shadow:var(--roof-shadow);display:grid;left:0;min-width:420px;overflow:hidden;position:absolute;top:calc(100% + .25rem);z-index:12}.catalog-picker__suggestions button{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--roof-line);color:var(--roof-ink);cursor:pointer;display:flex;font:inherit;gap:1rem;justify-content:space-between;padding:.7rem;text-align:left}.catalog-picker__suggestions button:last-child{border-bottom:0}.catalog-picker__suggestions button:focus-visible,.catalog-picker__suggestions button:hover{background:var(--roof-green-soft);outline:2px solid var(--roof-green);outline-offset:-2px}.catalog-picker__suggestions button>span{display:grid;gap:.2rem}.catalog-picker__suggestions button>span:last-child{justify-items:end}.catalog-picker__suggestions small{color:var(--roof-ink-muted);font-size:.66rem}.estimate-grid__total{font-size:.78rem;font-weight:750;min-width:112px;padding-top:.95rem!important;white-space:nowrap}.line-provenance{align-items:center;display:flex;gap:.4rem;padding:0 .42rem .25rem}.line-provenance button{background:none;border:0;color:var(--roof-green);cursor:pointer;font-size:.62rem;padding:0;text-decoration:underline}.line-provenance>span{color:var(--roof-ink-muted);font-size:.62rem}.estimate-section footer{border-top:1px solid var(--roof-line);padding:.35rem .55rem}.estimate-section__empty{align-items:center;color:var(--roof-ink-muted);display:flex;font-size:.8rem;gap:.6rem;justify-content:center;min-height:100px}.issue-parties{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.issue-parties fieldset{border:1px solid var(--roof-line);border-radius:var(--roof-radius);display:grid;gap:.8rem;margin:0;min-width:0;padding:.9rem}.issue-parties legend{font-size:.78rem;font-weight:750;padding:0 .35rem}.inline-progress,.notice-download{align-items:center;display:inline-flex;gap:.45rem}.inline-progress .roof-spinner{height:.8rem;width:.8rem}.notice-download{color:var(--roof-green-dark);font-weight:750;text-underline-offset:3px}.notice-download svg{height:1rem;width:1rem}.editor-error{align-content:center;justify-items:start;min-height:60svh}.roof-studio{display:grid;gap:1rem;margin:0 auto;max-width:1920px;min-width:0;padding:clamp(1rem,2vw,2rem)}.roof-studio__header{align-items:end;display:flex;gap:2rem;justify-content:space-between}.roof-studio__header nav{align-items:center;color:var(--roof-ink-muted);display:flex;font-size:.72rem;gap:.45rem;margin-bottom:.55rem}.roof-studio__header nav a,.roof-studio__header nav span:last-child{max-width:min(35vw,440px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roof-studio__title{align-items:center;display:flex;gap:.8rem}.roof-studio__title>div{min-width:0}.roof-estimate-sync>header span,.roof-panel-heading small,.roof-quantities>header span,.roof-studio__title>div>span{color:var(--roof-orange);font-size:.64rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.roof-studio__title h1{font-size:clamp(1.65rem,3vw,2.7rem);letter-spacing:-.045em;line-height:1.05;margin:.15rem 0 0;max-width:min(70vw,760px);overflow-wrap:anywhere}.roof-studio__header>div:first-child>p{color:var(--roof-ink-muted);font-size:.78rem;margin:.55rem 0 0}.roof-studio__actions{display:flex;flex:0 0 auto;gap:.65rem}.roof-history-actions{align-items:center;border-right:1px solid var(--roof-line);display:flex;gap:.15rem;margin-right:.15rem;padding-right:.55rem}.roof-history-actions .roof-button{min-height:2.5rem}.roof-studio__workspace{background:#dfe6e1;border:1px solid #c5d0c9;border-radius:10px;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(390px,1.55fr) minmax(300px,.92fr);height:clamp(680px,calc(100svh - 185px),880px);min-height:680px;overflow:hidden}.roof-inspector,.roof-parameters{background:var(--roof-surface);min-height:0;min-width:0;overflow:auto;padding:1rem}.roof-parameters{border-right:1px solid #c5d0c9}.roof-inspector{border-left:1px solid #c5d0c9}.roof-panel-heading{align-items:center;border-bottom:1px solid var(--roof-line);display:flex;gap:.75rem;margin-bottom:1rem;padding-bottom:.8rem}.roof-panel-heading>span{color:#687b70;font-size:1.45rem;font-weight:750;letter-spacing:-.06em}.roof-panel-heading>div{display:grid;gap:.1rem}.roof-estimate-sync h2,.roof-panel-heading h2,.roof-quantities h2{font-size:1rem;letter-spacing:-.02em;margin:0}.roof-parameter-form{display:grid;gap:.8rem}.roof-parameter-form>section{border-bottom:1px solid var(--roof-line);display:grid;gap:.7rem;padding-bottom:.9rem}.roof-parameter-form h3,.roof-semantic-list h3{font-size:.76rem;letter-spacing:.02em;margin:0}.roof-scenario-switch{display:grid;gap:.35rem;grid-template-columns:repeat(2,minmax(0,1fr))}.roof-scenario-switch button{background:#f4f7f5;border:1px solid #cad5ce;border-radius:5px;color:var(--roof-ink-muted);cursor:pointer;font:inherit;font-size:.7rem;font-weight:750;min-height:2.6rem;padding:.45rem .55rem}.roof-scenario-switch button[aria-pressed=true]{background:var(--roof-green-dark);border-color:var(--roof-green-dark);color:white}.roof-scenario-switch button:focus-visible{outline:3px solid rgb(211 138 44/60%);outline-offset:2px}.roof-proof-composition>p,.roof-scenario-hint{color:var(--roof-ink-muted);font-size:.69rem;line-height:1.5;margin:0}.roof-proof-composition>div:first-child{align-items:center;display:flex;gap:.65rem;justify-content:space-between}.roof-body-connections,.roof-body-inputs,.roof-topology-bodies,.roof-topology-connections{display:grid;gap:0;list-style:none;margin:0;padding:0}.roof-body-inputs li{align-items:start;border-top:1px solid var(--roof-line);display:grid;gap:.6rem;grid-template-columns:auto minmax(0,1fr);padding:.55rem 0}.roof-body-inputs li>span{color:var(--roof-orange);font-size:.64rem;font-weight:800}.roof-body-inputs li>div{display:grid;gap:.18rem;min-width:0}.roof-body-connections span,.roof-body-inputs small,.roof-topology-bodies span,.roof-topology-connections small,.roof-topology-connections span{color:var(--roof-ink-muted);font-size:.67rem;line-height:1.4}.roof-body-inputs code,.roof-topology-bodies code{color:#53655b;font-size:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roof-body-connections li{border-left:2px solid #96ad9f;display:grid;gap:.15rem;padding:.35rem 0 .35rem .55rem}.roof-body-connections strong{font-size:.7rem}.roof-section-heading{align-items:start;display:flex;gap:.65rem;justify-content:space-between}.roof-section-heading>div:first-child{display:grid;gap:.2rem}.roof-section-heading>div:last-child{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:end}.roof-section-heading span,.roof-underlay-file small{color:var(--roof-ink-muted);font-size:.65rem;line-height:1.4}.roof-section-heading .roof-button{min-height:2rem;padding:.35rem .5rem}.roof-compact-collection,.roof-editable-collection{display:grid;gap:0;list-style:none;margin:0;padding:0}.roof-compact-collection>details,.roof-editable-collection>li{border-top:1px solid var(--roof-line)}.roof-compact-collection summary,.roof-editable-collection summary{align-items:center;cursor:pointer;display:grid;gap:.45rem;grid-template-columns:auto minmax(0,auto) minmax(0,1fr);list-style-position:outside;padding:.65rem 0}.roof-editable-collection summary>span{color:var(--roof-orange);font-size:.62rem;font-weight:800}.roof-compact-collection summary strong,.roof-editable-collection summary strong{font-size:.72rem}.roof-compact-collection summary small,.roof-editable-collection summary small{color:var(--roof-ink-muted);font-size:.65rem;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.roof-collection-editor{background:#f5f8f6;border-left:2px solid #9db2a5;display:grid;gap:.7rem;margin:0 0 .75rem;padding:.75rem}.roof-collection-editor h4{font-size:.68rem;margin:.2rem 0 0}.roof-collection-editor code{color:#53655b;font-size:.58rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roof-collection-editor>.roof-button{justify-self:start}.roof-composition-editor,.roof-connections-editor,.roof-openings-editor,.roof-underlay-editor{display:grid;gap:.7rem}.roof-classification-state{align-items:center;background:#fbf3df;border-left:3px solid #c88a2b;display:flex;gap:.75rem;justify-content:space-between;padding:.65rem .7rem}.roof-classification-state>div{display:grid;gap:.35rem}.roof-classification-state p{color:var(--roof-ink-muted);font-size:.67rem;line-height:1.45;margin:0}.roof-classification-state .roof-button{flex:0 0 auto}.roof-file-action{align-items:center;background:#f4f7f5;border:1px dashed #9eb2a6;border-radius:6px;color:var(--roof-green-dark);cursor:pointer;display:flex;font-size:.74rem;font-weight:750;justify-content:center;min-height:3.5rem;padding:.7rem;text-align:center}.roof-file-action:focus-within{outline:3px solid rgb(211 138 44/60%);outline-offset:2px}.roof-file-action input{height:1px;opacity:0;position:absolute;width:1px}.roof-underlay-file{align-items:start;border-bottom:1px solid var(--roof-line);display:flex;gap:.65rem;justify-content:space-between;padding-bottom:.65rem}.roof-underlay-file>div{display:grid;gap:.15rem;min-width:0}.roof-underlay-file strong{font-size:.72rem;overflow-wrap:anywhere}.roof-underlay-transform{display:grid;gap:.7rem}.roof-field-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.roof-field-grid .roof-field{min-width:0}.roof-field-grid .roof-input,.roof-parameter-form .roof-select{min-width:0;width:100%}.roof-checkbox{align-items:center;color:var(--roof-ink-muted);display:flex;font-size:.76rem;gap:.55rem}.roof-checkbox input{accent-color:var(--roof-green);height:1rem;width:1rem}.roof-explanation,.roof-material-settings,.roof-semantic-list,.roof-traceability{border-bottom:1px solid var(--roof-line)}.roof-explanation summary,.roof-material-settings summary,.roof-semantic-list summary,.roof-traceability summary{cursor:pointer;font-size:.75rem;font-weight:750;list-style-position:outside;padding:.7rem 0}.roof-material-settings[open]{padding-bottom:.8rem}.roof-viewport{background:#edf2ef;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;min-width:0;overflow:hidden;position:relative}.roof-viewport>header{align-items:center;background:rgb(237 242 239/94%);border-bottom:1px solid #c5d0c9;display:flex;justify-content:space-between;padding:.65rem .8rem;z-index:3}.roof-inspector-tabs,.roof-mode-switch,.roof-view-toolbar [role=group]{display:flex;gap:.2rem}.roof-inspector-tabs button,.roof-mode-switch button,.roof-semantic-list button,.roof-view-toolbar button{background:transparent;border:0;border-radius:5px;color:var(--roof-ink-muted);cursor:pointer;font-size:.72rem;font-weight:750;padding:.45rem .65rem}.roof-inspector-tabs button[aria-selected=true],.roof-mode-switch button[aria-pressed=true],.roof-semantic-list button[aria-pressed=true],.roof-view-toolbar button[aria-pressed=true]{background:var(--roof-green-dark);color:white}.roof-inspector-tabs button:focus-visible,.roof-mesh-canvas:focus-visible,.roof-mode-switch button:focus-visible,.roof-semantic-list button:focus-visible,.roof-view-toolbar button:focus-visible{outline:3px solid rgb(211 138 44/60%);outline-offset:2px}.roof-document-preview,.roof-drawing-panel,.roof-mesh-panel{min-height:0;min-width:0;overflow:auto}.roof-drawing-panel{display:grid;grid-template-rows:auto minmax(420px,1fr)}.roof-view-toolbar{align-items:center;background:rgb(255 255 255/78%);border-bottom:1px solid #d7dfda;display:flex;justify-content:space-between;padding:.45rem .65rem}.roof-drawing-canvas{height:100%;min-height:420px;touch-action:none;width:100%}.roof-drawing-canvas g,.roof-drawing-canvas line,.roof-drawing-canvas polyline{cursor:pointer;fill:none;stroke:#365e4d;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--drawing-stroke,2px);vector-effect:non-scaling-stroke}.roof-drawing-canvas polyline.is-closed{fill:rgb(74 132 104/9%)}.roof-drawing-canvas .is-selected,.roof-drawing-canvas .is-selected line,.roof-drawing-canvas .is-selected polyline{stroke:var(--roof-orange);stroke-width:calc(var(--drawing-stroke, 2px) * 2.4)}.roof-drawing-canvas text{fill:#21392f;paint-order:stroke;stroke:#edf2ef;stroke-width:3px}.roof-drawing-canvas .dimension-extension{opacity:.45}.roof-drawing-canvas .roof-plan-underlay,.roof-drawing-canvas .roof-plan-underlay *{cursor:default}.roof-drawing-canvas .roof-plan-underlay rect{fill:#f9faf9;stroke:#7f9187;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.roof-plan-underlay__pdf,.roof-plan-underlay__pdf iframe{height:100%;width:100%}.roof-plan-underlay__pdf iframe{border:0}.roof-mesh-panel{display:grid;grid-template-rows:minmax(440px,1fr) auto}.roof-mesh-canvas{min-height:440px;outline:none}.roof-mesh-canvas canvas,.roof-mesh-canvas>div{height:100%!important;width:100%!important}.roof-semantic-list{background:var(--roof-surface);max-height:250px;overflow:auto;padding:0 .8rem .8rem}.roof-semantic-list>p{color:var(--roof-ink-muted);font-size:.7rem;line-height:1.45}.roof-semantic-list>div{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.roof-semantic-list ul{display:grid;gap:.25rem;list-style:none;margin:.45rem 0 0;padding:0}.roof-semantic-list button{text-align:left;width:100%}.roof-selection{align-items:center;background:#1c382d;color:white;display:grid;font-size:.7rem;gap:.7rem;grid-template-columns:auto auto auto minmax(0,1fr);padding:.55rem .8rem}.roof-selection>span{color:rgb(255 255 255/62%);text-transform:uppercase}.roof-selection code{color:rgb(255 255 255/62%);overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.roof-inspector-tabs{margin:0 -1rem 1rem;padding:0 1rem .7rem}.roof-edge-review,.roof-inspector-tabs{border-bottom:1px solid var(--roof-line)}.roof-edge-review{display:grid;gap:.7rem;margin-bottom:.9rem;padding-bottom:.9rem}.roof-edge-review>header,.roof-validation-summary>header{align-items:start;display:flex;gap:.7rem;justify-content:space-between}.roof-edge-review>header span,.roof-validation-summary>header span{color:var(--roof-orange);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.roof-edge-review h3,.roof-validation-summary h3{font-size:.9rem;margin:.15rem 0 0}.roof-edge-review>p,.roof-validation-summary>p{color:var(--roof-ink-muted);font-size:.7rem;line-height:1.5;margin:0}.roof-edge-review__list{display:grid;gap:.7rem}.roof-edge-review__list article{border-left:2px solid var(--roof-orange);display:grid;gap:.55rem;padding-left:.65rem}.roof-edge-review__entity{background:transparent;border:0;cursor:pointer;display:grid;gap:.12rem;min-width:0;padding:0;text-align:left}.roof-edge-review__entity code,.roof-edge-review__entity span{color:var(--roof-ink-muted);font-size:.62rem}.roof-edge-review__entity code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roof-edge-review__entity:focus-visible,.roof-validation-summary button:focus-visible{outline:3px solid rgb(211 138 44/60%);outline-offset:2px}.roof-edge-review__list [role=group]{display:grid;gap:.3rem;grid-template-columns:repeat(2,minmax(0,1fr))}.roof-edge-review__list .roof-button{min-height:2.1rem;padding:.3rem .4rem}.roof-validation-summary{border-bottom:1px solid var(--roof-line);display:grid;gap:.75rem;padding-bottom:.9rem}.roof-validation-summary ul{display:grid;gap:0;list-style:none;margin:0;padding:0}.roof-validation-summary li{border-left:2px solid #8da397;border-top:1px solid var(--roof-line);display:grid;gap:.45rem;padding:.55rem 0 .55rem .65rem}.roof-validation-summary li[data-severity=error]{border-left-color:#b13d32}.roof-validation-summary li>div:first-child{display:grid;gap:.2rem}.roof-validation-summary li strong{font-size:.7rem;line-height:1.45}.roof-validation-summary li code{color:var(--roof-ink-muted);font-size:.58rem}.roof-validation-summary li button{background:transparent;border:0;color:var(--roof-green-dark);cursor:pointer;font:inherit;font-size:.65rem;font-weight:750;padding:0;text-decoration:underline;text-underline-offset:2px}.roof-estimate-sync>p,.roof-inspector__empty,.roof-run-trace>p,.roof-sync-empty p,.roof-visual-empty{color:var(--roof-ink-muted);font-size:.76rem;line-height:1.55}.roof-estimate-sync,.roof-quantities,.roof-run-trace,.roof-sync-empty{display:grid;gap:.85rem}.roof-topology-summary{border-bottom:1px solid var(--roof-line);display:grid;gap:.75rem;padding-bottom:.9rem}.roof-topology-summary>header{align-items:start;display:flex;gap:.6rem;justify-content:space-between}.roof-topology-summary>header span:first-child{color:var(--roof-orange);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.roof-topology-summary h3,.roof-topology-summary h4{margin:0}.roof-topology-summary h3{font-size:.94rem;margin-top:.15rem}.roof-topology-summary h4{font-size:.7rem}.roof-topology-metrics{border-bottom:1px solid var(--roof-line);border-top:1px solid var(--roof-line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.roof-topology-metrics>div{display:grid;gap:.2rem;padding:.55rem .3rem;text-align:center}.roof-topology-metrics>div:nth-child(2n){border-left:1px solid var(--roof-line)}.roof-topology-metrics>div:nth-child(n+3){border-top:1px solid var(--roof-line)}.roof-topology-metrics dt{color:var(--roof-ink-muted);font-size:.58rem;text-transform:uppercase}.roof-topology-metrics dd{font-size:.95rem;font-weight:800;margin:0}.roof-topology-bodies li,.roof-topology-connections li{border-top:1px solid var(--roof-line);display:grid;gap:.14rem;padding:.45rem 0}.roof-topology-bodies strong,.roof-topology-connections strong{font-size:.7rem}.roof-estimate-sync>header,.roof-quantities>header,.roof-quantity-card>header{align-items:start;display:flex;gap:.7rem;justify-content:space-between}.roof-geometry-metrics{border-top:1px solid var(--roof-line);grid-template-columns:repeat(2,minmax(0,1fr))}.roof-geometry-metrics,.roof-geometry-metrics>div{border-bottom:1px solid var(--roof-line);display:grid}.roof-geometry-metrics>div{gap:.25rem;padding:.65rem .35rem}.roof-geometry-metrics>div:nth-child(odd){border-right:1px solid var(--roof-line)}.roof-document-preview__metrics span,.roof-geometry-metrics span,.roof-quantity-card dt,.roof-quantity-card>header span,.roof-sync-summary span{color:var(--roof-ink-muted);font-size:.64rem}.roof-geometry-metrics strong{font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.roof-warning-list{margin:0;padding-left:1rem}.roof-quantity-list{display:grid;gap:.65rem}.roof-quantity-card{border:1px solid var(--roof-line);border-radius:7px;display:grid;gap:.7rem;padding:.75rem}.roof-quantity-card h3{font-size:.78rem;margin:.1rem 0 0;overflow-wrap:anywhere}.roof-quantity-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.roof-quantity-card dl>div{border-right:1px solid var(--roof-line);display:grid;gap:.2rem;padding:0 .45rem}.roof-quantity-card dl>div:first-child{padding-left:0}.roof-quantity-card dl>div:last-child{border-right:0;display:none}.roof-quantity-card dd{font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:750;margin:0;overflow-wrap:anywhere}.roof-procurement{background:var(--roof-surface-muted);display:grid;font-size:.68rem;gap:.35rem;grid-template-columns:repeat(3,1fr);padding:.55rem}.roof-explanation ol,.roof-explanation ul{margin:0 0 .75rem;padding-left:1rem}.roof-explanation ol li{display:grid;font-size:.67rem;gap:.15rem;margin-bottom:.65rem}.roof-explanation li small,.roof-explanation li span{color:var(--roof-ink-muted)}.roof-explanation h4{font-size:.7rem;margin:.75rem 0 .35rem}.roof-explanation ul li{font-size:.67rem;line-height:1.45}.roof-run-trace dl,.roof-traceability dl{display:grid;font-size:.68rem;gap:.5rem;margin:0 0 .75rem}.roof-run-trace dl>div,.roof-traceability dl>div{display:grid;gap:.3rem;grid-template-columns:minmax(110px,.7fr) minmax(0,1fr)}.roof-run-trace dt,.roof-traceability dt{color:var(--roof-ink-muted)}.roof-run-trace dd,.roof-traceability dd{margin:0;overflow-wrap:anywhere}.roof-estimate-sync>label{display:grid;font-size:.7rem;font-weight:700;gap:.35rem}.roof-sync-summary{background:var(--roof-surface-muted);display:grid;grid-template-columns:repeat(3,1fr)}.roof-sync-summary span{display:grid;gap:.2rem;padding:.55rem}.roof-sync-summary strong{color:var(--roof-ink);font-size:.82rem}.roof-sync-list{display:grid;gap:.5rem}.roof-sync-list article{border-top:1px solid var(--roof-line);display:grid;gap:.7rem;grid-template-columns:minmax(0,1fr) minmax(140px,.65fr);padding-top:.7rem}.roof-sync-list article h3{font-size:.75rem;margin:.35rem 0 0}.roof-sync-list article p{color:var(--roof-ink-muted);font-size:.68rem;margin:.25rem 0 0}.roof-sync-list article>label{display:grid;font-size:.65rem;gap:.3rem}.roof-sync-actions{align-items:center;border-top:1px solid var(--roof-line);display:flex;gap:.7rem;justify-content:space-between;padding-top:.75rem}.roof-sync-actions>span{color:var(--roof-ink-muted);font-size:.66rem;line-height:1.45}.roof-document-preview{background:#aeb9b2;padding:2rem}.roof-document-preview:focus-visible{outline:3px solid rgb(211 138 44/60%);outline-offset:-4px}.roof-document-preview__paper{background:white;box-shadow:0 8px 30px rgb(27 40 33/18%);color:#17241e;display:grid;gap:.8rem;margin:0 auto;min-height:680px;padding:clamp(1.2rem,3vw,2.5rem);width:min(100%,660px)}.roof-document-preview__paper>header{align-items:start;border-bottom:2px solid #1b382d;display:flex;justify-content:space-between;padding-bottom:.75rem}.roof-document-preview__paper h2{font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500;margin:.2rem 0 0}.roof-document-preview__paper footer,.roof-document-preview__paper p,.roof-document-preview__paper small{color:#596a61;font-size:.65rem;line-height:1.5}.roof-document-preview__metrics{border-bottom:1px solid #ccd4ce;border-top:1px solid #ccd4ce;display:grid;grid-template-columns:repeat(3,1fr)}.roof-document-preview__metrics span{display:grid;gap:.25rem;padding:.55rem}.roof-document-preview__metrics strong{color:#17241e}.roof-document-preview__paper svg{height:230px;width:100%}.roof-document-preview__paper svg line,.roof-document-preview__paper svg polyline{fill:none;stroke:#315f4b;stroke-width:2;vector-effect:non-scaling-stroke}.roof-document-preview__paper table{border-collapse:collapse;font-size:.66rem;width:100%}.roof-document-preview__paper td,.roof-document-preview__paper th{border-bottom:1px solid #d9dfdb;padding:.35rem;text-align:left}.roof-document-preview__paper td:last-child,.roof-document-preview__paper th:last-child{text-align:right}.roof-mobile-guidance{display:none}@media (max-width:1180px){.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(230px,.42fr)}.work-section:first-child{grid-column:1}.work-section--rail{grid-column:2;grid-row:1/span 2}.editor-toolbar{align-items:start;flex-direction:column}.editor-title .roof-input{min-width:min(700px,calc(100vw - 320px))}.roof-studio__workspace{grid-template-columns:minmax(270px,.68fr) minmax(480px,1.32fr);height:auto;min-height:900px}.roof-inspector{border-left:0;border-top:1px solid #c5d0c9;grid-column:1/-1;max-height:620px}}@media (max-width:820px){.entry{grid-template-columns:1fr}.entry__context{min-height:auto;padding:2rem 1.4rem}.entry__context h1{font-size:clamp(2.5rem,12vw,4.5rem);margin-top:4rem}.entry__principles{display:none}.entry__form-wrap{padding:2.5rem 1.4rem}.workspace{display:block}.workspace-sidebar{display:none}.workspace-mobile-header{align-items:center;background:#1b2821;color:white;display:flex;justify-content:space-between;min-height:4rem;padding:.75rem 1rem;position:sticky;top:0;z-index:20}.workspace-mobile-header .workspace-logo{margin:0}.workspace-mobile-header details{position:relative}.workspace-mobile-header summary{cursor:pointer;font-size:.8rem;font-weight:700;list-style:none}.workspace-mobile-header details>div{background:#1b2821;border-radius:0 0 7px 7px;min-width:210px;padding:.75rem;position:absolute;right:-1rem;top:2.35rem}.catalog-page,.dashboard,.estimate-editor,.settings-page{padding:1.2rem 1rem 2.5rem}.catalog-layout{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(3,1fr)}.dashboard-stats__hint{border-right:0!important;border-top:1px solid var(--roof-line);grid-column:1/-1}.dashboard-grid{grid-template-columns:1fr}.work-section--rail,.work-section:first-child{grid-column:1;grid-row:auto}.editor-title{align-items:start;flex-direction:column}.editor-title .roof-input{min-width:0;width:100%}.editor-toolbar__actions{flex-wrap:wrap;width:100%}.editor-summary{grid-template-columns:repeat(3,1fr)}.editor-summary__total{border-radius:0 0 var(--roof-radius) var(--roof-radius);grid-column:1/-1}.issue-parties{grid-template-columns:1fr}.roof-studio{padding:1rem}.roof-studio__header{align-items:stretch;flex-direction:column;gap:.9rem}.roof-studio__actions{flex-wrap:wrap;width:100%}.roof-history-actions{border-bottom:1px solid var(--roof-line);border-right:0;flex:1 0 100%;margin:0;padding:0 0 .45rem}.roof-studio__actions .roof-button{flex:1 1}.roof-mobile-guidance{background:#f6eddf;border-left:3px solid var(--roof-orange);color:#62471f;display:block;font-size:.72rem;line-height:1.5;margin:0;padding:.65rem .75rem}.roof-studio__workspace{display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0;overflow:visible}.roof-inspector,.roof-parameters{border:0;max-height:none;overflow:visible}.roof-viewport{border-bottom:1px solid #c5d0c9;border-top:1px solid #c5d0c9;min-height:610px}.roof-drawing-panel{grid-template-rows:auto 480px}.roof-mesh-panel{grid-template-rows:480px auto}.roof-inspector{grid-column:1}}@media (max-width:560px){.page-heading{align-items:stretch;flex-direction:column}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-stats>div{border-bottom:1px solid var(--roof-line)}.dashboard-stats>div:nth-child(2){border-right:0}.dashboard-stats>div:nth-child(3){border-right:0;grid-column:1/-1}.dashboard-stats__hint{grid-column:1/-1}.form-columns,.form-columns--number{grid-template-columns:1fr}.modal{border-radius:0;height:100svh;max-height:100svh;max-width:100vw;width:100vw}.editor-toolbar__actions .roof-button{flex:1 1 100%}.editor-summary{grid-template-columns:1fr 1fr}.editor-summary>div:nth-child(2){border-right:0}.editor-summary>div:nth-child(3){border-top:1px solid #ccd4ce;grid-column:1/-1}.editor-first-section{align-items:start;grid-template-columns:auto 1fr}.editor-first-section .roof-button{grid-column:1/-1;width:100%}.estimate-section__header{grid-template-columns:auto 1fr}.estimate-section__header>strong{grid-column:2}.estimate-grid-scroll-hint{color:var(--roof-ink-muted);display:block;font-size:.72rem;margin:0;padding:.65rem .8rem}.estimate-section__empty{align-items:stretch;flex-direction:column;padding:1rem}.roof-studio__title{align-items:start;flex-direction:column}.roof-studio__header nav a,.roof-studio__header nav span:last-child,.roof-studio__title h1{max-width:calc(100vw - 2rem)}.roof-field-grid{grid-template-columns:1fr}.roof-section-heading{align-items:stretch;flex-direction:column}.roof-section-heading>div:last-child{justify-content:stretch}.roof-section-heading .roof-button{flex:1 1}.roof-classification-state{align-items:stretch;flex-direction:column}.roof-compact-collection summary,.roof-editable-collection summary{align-items:start;grid-template-columns:auto minmax(0,1fr)}.roof-compact-collection summary small,.roof-editable-collection summary small{grid-column:2;text-align:left}.roof-edge-review__list [role=group]{grid-template-columns:1fr}.roof-view-toolbar{align-items:stretch;flex-direction:column}.roof-view-toolbar [role=group]{overflow-x:auto}.roof-viewport{min-height:540px}.roof-drawing-panel{grid-template-rows:auto 410px}.roof-drawing-canvas{min-height:410px}.roof-mesh-panel{grid-template-rows:410px auto}.roof-mesh-canvas{min-height:410px}.roof-selection{grid-template-columns:auto 1fr auto}.roof-selection code{display:none}.roof-procurement,.roof-semantic-list>div,.roof-sync-list article{grid-template-columns:1fr}.roof-document-preview{padding:.65rem}.roof-document-preview__paper{min-height:610px;padding:1rem}.roof-document-preview__paper>header{gap:.7rem}}