:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#071f63;background:#f2f7fc;--navy-950: #062c55;--navy-900: #073765;--navy-800: #0a4f82;--blue-600: #0b35f0;--control-celeste: #6dc4f2;--control-celeste-soft: #eef9ff;--wizard-pending: #ceefff;--wizard-pending-text: #365b78;--wizard-complete: #087da1;--wizard-complete-text: #086780;--orange-500: #ff9800;--surface: #ffffff;--surface-soft: #f4f8fc;--line: #cbdcf0;--text: #071f63;--muted: #60739c;--success: #16823b;--warning: #ed7900;--danger: #d92d20;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--shadow-card: 0 10px 30px rgb(17 73 122 / .08)}body{margin:0;color:var(--text);background:#f2f7fc}main,section{max-width:960px;margin:0 auto;padding:1.5rem}form{display:grid;gap:1rem}form section{margin:0;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}label{display:inline-grid;gap:.35rem;margin:.35rem .75rem .35rem 0;font-weight:600}input,select,textarea,button{min-height:2.5rem;padding:.4rem .6rem;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm)}input,select,textarea{color:var(--text);background:var(--surface)}input::placeholder,textarea::placeholder{color:var(--muted)}button{cursor:pointer;color:#fff;background:var(--navy-800);border-color:var(--navy-800)}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--orange-500);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[role=alert]{color:var(--danger);font-weight:700}[role=status]{color:var(--success);font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.5rem;padding:.55rem .9rem;border-radius:var(--radius-sm);font-weight:700;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.button--primary{color:#fff;background:var(--navy-800);border-color:var(--navy-800)}.button--accent{color:var(--navy-950);background:var(--orange-500);border-color:var(--orange-500)}.button--outline{color:var(--navy-800);background:var(--surface);border-color:var(--navy-800)}.button--danger{color:#fff;background:var(--danger);border-color:var(--danger)}.button:hover:not(:disabled),.button:focus-visible{filter:brightness(.94)}.card{padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.calculation-page{display:grid;gap:1.25rem;max-width:1440px;min-width:0;padding:clamp(1rem,3vw,2rem)}.calculation-page__header{display:grid;justify-items:start;gap:1rem}.calculation-page__header h1{margin:.3rem 0}.calculation-page__header p{margin:.35rem 0}.calculation-page__actions{display:flex;flex-wrap:wrap;gap:.75rem}.calculation-page__metadata{color:var(--muted);margin:0;line-height:1.6}.calculation-table-scroll{max-width:100%;min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.calculation-table-scroll table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}.calculation-table-scroll caption{padding:.9rem 1rem;color:var(--navy-950);font-weight:700;text-align:left}.calculation-table-scroll th,.calculation-table-scroll td{padding:.75rem;border-bottom:1px solid var(--line);vertical-align:top}.calculation-table-scroll thead th{background:var(--surface-soft);font-size:.85rem}.calculation-table{min-width:980px}.calculation-table>tbody>tr:not(.calculation-table__explanation)>td{white-space:nowrap}.calculation-table>tbody>tr>th{max-width:12rem;overflow-wrap:anywhere}.calculation-table__explanation>td{padding:0}.calculation-table summary{padding:.9rem 1rem;color:var(--navy-800);font-weight:700;cursor:pointer}.calculation-explanation{display:grid;gap:.85rem;width:min(65rem,calc(100vw - 6rem));padding:1rem;overflow-wrap:anywhere}.calculation-explanation p,.calculation-explanation h4{margin:0;line-height:1.5}.calculation-catalog{display:grid;gap:.5rem}.calculation-catalog caption{font-size:.85rem}.calculation-agreement{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.calculation-agreement label{margin:0}.calculation-agreement textarea{min-height:5rem;resize:vertical}.calculation-agreement button{justify-self:start}.calculation-page__provenance{overflow-wrap:anywhere}.calculation-page__provenance summary{cursor:pointer;font-weight:600}.calculation-page__provenance dt{margin-top:.6rem;color:var(--muted)}.calculation-page__provenance dd{margin:.2rem 0}@media(min-width:1100px){.calculation-explanation{width:min(65rem,calc(100vw - 27rem))}}.feedback{padding:.75rem 1rem;border:1px solid currentColor;border-radius:var(--radius-sm)}.feedback--success{color:var(--success);background:#effaf2}.feedback--warning{color:var(--warning);background:#fff7e8}.feedback--error{color:var(--danger);background:#fff2f0}.feedback--info{color:var(--navy-800);background:var(--surface-soft)}.brand{display:inline-flex;align-items:center}.brand img{width:auto;max-width:12rem;max-height:3rem;margin:0;border:0}.brand--compact img{max-width:2.5rem}.brand--inverse{filter:brightness(0) invert(1)}.icon{display:inline-block;flex:none;vertical-align:middle}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1rem;background:#062c5585}.modal{width:min(34rem,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem;color:var(--text);background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1rem 3rem #062c5547}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal__header h2{margin:0}.modal__close{min-width:2.5rem;padding:.25rem .5rem;font-size:1.35rem;line-height:1}.modal__body{margin-top:1rem}.modal__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem}.toast-region{position:fixed;z-index:110;right:1rem;bottom:1rem;width:min(24rem,calc(100vw - 2rem))}.toast{padding:.85rem 1rem;color:var(--text);background:var(--surface);border:1px solid var(--line);border-left:.35rem solid var(--navy-800);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.toast--success{border-left-color:var(--success)}.toast--warning{border-left-color:var(--warning)}.toast--error{border-left-color:var(--danger)}.skeleton{min-height:1em;color:transparent;background:linear-gradient(90deg,var(--surface-soft) 25%,#e4edf8 50%,var(--surface-soft) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:skeleton-loading 1.2s ease-in-out infinite}@keyframes skeleton-loading{to{background-position:-200% 0}}.full-page-state{display:grid;min-height:min(32rem,calc(100vh - 7rem));place-items:center;max-width:none;padding:clamp(1rem,4vw,2.5rem)}.full-page-state__card{display:grid;justify-items:center;gap:.8rem;width:min(34rem,100%);padding:clamp(1.5rem,4vw,2.5rem);color:var(--navy-950);text-align:center;background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.full-page-state__card>.icon{color:var(--navy-800)}.full-page-state--error .full-page-state__card>.icon,.full-page-state--blocked .full-page-state__card>.icon{color:var(--danger)}.full-page-state--success .full-page-state__card>.icon{color:var(--success)}.full-page-state__card h1{margin:0;font-size:clamp(1.35rem,3vw,2rem)}.full-page-state__message{max-width:34rem;color:var(--muted);line-height:1.5}.full-page-state__message[role=alert]{color:var(--danger)}.full-page-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.session-recovery-backdrop,.plan-upload__dialog-backdrop{position:fixed;z-index:105;inset:0;display:grid;place-items:center;padding:1rem;background:#062c5585}.session-recovery-dialog{display:grid;gap:.9rem}.session-recovery-dialog h1,.session-recovery-dialog h2,.session-recovery-dialog p{margin:0}.session-recovery-dialog form{gap:.75rem}.session-recovery-dialog label{margin:0}.session-recovery-dialog__actions{display:flex;flex-wrap:wrap;gap:.55rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell{display:grid;min-height:100vh;overflow-x:clip;background:linear-gradient(135deg,#f8fbff,#edf5fc)}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;display:flex;flex-direction:column;width:min(17rem,82vw);padding:1.5rem 1rem;color:#fff;background:linear-gradient(160deg,var(--navy-950),var(--navy-800));box-shadow:0 0 2.5rem #062c5542;transform:translate(-105%);transition:transform .2s ease}.sidebar--open{transform:translate(0)}.sidebar__brand{padding:.25rem .75rem 1.75rem}.sidebar__brand .brand img{max-height:4.25rem;max-width:11rem;filter:none}.sidebar__nav{display:grid;gap:.4rem}.sidebar__link,.sidebar__logout{display:flex;align-items:center;gap:.8rem;min-height:3.1rem;padding:.65rem .8rem;color:#fff;background:transparent;border-color:transparent;border-radius:var(--radius-md);font-weight:600;text-align:left;text-decoration:none}.sidebar__link{background:#6dc4f21a;border-color:var(--control-celeste)}.sidebar__link:hover,.sidebar__link--active{background:#6dc4f238;border-color:#93d8fb}.sidebar__logout{margin-top:1.4rem;border-top:1px solid rgb(255 255 255 / .2);border-radius:0}.sidebar__watermark{margin-top:auto;color:#ffffff1c;font-size:8rem;line-height:.75;font-weight:700;transform:rotate(-20deg)}.sidebar__footer{display:grid;gap:.5rem;margin:2rem .75rem 0;color:#fff;font-size:1.1rem;font-weight:700}.sidebar__footer>span{width:2.4rem;height:.25rem;background:var(--orange-500);border-radius:99px}.sidebar__footer small{color:#cbdcf0;font-size:.85rem;font-weight:400;line-height:1.45}.app-shell__stage{min-width:0}.app-shell__content :is(h1,h2,h3){scroll-margin-top:5.5rem}.topbar{display:flex;align-items:center;min-height:5.5rem;gap:1rem;padding:1rem 1.25rem;color:#fff;background:linear-gradient(105deg,var(--navy-950),var(--navy-800))}.topbar__title{margin:0;font-size:clamp(1.3rem,2.5vw,2rem)}.topbar__menu,.topbar__icon-button,.topbar__utility{min-height:2.4rem;color:#fff;background:transparent;border-color:transparent}.topbar__menu{padding-inline:.45rem}.topbar__actions{display:flex;align-items:center;gap:.35rem;min-width:0;margin-left:auto}.topbar__utility{margin-left:auto;font-size:.9rem}.topbar__icon-button{min-width:2.4rem;padding:.35rem}.topbar__account{display:flex;align-items:center;gap:.55rem;min-width:0}.topbar__account-details{min-width:0}.topbar__account strong{display:block;overflow:hidden;max-width:10rem;text-overflow:ellipsis;white-space:nowrap}.topbar__account small{margin-top:.15rem;color:#dceafa;font-size:.75rem}.topbar__membership{display:flex;align-items:baseline;gap:.25rem;min-width:0}.topbar__account-details .topbar__account-name{overflow:hidden;max-width:10rem;text-overflow:ellipsis;white-space:nowrap}.topbar__account-details .topbar__account-role{flex:none;white-space:nowrap}.topbar__account-compact{display:none}.topbar__avatar,.profile-card__avatar{display:grid;flex:none;width:2.4rem;height:2.4rem;place-items:center;color:var(--navy-950);background:#fff;border:2px solid var(--orange-500);border-radius:50%;font-weight:800}.app-shell__stage>.feedback{margin:1rem 1.25rem 0}.app-shell__content>main{max-width:1200px}.profile-page{display:grid;gap:1.25rem}.profile-page__intro{padding:0;background:transparent;border:0}.profile-page__intro h1,.profile-page__intro p{margin:.25rem 0}.eyebrow{color:var(--orange-500);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.profile-card{display:grid;gap:1.25rem;max-width:48rem;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.profile-card__identity{display:flex;align-items:center;gap:1rem}.profile-card__identity h2,.profile-card__identity p{margin:0}.profile-card__identity p{margin-top:.3rem;color:var(--muted)}.profile-card__avatar{width:3.5rem;height:3.5rem;font-size:1.3rem}.profile-card__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin:0}.profile-card__details div{padding:.85rem;background:var(--surface-soft);border-radius:var(--radius-sm)}.profile-card__details dt{color:var(--muted);font-size:.8rem;font-weight:700}.profile-card__details dd{margin:.25rem 0 0;font-weight:700}.profile-card__legacy-note,.account-page__scope-note{margin:0;padding:.8rem 1rem;color:var(--muted);background:var(--surface-soft);border-left:3px solid var(--orange-500);border-radius:var(--radius-sm)}.profile-edit-form{display:grid;gap:1rem}.profile-edit-form label{display:grid;gap:.35rem;font-weight:700}.profile-edit-form__actions{display:flex;flex-wrap:wrap;gap:.75rem}.directory-page{max-width:72rem}.directory-form{max-width:60rem}.directory-form__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.directory-form__fields label{display:grid;gap:.35rem;min-width:0}.directory-form__fields input,.directory-form__fields select,.directory-form__fields textarea{width:100%;min-width:0;box-sizing:border-box}.directory-form__notes{grid-column:1 / -1}.directory-form__notes textarea{min-height:6rem;resize:vertical}.directory-form__actions{display:flex;flex-wrap:wrap;gap:.65rem}.directory-card{max-width:none}.directory-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem;padding:0;margin:0;list-style:none}.directory-list article{display:grid;align-content:start;gap:.75rem;height:100%;padding:1rem;box-sizing:border-box;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md)}.directory-list h3,.directory-list p{margin:0;overflow-wrap:anywhere}.directory-card__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0}.directory-card__details div{padding:.65rem;background:var(--surface);border-radius:var(--radius-sm)}.directory-card__details dt{color:var(--muted);font-size:.8rem;font-weight:700}.directory-card__details dd{margin:.2rem 0 0;font-weight:700}.status-pill{display:inline-flex;padding:.25rem .55rem;border-radius:99px;color:#704600;background:#fff0c7;font-size:.8rem;font-weight:800}.status-pill--active{color:#0b6b3a;background:#e4f7ed}@media(max-width:640px){.directory-form__fields{grid-template-columns:minmax(0,1fr)}.directory-form__notes{grid-column:auto}.directory-form__actions .button,.directory-list .button{width:100%}.directory-card__details{grid-template-columns:minmax(0,1fr)}}.profile-title-settings{display:grid;gap:1rem}.profile-title-settings__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem}.profile-title-settings__fields label{display:grid;gap:.35rem;font-weight:700}.profile-title-settings__fields input,.profile-title-settings__fields select{min-height:2.75rem;padding:.4rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--navy-950)}.profile-title-settings__preview{margin:.25rem 0;overflow-wrap:anywhere}@media(min-width:1100px){.app-shell{grid-template-columns:17rem minmax(0,1fr)}.sidebar{position:sticky;top:0;width:auto;min-height:calc(100vh - 3rem);margin:1.5rem 0 1.5rem 1.5rem;border-radius:var(--radius-lg);transform:none}.topbar{padding-inline:2rem;background:transparent;color:var(--navy-950)}.topbar__menu{display:none}.topbar__utility,.topbar__icon-button{color:var(--navy-800)}.topbar__account small{color:var(--muted)}.app-shell__stage>.feedback{margin-inline:2rem}}@media(max-width:599px){.topbar{min-height:4.5rem;padding-inline:.75rem}.topbar__utility,.topbar__account-details{display:none}.topbar__account-compact{display:grid;min-width:0;max-width:min(13rem,48vw);line-height:1.15}.topbar__account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__account-role{color:#dceafa;font-size:.7rem;white-space:normal}.app-shell__content>main{padding:1rem}}.login-page{position:relative;display:grid;min-height:100vh;max-width:none;margin:0;padding:1.25rem clamp(1rem,5vw,5.5rem);overflow:hidden;color:#fff;background:radial-gradient(circle at 25% 35%,#135384 0,transparent 29rem),linear-gradient(125deg,var(--navy-950),#0b4274 62%,#062c55)}.login-page__utility{position:relative;z-index:2;display:flex;justify-content:flex-end;align-items:center;gap:1rem;align-self:start}.login-page__utility-button{min-height:auto;padding:.35rem;color:#fff;background:transparent;border-color:transparent;font-size:.9rem}.login-page__utility-divider{width:1px;height:1.5rem;background:#ffffffa6}.login-page__layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(14rem,1fr) minmax(20rem,32rem) minmax(8rem,1fr);align-items:center;gap:clamp(1.5rem,5vw,7rem);width:100%;max-width:84rem;margin:auto;padding:2rem 0}.login-page__value{max-width:21rem}.login-page__accent{display:block;width:3rem;height:.35rem;margin-bottom:1.75rem;background:var(--orange-500);border-radius:99px}.login-page__value h1{margin:0;color:#fff;font-size:clamp(2rem,3vw,3rem);line-height:1.05}.login-page__value h1 strong{color:var(--orange-500)}.login-page__value>p{color:#d7e7fb;font-size:1.05rem;line-height:1.55}.login-page__benefits{display:grid;gap:1.25rem;padding:1.5rem 0 0;margin:0;list-style:none}.login-page__benefits li{display:flex;align-items:flex-start;gap:.85rem;color:var(--orange-500)}.login-page__benefits li>span{display:grid;gap:.2rem;color:#d7e7fb;font-size:.9rem;line-height:1.35}.login-page__benefits strong{color:#fff;font-size:1rem}.login-card{display:grid;justify-items:stretch;padding:clamp(1.5rem,3vw,2.6rem);color:var(--text);background:linear-gradient(135deg,#fff,#f6f9fd);border:1px solid rgb(255 255 255 / .7);border-radius:1.4rem;box-shadow:0 1.5rem 3.5rem #00000038}.login-card .brand{justify-self:center}.login-card .brand img{max-width:12.5rem;max-height:6rem}.login-card h2{margin:1.1rem 0 0;color:var(--navy-950);font-size:2rem;text-align:center}.login-card__subtitle{margin:.3rem 0 1.5rem;color:var(--muted);text-align:center}.login-card form{width:100%}.login-card label{margin:0;color:var(--navy-950);font-size:.9rem}.login-card input{width:100%;box-sizing:border-box;min-height:3.15rem;padding-inline:.9rem;border-radius:var(--radius-md)}.login-card__password{position:relative;display:block}.login-card__password input{padding-right:5.7rem}.login-card__password-toggle{position:absolute;top:50%;right:.35rem;min-height:2.25rem;padding:.3rem .55rem;transform:translateY(-50%);color:var(--navy-800);background:transparent;border-color:transparent;font-size:.8rem;font-weight:700}.login-card__recovery{justify-self:end;min-height:auto;padding:0;color:var(--blue-600);background:transparent;border:0;font-size:.84rem;font-weight:700}.login-card__submit,.login-card__google,.login-card__register{width:100%;min-height:3.25rem}.login-card__divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;width:100%;margin:1.35rem 0;color:var(--muted);font-size:.84rem}.login-card__divider span{height:1px;background:var(--line)}.login-card__google-mark{color:#4285f4;font-size:1.35rem;font-weight:900}.login-card__register-prompt{margin:1.35rem 0 .65rem;color:var(--muted);text-align:center}.login-page__watermark{justify-self:end;align-self:center;opacity:.13;transform:scale(2.8);transform-origin:center}.login-page__watermark .brand img{max-width:10rem}.login-page__footer{position:relative;z-index:2;align-self:end;justify-self:center;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;color:#d7e7fb;font-size:.82rem;text-align:center}.onboarding-page{display:grid;align-content:center;gap:1.5rem;box-sizing:border-box;min-height:100vh;max-width:64rem;padding-block:2rem}.onboarding-page__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2rem;max-width:none;padding:0}.onboarding-page__header .brand img{max-width:11rem;max-height:5rem;margin:0}.onboarding-page__header h1,.onboarding-page__header p{margin:.2rem 0}.onboarding-page__header>div>p:last-child{color:var(--muted)}.onboarding-card{gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.onboarding-card fieldset{min-width:0;padding:0;margin:0;border:0}.onboarding-card legend{margin-bottom:.75rem;color:var(--navy-950);font-size:1rem;font-weight:800}.onboarding-types,.onboarding-professional-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.onboarding-types legend,.onboarding-professional-mode legend{grid-column:1 / -1}.onboarding-types label,.onboarding-professional-mode label{display:flex;align-items:center;gap:.6rem;margin:0;padding:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.onboarding-types input,.onboarding-professional-mode input{min-height:auto;width:1.1rem;height:1.1rem;margin:0;accent-color:var(--navy-800)}.onboarding-fields{display:grid;gap:1rem;max-width:none;padding:1.25rem}.onboarding-fields>label,.onboarding-fields__grid label{display:grid;margin:0}.onboarding-fields input{box-sizing:border-box;width:100%}.onboarding-fields small{color:var(--muted);font-weight:500}.onboarding-fields__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.onboarding-card__submit{justify-self:end;min-width:14rem}@media(max-width:680px){.onboarding-page__header{grid-template-columns:minmax(0,1fr);gap:1rem}.onboarding-types,.onboarding-professional-mode,.onboarding-fields__grid{grid-template-columns:minmax(0,1fr)}.onboarding-types legend,.onboarding-professional-mode legend{grid-column:auto}.onboarding-card__submit{justify-self:stretch}}@media(max-width:900px){.login-page__layout{grid-template-columns:minmax(18rem,30rem) minmax(0,1fr);justify-content:center}.login-page__watermark{display:none}}@media(max-width:680px){.login-page{padding:1rem}.login-page__layout{grid-template-columns:minmax(0,32rem);padding-block:1.5rem}.login-page__value{display:none}.login-card{padding:1.5rem}.login-page__utility{justify-content:center}}.image-dimensions{color:#405465;font-variant-numeric:tabular-nums}img{display:block;max-width:min(100%,640px);max-height:420px;margin-block:1rem;border:1px solid #657789}.location-intake{display:grid;gap:1rem;align-items:start}.location-intake__diagram{min-width:0}.block-location-diagram{width:100%;max-width:32rem;margin-inline:auto}.block-location-diagram .street{fill:#7d8790}.block-location-diagram .lot{fill:#fff;stroke:#405465;stroke-width:2}.block-location-diagram .dimension{stroke:#174f7a;stroke-width:2;stroke-dasharray:5 4}.block-location-diagram .supply{fill:#2a9d8f;stroke:#fff;stroke-width:2}.project-primary-action{display:inline-flex;margin-top:1rem;padding:.75rem 1.1rem;font-size:1.1rem;font-weight:700}@media(min-width:800px){.location-intake{grid-template-columns:minmax(18rem,.9fr) minmax(22rem,1.1fr)}.location-intake__diagram{position:sticky;top:1rem}}.project-form-page{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;max-width:72rem}.project-form-page>*{min-width:0}.project-form-page__header{display:grid;gap:.5rem}.project-form-page__header h1,.project-form-page__header p{margin:0}.project-form-page__header>div>p:not(.eyebrow){color:var(--muted)}.project-form-page__back{justify-self:start;min-height:2.25rem}.project-form{display:grid;gap:.8rem}.project-form>fieldset{display:grid;min-width:0;gap:.8rem;margin:0;padding:0;border:0}.project-form__card{max-width:none;margin:0;padding:1.15rem;background:linear-gradient(135deg,#fff,#fbfdff);border:1px solid #dce8f5;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.project-form__section-heading{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.project-form__section-heading>span{display:grid;flex:none;width:2.15rem;height:2.15rem;place-items:center;color:#fff;background:var(--navy-800);border-radius:.65rem;font-size:1.15rem;font-weight:800}.project-form__section-heading h2,.project-form__section-heading p{margin:0}.project-form__section-heading h2{color:var(--navy-950);font-size:1.2rem}.project-form__section-heading p{margin-top:.2rem;color:var(--muted);font-size:.88rem}.project-form__fields{display:grid;gap:.7rem}.project-form__field{display:grid;min-width:0;gap:.35rem;margin:0;color:var(--navy-950);font-size:.83rem}.project-form__field>label{margin:0}.project-form__field input,.project-form__field select{width:100%;box-sizing:border-box;min-height:2.55rem}.project-form__field input[aria-invalid=true],.project-form__field select[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 2px #d92d201f}.project-form__error{color:var(--danger);font-size:.78rem;font-weight:650}.project-form__fields--property{grid-template-columns:repeat(2,minmax(0,1fr))}.project-form__fields--property>:nth-child(1),.project-form__fields--property>:nth-child(7),.project-form__fields--property>:nth-child(9){grid-column:span 2}.project-form__fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}.project-form__sketch-grid{display:grid;gap:1.1rem;align-items:center}.project-form__sketch .block-location-diagram{max-width:22rem;padding:.5rem;background:var(--surface-soft);border-radius:var(--radius-md)}.block-location-diagram .lot{fill:#fff;stroke:var(--navy-800);stroke-width:2.5}.block-location-diagram .lot-label{fill:var(--navy-800);font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.project-form__cotas{display:grid;gap:.85rem}.project-form__cotas .feedback{margin:0;color:var(--navy-800);font-size:.84rem;line-height:1.4}.project-form__range{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .8rem;margin:0;color:var(--navy-950);font-size:.85rem}.project-form__range input{grid-column:1 / -1;width:100%;min-height:1.1rem;padding:0;accent-color:var(--navy-800)}.project-form__range-value{padding:.35rem .6rem;color:var(--navy-800);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.project-form__consent{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem}.project-form__consent .project-form__section-heading{margin:0}.project-form__checkbox{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--navy-950);font-size:.9rem}.project-form__checkbox input{min-height:auto;width:1.15rem;height:1.15rem;accent-color:var(--navy-800)}.project-form__save{min-width:12rem}.plan-upload{display:grid;gap:.9rem;max-width:72rem;margin:1rem auto 0}.plan-upload__heading h2,.plan-upload__heading p{margin:0}.plan-upload__content{display:grid;gap:.75rem}.plan-upload__content>p{margin:0;color:var(--muted)}.plan-upload__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.plan-upload__fields label{display:grid;gap:.35rem;min-width:0;margin:0;color:var(--navy-950);font-size:.85rem}.plan-upload__fields input{box-sizing:border-box;width:100%}.plan-upload__help{font-size:.83rem}.plan-upload__previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem}.plan-upload__previews figure{min-width:0;margin:0}.plan-upload__previews figcaption{margin-bottom:.4rem;color:var(--navy-950);font-size:.85rem;font-weight:700}.plan-upload__previews img{width:100%;max-width:none;max-height:18rem;margin:0;object-fit:contain;background:var(--surface-soft);border-color:var(--line);border-radius:var(--radius-sm)}.plan-upload .image-dimensions{align-self:end;margin:0;padding:.5rem;font-size:.8rem}.plan-upload__dialog{width:min(32rem,100%)}.plan-upload__dialog h3,.plan-upload__dialog p{margin-top:0}.plan-upload__dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}@media(min-width:760px){.project-form__fields--property{grid-template-columns:repeat(4,minmax(0,1fr))}.project-form__fields--property>:nth-child(1){grid-column:span 1}.project-form__fields--property>:nth-child(7),.project-form__fields--property>:nth-child(9){grid-column:span 2}.project-form__sketch-grid{grid-template-columns:minmax(16rem,.8fr) minmax(18rem,1fr)}}@media(min-width:641px)and (max-width:1099px){.project-form__fields--property,.project-form__fields--two,.project-form__sketch-grid,.plan-upload__fields{grid-template-columns:minmax(0,1fr)}.project-form__fields--property>:nth-child(n){grid-column:auto}}@media(max-width:640px){.project-form-page{padding:1rem}.project-form__fields--property,.project-form__fields--two,.plan-upload__fields{grid-template-columns:minmax(0,1fr)}.project-form__fields--property>:nth-child(n){grid-column:auto}.project-form__consent{grid-template-columns:minmax(0,1fr);align-items:start}.project-form__save{width:100%}}.app-shell__content>.project-dashboard{max-width:none;margin-inline:0}.project-dashboard{display:grid;gap:1.25rem;width:auto}.project-dashboard__welcome{display:flex;align-items:end;justify-content:space-between;gap:1rem;box-sizing:border-box;width:100%;max-width:60rem;padding:0;background:transparent;border:0}.project-dashboard__welcome h2,.project-dashboard__welcome p,.project-dashboard__heading h2,.project-dashboard__heading p{margin:0}.project-dashboard__welcome h2,.project-dashboard__heading h2{color:var(--navy-950)}.project-dashboard__welcome p,.project-dashboard__heading p,.project-dashboard__welcome time{color:#5063ee}.project-dashboard__welcome time{font-size:.9rem;text-transform:capitalize}.project-dashboard__card{display:grid;box-sizing:border-box;width:100%;max-width:none;margin:0;gap:1rem}.project-dashboard__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;box-sizing:border-box;width:min(60rem,100%);margin-inline:auto}.project-dashboard__search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;box-sizing:border-box;width:min(60rem,100%);margin-inline:auto}.project-dashboard__search input{min-width:0}.project-dashboard__filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.project-dashboard__filters label{display:grid;margin:0;color:var(--navy-950);font-size:.82rem}.project-dashboard__filters select{width:100%}.project-dashboard__table-wrap{overflow-x:auto;border:1px solid #e0eaf5;border-radius:var(--radius-md)}.project-dashboard table{width:100%;min-width:48rem;border-collapse:collapse}.project-dashboard th,.project-dashboard td{padding:.75rem 1rem;border-bottom:1px solid #e0eaf5;color:var(--navy-950);text-align:left;vertical-align:middle}.project-dashboard th{background:#edf4fa;font-size:.82rem}.project-dashboard th button{min-height:auto;padding:0;color:inherit;background:transparent;border:0;font-weight:800}.project-dashboard tr:last-child td{border-bottom:0}.project-dashboard__actions{display:flex;flex-wrap:wrap;gap:.35rem}.project-dashboard__actions .button{min-height:2.1rem;padding:.35rem .65rem;font-size:.82rem}.project-dashboard__state{display:grid;justify-items:start;gap:.8rem;padding:1rem 0}.project-dashboard__cards{display:none}.project-dashboard__pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#5063ee}.project-dashboard__pagination p{margin:0}.project-dashboard__pagination nav{display:flex;flex-wrap:wrap;gap:.35rem}.project-dashboard__pagination .button{min-width:2.2rem;min-height:2.2rem;padding:.3rem .55rem}.project-card{display:grid;gap:.85rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.project-card h3{margin:0}.project-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0}.project-card dt{color:var(--muted);font-size:.75rem;font-weight:700}.project-card dd{margin:.2rem 0 0;font-size:.9rem}@media(min-width:1280px){.project-dashboard table{table-layout:fixed}.project-dashboard th:nth-child(1){width:15%}.project-dashboard th:nth-child(2){width:14%}.project-dashboard th:nth-child(3){width:27%}.project-dashboard th:nth-child(4){width:27%}.project-dashboard th:nth-child(5){width:17%}.project-dashboard__actions{flex-wrap:nowrap;justify-content:flex-end}}@media(max-width:760px){.project-dashboard__welcome,.project-dashboard__heading,.project-dashboard__pagination{align-items:flex-start;flex-direction:column}.project-dashboard__filters{grid-template-columns:repeat(2,minmax(0,1fr))}.project-dashboard__table-wrap{display:none}.project-dashboard__cards{display:grid;gap:.75rem}.project-dashboard__pagination{width:100%}}@media(max-width:440px){.project-dashboard__search,.project-dashboard__filters,.project-card dl{grid-template-columns:minmax(0,1fr)}.project-dashboard__search .button,.project-dashboard__heading>.button{width:100%}}.interpretation-page{max-width:none}.interpretation-modal-background{max-width:100%}.interpretation-page>header,.interpretation-modal-background>header{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid #dbe8f6}.interpretation-page>header p,.interpretation-modal-background>header p{margin:0;color:var(--muted);font-size:.9rem}.interpretation-page>header h1,.interpretation-modal-background>header h1{margin:0;color:var(--navy-950)}.interpretation-back-actions{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:.7rem}.interpretation-back-action{min-height:2.25rem;padding:.4rem .7rem;color:var(--blue-600);background:var(--control-celeste-soft);border:1px solid var(--control-celeste);border-radius:var(--radius-sm);font-weight:700}.interpretation-back-action:hover:not(:disabled){background:#dff3ff;border-color:#45afe8}.interpretation-workspace--blocked{opacity:.62}.interpretation-workspace__controls{min-width:0;margin:0;padding:0;border:0}.interpretation-exit-dialog{position:fixed;z-index:10;inset:50% auto auto 50%;width:min(32rem,calc(100vw - 2rem));padding:1.25rem;transform:translate(-50%,-50%);color:#17212b;background:#fff;border:2px solid #0b5f85;border-radius:.5rem;box-shadow:0 1rem 3rem #17212b4d}.interpretation-exit-dialog h2{margin-top:0}.interpretation-exit-dialog button+button{margin-left:.5rem}.wizard-nav{margin:1rem 0 1.35rem;overflow-x:auto;border-bottom:1px solid #dbe8f6}.wizard-nav ol{display:flex;gap:.1rem;min-width:max-content;margin:0;padding:0;list-style:none}.wizard-nav li{position:relative}.wizard-nav button{display:inline-flex;align-items:center;gap:.55rem;min-height:3.25rem;padding:.45rem .75rem .65rem;color:#7284ab;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;font-size:.86rem;font-weight:700;white-space:nowrap}.wizard-nav__number{display:grid;width:2rem;height:2rem;place-items:center;color:#fff;background:#aebbd1;border-radius:50%;font-size:.9rem}.wizard-nav button[data-state=pending]{color:var(--wizard-pending-text)}.wizard-nav button[data-state=pending] .wizard-nav__number{color:var(--wizard-pending-text);background:var(--wizard-pending)}.wizard-nav button[data-state=completed]{color:var(--wizard-complete-text)}.wizard-nav button[data-state=completed] .wizard-nav__number{color:#fff;background:var(--wizard-complete)}.wizard-nav button[data-state=current]{color:var(--blue-600);border-bottom-color:var(--blue-600)}.wizard-nav button[data-state=current] .wizard-nav__number{color:#fff;background:var(--blue-600);box-shadow:0 3px 8px #0b35f038}.wizard-nav button:disabled{cursor:not-allowed;opacity:.58}.plan-canvas{max-width:none;margin:0;padding:.45rem;background:var(--surface);border:1px solid #d9e6f5;border-radius:var(--radius-md);box-shadow:0 6px 18px #11497a0d}.plan-canvas__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.45rem;padding:.25rem}.plan-canvas__control{min-height:2.35rem;padding:.35rem .65rem;color:var(--navy-800);background:var(--control-celeste-soft);border-color:var(--control-celeste);font-size:.85rem;font-weight:700}.plan-canvas__control:hover:not(:disabled){background:#dff3ff;border-color:#45afe8}.plan-canvas__zoom{min-width:3.8rem;padding:.3rem .45rem;color:var(--navy-800);font-size:.85rem;font-weight:800;text-align:center}.plan-canvas__viewport{position:relative;z-index:0;isolation:isolate;width:100%;overflow:hidden;background:#eff4f8;border:1px solid #d7e3ef;border-radius:var(--radius-sm);touch-action:none}.plan-canvas__plane{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0}.plan-canvas__image{pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:fill}.plan-canvas__overlay{z-index:2;pointer-events:auto;cursor:grab}.plan-canvas__overlay:active{cursor:grabbing}.plan-canvas__overlay--marking,.plan-canvas__overlay--marking:active{cursor:crosshair}.plan-canvas__precision-cursor{color:#c1121f;filter:drop-shadow(0 0 1px #fff);pointer-events:none}.plan-canvas__confirmed-point{color:#f79009;filter:drop-shadow(0 0 1px #fff);pointer-events:none}.plan-canvas__precision-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.plan-canvas__guide-label-layer{position:absolute;inset:0;z-index:2;pointer-events:none}.plan-canvas__guide-label{position:absolute;transform:translate(-50%,calc(-100% - .5rem));padding:.15rem .35rem;color:#17212b;background:#ffffffeb;border:2px solid;border-radius:.2rem;font-weight:700;line-height:1.2;white-space:nowrap;pointer-events:none}.plan-canvas__guide-label[data-draft=true]{border-style:dashed;box-shadow:0 0 0 3px #f4a26159}.plan-canvas__guide-legend{position:absolute;right:.5rem;bottom:.5rem;z-index:2;display:grid;gap:.25rem;padding:.4rem .6rem;color:#17212b;background:#ffffffeb;border:1px solid #657789;border-radius:.25rem;font-size:.875rem;font-weight:700;pointer-events:none}.interpretation-step-layout{display:grid;max-width:none;margin:0;padding:.25rem 0 1rem;gap:1rem;align-items:start}.interpretation-step-layout__panel,.interpretation-step-layout__canvas{min-width:0}.interpretation-step-layout__panel{display:grid;gap:1rem;padding:1.1rem;background:linear-gradient(135deg,#fff,#fbfdff);border:1px solid #d8e6f6;border-radius:var(--radius-md);box-shadow:0 8px 24px #11497a0d}.interpretation-step-layout__panel>h2,.interpretation-step-layout__panel h2{margin:0;color:var(--navy-950)}.recognition-step{display:grid;gap:1rem}.recognition-step__centered{display:grid;min-height:20rem;align-content:center;justify-items:center;gap:1rem;text-align:center}.recognition-step__centered h2,.recognition-step__completed h2,.recognition-step__history h3{margin:0}.recognition-step__centered>p{max-width:34rem;margin:0;color:var(--muted);line-height:1.55}.recognition-step__progress{display:inline-flex;align-items:center;gap:.65rem;padding:.7rem 1rem;color:var(--navy-800);background:#edf5ff;border:1px solid #d0e1f5;border-radius:999px;font-weight:700}.recognition-step__spinner{width:1.1rem;height:1.1rem;border:3px solid #c8d9ee;border-top-color:var(--blue-600);border-radius:50%;animation:recognition-spin .85s linear infinite}.recognition-step__completed{display:grid;gap:1rem}.recognition-step__context{display:grid;gap:.7rem;padding:.85rem;border:1px solid #f49a3f;border-radius:var(--radius-sm);background:#fffaf5}.recognition-step__context p{margin:0}.recognition-step__context [role=group]{display:flex;flex-wrap:wrap;gap:.45rem}.recognition-step__result-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.recognition-step__result-grid>section{display:grid;align-content:start;gap:.7rem;padding:.85rem;border:1px solid #d7e5f4;border-radius:var(--radius-sm);background:#fff}.recognition-step__detail{display:grid;gap:.65rem}.recognition-step__detail h3,.recognition-step__detail p{margin:0}.recognition-step__detail dl{display:grid;gap:.35rem;margin:0}.recognition-step__detail dl>div{display:grid;grid-template-columns:minmax(7rem,.9fr) minmax(0,1fr);gap:.5rem}.recognition-step__detail dt{font-weight:700;text-transform:capitalize}.recognition-step__detail dd{margin:0}.recognition-step__queue,.recognition-step__history ul{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.recognition-step__queue button,.recognition-step__history button{display:grid;width:100%;gap:.18rem;text-align:left;color:var(--navy-950);background:#fff}.recognition-step__queue button[aria-pressed=true],.recognition-step__history button[aria-pressed=true]{border-color:var(--blue-600);background:#edf5ff}.recognition-step__queue span{color:var(--muted);font-size:.85rem}.recognition-step__history{display:grid;gap:.5rem;border-top:1px solid #d7e5f4;padding-top:1rem}.recognition-guided-panel{display:grid;gap:1rem;min-width:0;color:var(--navy-950)}.recognition-guided-view-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.75rem;background:#fffaf5;border:1px solid #f49a3f;border-radius:var(--radius-sm)}.recognition-guided-view-controls button{min-width:0;color:var(--navy-800);background:#fff;border-color:#9ab8d5}.recognition-guided-view-controls button[aria-pressed=true]{color:#fff;background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 3px 10px #0f5baa33}.recognition-guided-panel__current{display:grid;box-sizing:border-box;gap:.75rem;min-width:0;padding:.9rem;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--orange-500);border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}.recognition-guided-panel__current>*{min-width:0}.recognition-traversal-detail{display:grid;grid-template-rows:minmax(0,1fr) 7rem auto auto;gap:.75rem;min-height:100%}.recognition-traversal-detail__body{min-height:0;overflow-y:auto}.recognition-traversal-detail__body>h2,.recognition-traversal-detail__body>p{margin-top:0}.recognition-traversal-detail__decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;height:7rem}.recognition-traversal-detail__confirm,.recognition-traversal-detail__reject{min-width:0;overflow-y:auto}.recognition-traversal-detail__confirm>button,.recognition-traversal-detail__reject>button,.recognition-traversal-detail__reject>section>button{width:100%}.recognition-traversal-detail__confirm>button{color:#fff;background:var(--navy-800);border-color:var(--navy-800)}.recognition-traversal-detail__reject>button,.recognition-traversal-detail__reject>section>button{color:#a62b22;background:#fff;border-color:#df918a}.recognition-traversal-detail__correction{height:auto;min-height:0;overflow-y:visible}.recognition-traversal-detail__correction:empty,.recognition-traversal-detail__history:empty{visibility:hidden}.recognition-traversal-detail__correction>button,.recognition-traversal-detail__correction>section>button{width:100%}.recognition-traversal-detail__history{display:flex;min-width:0;height:auto;min-height:0;overflow-y:visible;align-items:end;justify-content:flex-end}.recognition-traversal-detail__history>section{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0}.recognition-traversal-detail__history button{margin-left:auto}.recognition-guided-summary{display:grid;gap:.65rem;min-width:0;color:var(--muted)}.recognition-guided-summary>p,.recognition-guided-summary section,.recognition-guided-summary h3{margin:0}.recognition-overlay--current{stroke:var(--orange-500)}.recognition-overlay--confirmed{stroke:var(--navy-800)}.recognition-overlay--context{stroke:#6d3fa9}@keyframes recognition-spin{to{transform:rotate(1turn)}}.calibration-step>.interpretation-step-layout__panel{display:grid;gap:1rem}.calibration-step__instructions{margin:0;color:#405465}.calibration-step__cards{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.calibration-measure-card{padding:1rem;background:#fff;border:1px solid #c8d3df;border-radius:.5rem}.calibration-measure-card h3{margin-top:0}.calibration-measure-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.calibration-measure-card__actions button[aria-pressed=true]{color:#17212b;background:#f4a261;border-color:#c76b24}.pipe-step__panel{min-height:0}.pipe-step__persistent-controls{display:grid;gap:.5rem;padding:.75rem;background:#fff;border:1px solid #c8d3df;border-radius:.5rem}.pipe-step__persistent-controls label{margin:0}.pipe-step__persistent-controls button{width:100%}.pipe-step__scroll-region{display:grid;gap:1rem;min-height:0}.pipe-step__classification{display:grid;gap:.75rem;max-width:none;margin:0;padding:.75rem;background:#fff;border:1px solid #c8d3df;border-radius:.5rem}.pipe-step__context-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin:0;padding:0;list-style:none}.pipe-step__context-legend li{display:flex;align-items:center;gap:.45rem;min-width:0;font-size:.88rem}.pipe-step__context-swatch{flex:0 0 1rem;height:1rem;border:1px solid #17212b;border-radius:.2rem}.pipe-step__classification>button[aria-pressed=true]{color:#17212b;background:#f4a261;border-color:#c76b24}.pipe-step__selection-count{margin:0}.pipe-step__classification-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pipe-step__clear-button{color:#fff;background:#b42318;border-color:#8f1d13}.pipe-step__clear-button:hover:not(:disabled){background:#8f1d13;border-color:#66120d}.pipe-step__clear-button:focus-visible{outline-color:#8f1d13}.ventilation-step{display:grid;gap:1rem}.ventilation-step__cards{display:grid;gap:.75rem}.ventilation-room-card{display:grid;gap:.5rem;min-width:0;margin:0;padding:.85rem;background:#fff;border:1px solid #c8d3df;border-radius:.5rem}.ventilation-room-card legend{padding-inline:.25rem;font-weight:700}.ventilation-room-card p{margin:0}.ventilation-room-card__state{color:#164d3c;font-weight:700}.ventilation-room-card__warning{color:#9c1c27;font-weight:700}.ventilation-room-card__figures{display:grid;gap:.25rem .75rem;grid-template-columns:repeat(2,minmax(0,1fr));font-variant-numeric:tabular-nums}.ventilation-room-card__list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.ventilation-room-card__list>li{display:grid;gap:.4rem;padding-top:.5rem;border-top:1px solid #d7e0e8}.ventilation-room-card__actions{display:flex;flex-wrap:wrap;gap:.4rem}.ventilation-room-card__actions button{min-height:2rem}.ventilation-step__form{display:grid;gap:.6rem;padding:.85rem;background:#fff;border:1px solid #c8d3df;border-radius:.5rem}.ventilation-step__form label{margin:0}.plan-canvas__ventilation-marker{filter:drop-shadow(0 1px 1px rgb(23 33 43 / .35))}.review-step{display:grid;gap:1rem}.review-step>section{display:grid;gap:.6rem}.review-step h3{margin:0}.review-step__table-wrap{overflow-x:auto;border:1px solid #c8d3df;border-radius:.5rem;background:#fff}.review-step__table-wrap table{width:100%;min-width:38rem;border-collapse:collapse;font-variant-numeric:tabular-nums}.review-step__table-wrap th,.review-step__table-wrap td{padding:.5rem;border-bottom:1px solid #d7e0e8;text-align:left;vertical-align:top}.review-step__table-wrap thead th{background:#edf3f8;font-size:.875rem}.review-step__table-wrap tbody tr:last-child td{border-bottom:0}.review-step__warning{margin:0;color:#7a4300;font-weight:700}.review-step__room-list{display:grid;grid-template-columns:1fr;gap:.75rem}.review-step__room-summary{display:grid;gap:.65rem;padding:.8rem;background:#f8fbff;border:1px solid #d3e4f4;border-radius:.5rem}.review-step__room-summary h4,.review-step__room-summary h5{margin:0}.review-step__room-summary h4{color:var(--navy-950);font-size:1rem}.review-step__ventilation-group{display:grid;gap:.35rem;padding:.65rem .75rem;background:#fff;border:1px solid #dbe8f6;border-radius:.4rem}.review-step__ventilation-group h5{color:var(--navy-800);font-size:.9rem}.review-step__ventilation-group dl{display:grid;margin:0}.review-step__ventilation-group dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-top:1px solid #e6eef7}.review-step__ventilation-group dt{color:#50658a;font-weight:700}.review-step__ventilation-group dd{margin:0;font-variant-numeric:tabular-nums;font-weight:800}.review-step__room-status{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.45rem .75rem;border-radius:.35rem}.review-step__room-status span{font-weight:700}.review-step__room-status--complete{color:var(--success);background:#eef9f4}.review-step__room-status--pending{color:var(--warning);background:#fff7e8}.technical-panel{display:grid;gap:1rem;color:var(--navy-950)}.technical-panel>*{min-width:0}.technical-panel__header{display:grid;gap:.35rem;padding-bottom:.85rem;border-bottom:1px solid #dbe8f6}.technical-panel__header h2,.technical-panel__header h3,.technical-panel__header p{margin:0}.technical-panel__header h2{color:var(--navy-950);font-size:clamp(1.25rem,1.5vw,1.65rem)}.technical-panel__header p{color:#50658a;line-height:1.48}.technical-panel__header-actions{display:flex;flex-wrap:wrap;gap:.45rem}.technical-panel__header-actions button{min-height:2rem;padding:.35rem .65rem;font-size:.82rem}.technical-panel__mode-action>button{width:fit-content}.technical-card{display:grid;gap:.7rem;min-width:0;margin:0;padding:.95rem;background:#fff;border:1px solid #d8e6f6;border-radius:var(--radius-sm);box-shadow:0 3px 12px #11497a09}.technical-card>h3,.technical-card>p{margin:0}.technical-card>h3{color:var(--navy-950);font-size:1rem}.technical-card legend{padding-inline:.25rem;color:var(--navy-950);font-weight:800}.technical-card label{display:grid;gap:.35rem;margin:0;color:var(--navy-950);font-size:.86rem;font-weight:700}.technical-card input,.technical-card select{width:100%;box-sizing:border-box}.technical-card__state{margin:0;font-size:.9rem;font-weight:700}.technical-card__state--accepted{color:var(--success)}.technical-card__state--ready,.technical-card__state--marking{color:var(--warning)}.technical-card__state--pending{color:#50658a}.technical-panel__actions{display:grid;gap:.55rem}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.action-grid>button{width:100%}.active-node-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;padding:.9rem;background:linear-gradient(135deg,#fffaf2,#fff);border-color:#f2a154}.active-node-card__eyebrow{margin:0 0 .25rem;color:#50658a;font-size:.78rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.active-node-card button{min-width:min(100%,13rem)}.technical-card--meter{border-color:#f1c37f;background:#fffaf4}.technical-card--meter p{color:#7a4300;font-weight:700}.calibration-step__cards .technical-card{border-left:4px solid var(--blue-600)}.calibration-measure-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calibration-measure-card__actions button:last-child{grid-column:1 / -1;color:#fff;background:var(--navy-800);border-color:var(--navy-800)}.calibration-measure-card__actions button:last-child:disabled{color:#78889b;background:#edf3f8;border-color:#d6e1ec}.calibration-other-controls{display:grid;gap:.75rem;padding:.9rem;background:#f7fbff;border:1px dashed #9cbce0;border-radius:var(--radius-sm)}.pipe-step__classification{background:#f8fbff;border-color:#cbdff2}.pipe-step__classification>button{color:var(--blue-600);background:#fff;border-color:var(--blue-600)}.pipe-step__classification-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pipe-step__controls{display:grid;gap:.75rem}.pipe-step__scroll-region>[role=status]{margin:0;color:#50658a;line-height:1.45}.technical-panel--appliance>fieldset+fieldset{margin-top:-.25rem}.technical-panel--appliance .feedback,.technical-panel--ventilation .feedback{margin:0}.ventilation-room-card{border-color:#cfe1f1}.ventilation-room-card__state--complete{color:var(--success)}.ventilation-room-card__state--pending{color:var(--warning)}.ventilation-room-card__figures p{padding:.45rem .55rem;background:#f7fbff;border-radius:.35rem}.ventilation-step__form{background:#fbfdff;border-color:#bcd5ed}.review-step>.technical-card{gap:.8rem}.review-step__issues li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.review-step__issues ul{display:grid;gap:.55rem;margin:0;padding-left:1.2rem}.review-step__issues button{min-height:2rem;padding:.3rem .6rem}.review-step__table-wrap{border-color:#d3e4f4}.review-step__table-wrap tbody tr:hover{background:#f8fbff}.recognition-classification{display:grid;gap:.8rem}.recognition-classification>h2,.recognition-classification>p,.recognition-classification h3{margin:0}.recognition-classification>p{color:#526b91;line-height:1.45}.recognition-classification__progress{width:fit-content;padding:.35rem .65rem;color:var(--blue-700);background:#edf5ff;border-radius:999px;font-size:.82rem;font-weight:800}.recognition-classification__selection{display:grid;gap:.15rem;padding:.75rem;color:var(--navy-950);background:#fff9ef;border:1px solid #f1c178;border-radius:.65rem}.recognition-classification__selection span{color:#526b91;font-size:.82rem}.recognition-classification__selection-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.recognition-classification__selection-actions button{width:100%;color:var(--blue-700);background:#fff;border-color:#9ab8d5}.recognition-classification__navigator{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem}.recognition-classification__navigator h3{text-align:center;color:var(--navy-950);font-size:.95rem}.recognition-classification__navigator button{width:auto;min-height:2.4rem;padding:.45rem .7rem;background:#fff;border:1px solid #afcae6;color:var(--blue-700);border-radius:.55rem}.recognition-classification__current{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#fff9f0,#fff);border:1px solid #f3b15b;border-left:4px solid var(--orange-500);border-radius:.75rem;box-shadow:0 .7rem 1.7rem #0d396514}.recognition-classification__current>div{display:grid;gap:.2rem}.recognition-classification__current strong{color:var(--navy-950);font-size:1rem}.recognition-classification__current div span{color:#526b91;font-size:.88rem}.recognition-classification__sample{display:block;width:3.25rem;height:.75rem}.recognition-classification__status{padding:.3rem .55rem;border-radius:999px;font-size:.76rem;font-weight:800}.recognition-classification__status--pending{color:#9a5700;background:#fff0d6}.recognition-classification__status--done{color:#14723a;background:#e1f7e9}.recognition-classification__legend{padding-top:.7rem;border-top:1px solid #dce8f3}.recognition-classification__legend h3{margin:0 0 .45rem;color:#526b91;font-size:.8rem}.recognition-classification__legend ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;margin:0;padding:0;list-style:none}.recognition-classification__legend li{display:flex;align-items:center;gap:.4rem;min-width:0;color:#526b91;font-size:.78rem}.recognition-classification__legend .recognition-classification__sample{width:2rem}.recognition-classification__detail{padding:1rem;background:#f8fbff;border:1px solid #cfe0ef;border-radius:.75rem}.recognition-classification__detail form{display:grid;gap:.8rem}.recognition-classification__detail form>h3{color:var(--navy-950);font-size:1rem}.recognition-classification__detail label{display:grid;gap:.35rem;color:var(--navy-950);font-size:.86rem;font-weight:800}.recognition-classification__detail select,.recognition-classification__detail input{width:100%;box-sizing:border-box}.recognition-classification__actions{display:grid;gap:.55rem}.recognition-classification__actions button{width:100%}.review-step-layout>.interpretation-step-layout__above{min-width:0}.review-step__appliances{width:100%;max-width:none;box-sizing:border-box;grid-column:1 / -1;gap:.8rem}.review-step__appliances table{width:100%;min-width:1040px;table-layout:auto}.review-step__appliances th,.review-step__appliances td{padding-block:.65rem;padding-inline:1rem;white-space:normal}.recognition-context-line--counterfloor{stroke:#0b5ff5}.recognition-context-line--natural-terrain{stroke:#15945b}.recognition-context-line--wall{stroke:#6d3fa9}.recognition-context-line--elevated{stroke:#d95f0e}@media(min-width:1101px){.interpretation-page{max-width:none}.interpretation-step-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"canvas panel";gap:1.25rem}.interpretation-step-layout__canvas{grid-area:canvas}.interpretation-step-layout__panel{grid-area:panel}.interpretation-step-layout__canvas{position:sticky;top:1rem}.review-step-layout{grid-template-areas:"above above" "canvas panel"}.review-step-layout>.interpretation-step-layout__above{grid-area:above}.pipe-step>.interpretation-step-layout__panel{position:sticky;top:1rem;height:calc(100vh - 2rem);max-height:calc(100vh - 2rem)}.pipe-step__panel{height:100%;min-height:0}.pipe-step__scroll-region{height:100%;overflow-y:auto;overscroll-behavior:contain;padding-right:.5rem}.pipe-step__persistent-controls{position:sticky;top:0;z-index:2}.recognition-guided-panel__current{height:34rem;overflow-y:auto}}@media(max-width:1100px){.interpretation-step-layout{grid-template-columns:minmax(0,1fr)}.interpretation-step-layout__canvas{position:static}.pipe-step>.interpretation-step-layout__panel{position:static;height:auto;max-height:none}.pipe-step__panel{height:auto}.pipe-step__scroll-region{height:auto;overflow:visible;padding-right:0}.pipe-step__persistent-controls{position:static}.ventilation-room-card__figures,.recognition-step__result-grid{grid-template-columns:minmax(0,1fr)}.recognition-traversal-detail{grid-template-rows:auto;min-height:0}.recognition-traversal-detail__decision-grid,.recognition-traversal-detail__correction,.recognition-traversal-detail__history{height:auto;min-height:0}}@media(max-width:520px){.action-grid,.calibration-measure-card__actions,.pipe-step__classification-actions{grid-template-columns:minmax(0,1fr)}.calibration-measure-card__actions button:last-child{grid-column:auto}.active-node-card{grid-template-columns:minmax(0,1fr);align-items:stretch}.active-node-card button{width:100%}.recognition-classification__navigator{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-classification__navigator h3{grid-column:1 / -1;grid-row:1}.recognition-classification__current{grid-template-columns:2.5rem minmax(0,1fr)}.recognition-classification__current .recognition-classification__status{grid-column:1 / -1;width:fit-content}.recognition-classification__selection-actions,.recognition-traversal-detail__decision-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){input,select,textarea,button,.button{min-height:2.75rem}.recognition-guided-panel button{width:100%;min-height:2.75rem}.recognition-guided-panel__current [role=group]{display:grid;grid-template-columns:minmax(0,1fr)}.recognition-guided-view-controls{grid-template-columns:minmax(0,1fr)}.plan-canvas__controls{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain}.plan-canvas__controls>*{flex:0 0 auto}.topbar__menu,.topbar__icon-button,.topbar__utility,.login-page__utility-button,.plan-canvas__control{min-width:2.75rem;min-height:2.75rem}.project-dashboard__actions .button,.project-dashboard__pagination .button,.ventilation-room-card__actions button,.technical-panel__header-actions button,.review-step__issues button{min-height:2.75rem}}.commercial-page{display:grid;gap:1.25rem;width:100%;max-width:1440px;min-width:0;padding:clamp(1rem,3vw,2rem);box-sizing:border-box}.commercial-page h1,.commercial-page h2,.commercial-page h3,.commercial-page p{margin-top:0}.commercial-page__header{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.commercial-page__header h1{margin:.2rem 0 .35rem;color:var(--navy-950);font-size:clamp(1.7rem,3vw,2.35rem)}.commercial-page__header p:last-child{margin-bottom:0;color:var(--muted)}.commercial-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.commercial-actions .button{min-height:2.35rem}.commercial-back{width:fit-content}.commercial-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem}.commercial-filters label,.commercial-form-grid label,.commercial-settings label,.budget-editor__form>label{margin:0}.commercial-filters input,.commercial-filters select,.commercial-form-grid input,.commercial-form-grid select,.commercial-settings input,.commercial-settings select,.commercial-settings textarea,.budget-editor__form>label input,.budget-editor__form>label textarea{width:100%;min-width:0;box-sizing:border-box}.commercial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;max-width:none;padding:0}.commercial-card{display:grid;align-content:start;gap:.8rem;min-width:0;padding:1.1rem;border:1px solid var(--line);border-top:4px solid var(--control-celeste);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card)}.commercial-card h2,.commercial-card p,.commercial-card dl{margin:0}.commercial-card dl,.price-list-meta dl{display:grid;gap:.45rem}.commercial-card dl>div,.price-list-meta dl>div{display:flex;justify-content:space-between;gap:1rem}.commercial-card dt,.price-list-meta dt{color:var(--muted);font-weight:700}.commercial-card dd,.price-list-meta dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.commercial-card__actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:auto}.commercial-card--budget{border-top-color:var(--navy-800)}.commercial-badge,.budget-status{display:inline-flex;align-items:center;width:fit-content;padding:.28rem .55rem;border-radius:999px;color:var(--navy-800);background:#e7f4fb;font-size:.76rem;font-weight:800;letter-spacing:.02em}.commercial-badge--personal{color:#6f3c00;background:#fff1d6}.budget-status--accepted{color:#116329;background:#e0f4e5}.budget-status--rejected,.budget-status--expired{color:#9f1f17;background:#fde8e6}.budget-status--sent{color:#075e82;background:#dff3fb}.commercial-empty{text-align:center}.commercial-empty h2,.commercial-empty p{margin-bottom:.35rem}.commercial-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--muted);font-weight:700}.commercial-form-grid,.commercial-settings__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem}.commercial-settings,.budget-editor__form,.price-list-metadata{display:grid;gap:1rem}.commercial-settings>fieldset{display:grid;gap:1rem;min-width:0;padding:0;margin:0;border:0}.commercial-settings>fieldset:disabled{opacity:.82}.commercial-settings textarea,.budget-editor__form textarea,.price-list-metadata textarea{width:100%;min-height:5rem;resize:vertical;box-sizing:border-box}.price-list-metadata fieldset{display:flex;flex-wrap:wrap;gap:.35rem 1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.price-list-metadata fieldset label{display:flex;align-items:center;gap:.4rem;margin:0}.price-list-new-item{align-items:end;margin-top:1rem}.commercial-table-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto;padding:0;box-sizing:border-box}.commercial-table{width:100%;min-width:44rem;border-collapse:collapse;color:var(--text);font-variant-numeric:tabular-nums}.commercial-table th,.commercial-table td{padding:.7rem .75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.commercial-table thead th{color:var(--navy-950);background:var(--surface-soft);font-size:.82rem;text-transform:uppercase;letter-spacing:.035em}.commercial-table tbody tr:last-child td{border-bottom:0}.commercial-table td small{display:block;margin-top:.25rem;color:var(--muted)}.commercial-table input{width:min(100%,12rem);min-width:7rem;box-sizing:border-box}.commercial-row--error{background:#fff0ee}.commercial-mobile-list{display:grid;gap:.8rem}.adjustment-preview dl,.budget-totals{display:grid;gap:.45rem}.adjustment-preview dl>div,.budget-totals>div{display:flex;justify-content:space-between;gap:1rem}.adjustment-preview dd,.budget-totals dd{margin:0;font-variant-numeric:tabular-nums}.budget-editor{max-width:1500px}.budget-items-editor{display:grid;gap:.8rem}.budget-items-editor>.button{justify-self:start}.budget-items{min-width:64rem}.budget-items__order{display:flex;gap:.35rem}.budget-preview{display:grid;gap:1.25rem;width:min(100%,62rem);padding:clamp(1rem,4vw,2.5rem);margin-inline:auto;box-sizing:border-box;color:#142b44;background:#fff;border:1px solid #9eacba;border-top:6px solid var(--navy-800);box-shadow:var(--shadow-card)}.budget-preview>header{display:flex;justify-content:space-between;gap:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--navy-800)}.budget-preview>header h2{margin-bottom:.35rem;color:var(--navy-950);font-size:clamp(1.45rem,3vw,2rem)}.budget-preview>header dl{display:grid;gap:.45rem;margin:0}.budget-preview>header dl>div{display:grid;grid-template-columns:auto auto;gap:.75rem}.budget-preview>header dt{color:var(--muted);font-weight:700}.budget-preview>header dd{margin:0;text-align:right}.budget-preview>section{width:auto;max-width:none;margin:0;padding:0}.budget-preview__actions{justify-content:flex-end}.budget-totals{justify-self:end;width:min(100%,27rem);margin:0}.budget-totals__total{padding-top:.7rem;border-top:2px solid var(--navy-800);color:var(--navy-950);font-size:1.2rem;font-weight:800}@media(max-width:760px){.commercial-page__header,.budget-preview>header{display:grid}.commercial-page__header>.button,.commercial-page__header>.commercial-actions,.commercial-page__header>.commercial-actions .button{width:100%}.commercial-actions .button,.commercial-card__actions .button{flex:1 1 9rem}.commercial-pagination{display:grid;grid-template-columns:1fr 1fr;text-align:center}.commercial-pagination span{grid-column:1 / -1;grid-row:1}.budget-preview{padding:1rem;border-top-width:4px}.budget-preview__actions .button{width:100%}.budget-preview>header dl>div{grid-template-columns:minmax(0,1fr);gap:.1rem}.budget-preview>header dd{text-align:left}.budget-totals{width:100%}}@media print{.sidebar,.topbar,.commercial-back,.budget-editor>:not(.budget-preview),.budget-preview__actions{display:none!important}.app-shell,.app-shell__stage,.app-shell__content{display:block;background:#fff}.budget-preview{width:100%;max-width:none;padding:0;border:0;box-shadow:none}}.manual-page{display:grid;gap:1rem;width:100%;min-width:0;max-width:none;box-sizing:border-box}.manual-page__header h1{margin:0;color:var(--navy-950);font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.3}.manual-viewer__search{display:grid;grid-template-columns:minmax(14rem,1fr) auto;align-items:end;gap:.6rem}.manual-viewer__search label{min-width:0;margin:0}.manual-viewer__search input{width:100%;min-width:0;box-sizing:border-box}.manual-viewer__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.manual-viewer__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0}.manual-viewer__page-count{padding-inline:.25rem;font-variant-numeric:tabular-nums;white-space:nowrap}.manual-page .button:disabled{cursor:not-allowed}.manual-viewer__status{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin:0;color:var(--navy-800)}.manual-viewer__document{min-width:0;min-height:20rem;max-width:100%;max-height:78dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}.manual-viewer__page{display:flex;justify-content:center;width:max-content;min-width:100%;box-sizing:border-box;padding:1rem}.manual-viewer__page .react-pdf__Page{box-shadow:var(--shadow-card)}.manual-viewer__loading{margin:0;padding:1rem;color:var(--muted)}.manual-viewer__error{display:grid;justify-items:start;gap:.65rem}.manual-viewer__error p{margin:0}.manual-viewer__document .manual-viewer__error{margin:1rem}.manual-viewer__match{color:inherit;background:#ffe25c80}.manual-viewer__match--active{background:#ffa930a6;outline:2px solid var(--blue-600)}.calculation-table__selected{background:#fff3d9;box-shadow:inset 4px 0 var(--orange-500)}.calculation-table__select{padding:.25rem;color:var(--navy-800);background:transparent;border:0;text-align:left;font:inherit;text-decoration:underline;cursor:pointer}.isometric-editor{display:grid;gap:1rem;min-width:0}.isometric-editor__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.isometric-editor__toolbar>span{color:var(--muted);font-size:.9rem}.isometric-editor__export{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.9rem;color:var(--muted)}.isometric-editor__workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:1rem}.isometric-editor__workspace--simple{grid-template-columns:minmax(0,1fr)}.isometric-editor__canvas,.isometric-editor__controls{min-width:0}.isometric-editor__controls>summary{cursor:pointer;padding:.6rem 0;font-weight:700}.isometric-editor__workspace--simple .isometric-editor__inspector{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.isometric-editor__drawing{min-width:0;max-height:75dvh;padding:.8rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7fbff}.isometric-editor__zoom{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.isometric-editor__zoom output{min-width:3.5rem;color:var(--navy-800);font-weight:800;text-align:center}.isometric-editor__drawing>p{margin:0;color:#50658a;font-size:.85rem;line-height:1.5}.isometric-editor__drawing svg{display:block;width:calc(100% * var(--isometric-zoom));min-width:calc(35rem * var(--isometric-zoom));height:calc(32rem * var(--isometric-zoom));max-height:calc(65dvh * var(--isometric-zoom));min-height:calc(20rem * var(--isometric-zoom))}.isometric-editor__workspace--simple .isometric-editor__drawing{max-height:88dvh}.isometric-editor__workspace--simple .isometric-editor__drawing svg{min-width:0;height:calc(75dvh * var(--isometric-zoom));max-height:none;min-height:calc(28rem * var(--isometric-zoom))}.isometric-editor__pipe{cursor:pointer}.isometric-editor__pipe[aria-pressed=true]{filter:drop-shadow(0 0 2px #dc262655)}.isometric-editor__pipe .isometric-editor__pipe-hit{stroke:transparent;stroke-width:22}.isometric-editor__label{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:bounding-box}.isometric-editor__collisions{padding:.65rem;border:1px solid #d6a954;border-radius:.4rem;background:#fff7e8;font-size:.85rem}.isometric-editor__collisions ul,.isometric-editor__issues ul{max-height:14rem;overflow:auto}.isometric-editor__collisions button{margin:.25rem}.sheet-layout-editor{display:grid;gap:.75rem}.sheet-layout-editor__toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.sheet-layout-editor__canvas{position:relative;width:100%;background:#fff;border:1px solid #687483}.sheet-layout-editor__print,.sheet-layout-editor__interaction{position:absolute;inset:0;width:100%;height:100%}.sheet-layout-editor__print>svg{display:block;width:100%;height:100%}.sheet-layout-editor__print{pointer-events:none}.sheet-layout-editor__interaction{overflow:visible;touch-action:none}.sheet-layout-editor__block{cursor:grab;touch-action:none}.sheet-layout-editor__block>rect{fill:transparent;stroke:#24598b;stroke-width:.5;stroke-dasharray:2 1}.sheet-layout-editor__safe-frame{fill:none;stroke:#586676;stroke-width:.7;stroke-dasharray:4 2;pointer-events:none}.sheet-layout-editor__centre{stroke:#7b8794;stroke-width:.35;stroke-dasharray:2 2;pointer-events:none}.sheet-layout-editor__distance{fill:#24384b;font-size:4px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:1.5px;pointer-events:none}.sheet-layout-editor__block--conflict>rect{fill:transparent;stroke:#b82828;stroke-width:1.2;stroke-dasharray:none}.sheet-layout-editor__conflict-marker{fill:#b82828;font-size:8px;font-weight:900;text-anchor:middle;pointer-events:none}.sheet-layout-editor__block:focus{outline:none}.sheet-layout-editor__block:focus>rect{stroke:#111;stroke-width:1;stroke-dasharray:none}.sheet-layout-editor__block[aria-disabled=true]{cursor:wait}.sheet-layout-editor__guide{stroke:#914000;stroke-width:.5;stroke-dasharray:3 2;pointer-events:none}.sheet-layout-editor__positions{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sheet-layout-editor__issue{margin-block:.5rem}.sheet-layout-editor__issue button{margin-inline-start:.5rem}.sheet-layout-editor__scale-controls{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.sheet-layout-editor__scale-control{display:flex;align-items:center;gap:.4rem}.sheet-layout-editor__scale-control label{display:grid;gap:.25rem}.sheet-layout-editor__scale-control input[type=number]{width:5rem}.sheet-layout-editor__scale-control input[type=range]{min-height:24px}.sheet-layout-editor__block--selected>rect{stroke-width:1;stroke-dasharray:none}.sheet-layout-editor__resize{cursor:nwse-resize;touch-action:none}.sheet-layout-editor__resize-hit{pointer-events:all}.sheet-layout-editor__resize-mark{fill:#fff;stroke:#24598b;stroke-width:2px;pointer-events:none}.sheet-layout-editor__resize--conflict .sheet-layout-editor__resize-mark{fill:#ffe7e7;stroke:#b82828}.sheet-layout-editor__resize[aria-disabled=true]{cursor:wait}@media print{.sheet-layout-editor__scale-controls{display:none}}@media print{.sheet-layout-editor__interaction{display:none}}.isometric-editor__drawing{background:#fff}.isometric-editor__node{cursor:grab;touch-action:none;fill:#fff;stroke:#9a6c0a;stroke-width:2}.isometric-editor__node--meter{fill:#edf5ff;stroke:var(--navy-800)}.isometric-editor__node text{stroke:none;fill:var(--navy-800);font-size:20px;font-weight:800}.isometric-editor__node .isometric-editor__node-hit{fill:transparent;stroke:transparent}.isometric-editor__node[aria-pressed=true]>circle:not(.isometric-editor__node-hit){fill:#fff0c7;stroke:var(--blue-600);stroke-width:3}.isometric-editor__vertical{stroke:#6d3fa9;stroke-width:3;fill:#6d3fa9}.isometric-editor__vertical line{stroke-dasharray:6 3}.isometric-editor__appliance{fill:#eef9f4;stroke:#14723a;stroke-width:2}.isometric-editor svg [role=button]:focus-visible{outline:2px solid var(--blue-600);outline-offset:5px}.isometric-editor__inspector{display:grid;align-content:start;gap:.85rem;min-width:0;overflow-wrap:anywhere}.isometric-editor__inspector>label{display:grid;gap:.35rem}.isometric-editor__inspector select{width:100%;min-width:0}.isometric-editor__coordinates{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.isometric-editor__stale{padding:.7rem;margin:0;background:#fff7e8;color:#7a4300;border-radius:.4rem}@media(max-width:1000px){.isometric-editor__workspace{grid-template-columns:minmax(0,1fr)}.isometric-editor__inspector{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.isometric-editor__drawing svg{height:calc(26rem * var(--isometric-zoom))}}@media(max-width:760px){.manual-viewer__search{grid-template-columns:minmax(0,1fr)}.manual-viewer__toolbar{align-items:start}.manual-viewer__page{padding:.6rem}}.recognition-physical-routing,.recognition-physical-declarations{display:grid;gap:1rem}.recognition-physical-routing [role=group],.recognition-physical-declarations [role=group]{display:flex;flex-wrap:wrap;gap:.5rem}.recognition-physical-routing button,.recognition-physical-declarations button{min-height:44px}.recognition-physical-routing label,.recognition-physical-declarations label{display:grid;gap:.35rem}.recognition-physical-exit{display:grid;gap:.75rem;border:1px solid #ddd4c7;border-radius:.75rem;padding:1rem;margin:0}.recognition-physical-exit input,.recognition-physical-exit select{max-width:100%;width:100%;min-height:42px}.recognition-tee-cases{display:block!important}.recognition-tee-cases__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.recognition-tee-cases__grid button{display:grid;gap:.4rem;padding:.6rem;border:1px solid #ddd4c7;border-radius:.75rem;text-align:left;background:#fff;color:#234c47}.recognition-tee-cases__grid button[aria-pressed=true]{border:2px solid #c36d29;background:#fff8ed}.recognition-tee-cases__grid svg{width:100%;max-height:135px}.recognition-tee-cases__grid span{font-size:.85rem}.recognition-tee-preview{max-width:230px;color:#234c47}.recognition-mouth-editor{display:grid;gap:1rem}.recognition-mouth-editor .technical-panel{max-height:none;overflow:visible}.recognition-mouth-editor .plan-canvas{min-height:220px}.recognition-physical-routing fieldset{min-width:0}.riser-wizard{display:grid;gap:.65rem;width:100%;padding:.85rem;border:1px solid #bdd7e8;border-radius:.75rem;background:#f4fbff}.riser-wizard h3,.riser-wizard p{margin:0}.riser-wizard label{display:grid;gap:.35rem}.riser-wizard select,.riser-wizard input{width:100%;min-height:42px}@media(max-width:480px){.recognition-tee-cases__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-physical-routing button{width:100%}}.auxiliary-image-editor-shell{display:grid;gap:.9rem;max-width:none}.auxiliary-image-editor-shell h2,.auxiliary-image-editor-shell p{margin:0}.auxiliary-image-editor-shell>.button{justify-self:start}.auxiliary-image-editor{display:grid;gap:1rem;max-width:none;margin:0}.auxiliary-image-editor__header{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:1rem}.auxiliary-image-editor__header h2,.auxiliary-image-editor__header p,.auxiliary-image-editor h3{margin:0}.auxiliary-image-editor__add{width:fit-content;padding:.7rem;border:1px dashed var(--control-celeste);border-radius:var(--radius-sm);background:var(--control-celeste-soft)}.auxiliary-image-editor__drafts{display:grid;gap:.75rem;padding-left:1.5rem}.auxiliary-image-editor__drafts>li{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem 1rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.auxiliary-image-editor__drafts label{min-width:9rem;flex:1 1 10rem;margin:0}.auxiliary-image-editor__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem}.auxiliary-image-card{display:grid;gap:.65rem;min-width:0;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.auxiliary-image-card label{margin:0}.auxiliary-image-card__preview{position:relative;display:grid;place-items:center;min-height:8rem;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.auxiliary-image-card__preview img{display:block;width:100%;height:100%;object-fit:contain}.auxiliary-image-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:640px){.auxiliary-image-editor__header{display:grid}.auxiliary-image-editor__header .button,.auxiliary-image-card__actions .button{width:100%}}.floor-tabs{display:grid;gap:.65rem;max-width:none;padding:0}.floor-tabs [role=tablist]{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.floor-tabs__tab{display:grid;gap:.15rem;min-width:8rem;color:var(--navy-800);background:var(--surface);border-color:var(--line);text-align:left}.floor-tabs__tab small{color:var(--muted);font-weight:700}.floor-tabs__tab--active{color:#fff;background:var(--navy-800);border-color:var(--navy-800)}.floor-tabs__tab--active small{color:#dceeff}.floor-tabs__navigation{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.floor-tabs__navigation span{min-width:8rem;color:var(--muted);font-weight:700;text-align:center}.floor-preparation{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;width:100%;min-width:0;max-width:none;box-sizing:border-box}.floor-preparation>*{min-width:0}.floor-preparation header p,.floor-preparation header h2,.floor-preparation>p{margin:0}.floor-preparation__add{width:fit-content;padding:.7rem;border:1px dashed var(--control-celeste);border-radius:var(--radius-sm);background:var(--control-celeste-soft)}.floor-preparation__drafts{display:grid;gap:.75rem;margin:0;padding-left:1.5rem}.floor-preparation__drafts>li{display:grid;gap:.65rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft)}.floor-preparation__draft-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.65rem}.floor-preparation__draft-fields label{margin:0}.floor-preparation__draft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.floor-preparation__existing{display:grid;gap:.65rem}.floor-preparation__existing h3{margin:0}.floor-preparation__existing ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.floor-preparation__existing li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;padding:.65rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.floor-preparation__existing li>div{display:flex;flex-wrap:wrap;gap:.5rem}.floor-preparation__impact{display:grid;gap:.75rem;padding:1rem;border:2px solid var(--orange-500);border-radius:var(--radius-md);background:#fff8ed}.floor-preparation__impact h3,.floor-preparation__impact p,.floor-preparation__impact ul{margin:0}.floor-preparation__impact>div{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:640px){.floor-tabs__tab{flex:1 1 100%}.floor-tabs__navigation{display:grid;grid-template-columns:1fr 1fr}.floor-tabs__navigation span{grid-column:1 / -1;grid-row:1}.floor-preparation__existing li{align-items:stretch}.floor-preparation__existing li>div,.floor-preparation__existing li>div button,.floor-preparation__impact>div button{width:100%}}.plan-annotation-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.75rem}.plan-annotation-handle{cursor:grab;touch-action:none;outline:none}.plan-annotation-handle:active{cursor:grabbing}.plan-annotation-handle[aria-disabled=true]{cursor:default}.plan-annotation-handle[aria-pressed=true]>.plan-annotation-outline,.plan-annotation-handle:focus-visible>.plan-annotation-outline{stroke:#1d4ed8;stroke-width:2px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.plan-annotation-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media print{.plan-annotation-toolbar,.plan-annotation-outline,.plan-annotation-status{display:none}}.material-purchase-panel{display:grid;gap:1rem;max-width:none}.material-purchase-panel__header{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:1rem}.material-purchase-panel__header h2,.material-purchase-panel__header p{margin:0}.material-purchase-editor{display:grid;gap:1rem}.material-purchase-sheet{width:min(100%,52rem);min-height:58rem;padding:clamp(1rem,3vw,2.25rem);margin-inline:auto;box-sizing:border-box;color:#142b44;background:#fff;border:1px solid #9eacba;box-shadow:var(--shadow-card)}.material-purchase-sheet__header{display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:3px solid var(--navy-800)}.material-purchase-sheet__header img{display:block;width:5rem;height:5rem;object-fit:contain}.material-purchase-sheet__header h2{margin:0;color:var(--navy-950);font-size:clamp(1.35rem,3vw,2rem)}.material-purchase-sheet__header p{margin:.25rem 0 0;color:var(--muted)}.material-purchase-sheet__details{display:grid;gap:.45rem;margin:1rem 0}.material-purchase-sheet__details div{display:grid;grid-template-columns:minmax(7rem,9rem) minmax(0,1fr);gap:.75rem}.material-purchase-sheet__details dt{font-weight:800}.material-purchase-sheet__details dd{margin:0}.material-purchase-sheet table{width:100%;table-layout:fixed;border-collapse:collapse}.material-purchase-sheet th,.material-purchase-sheet td{padding:.5rem;border:1px solid #aeb9c4;vertical-align:top}.material-purchase-sheet th{color:#fff;background:var(--navy-800);text-align:left}.material-purchase-sheet th:first-child,.material-purchase-sheet td:first-child{width:6rem}.material-purchase-sheet th:nth-child(2),.material-purchase-sheet td:nth-child(2){width:7rem}.material-purchase-sheet th:last-child,.material-purchase-sheet td:last-child{width:6.5rem}.material-purchase-sheet input{width:100%;min-width:0;padding:.45rem;box-sizing:border-box}.material-purchase-editor__row-actions,.material-purchase-editor__export-actions{display:flex;flex-wrap:wrap;gap:.65rem}@media(max-width:640px){.material-purchase-panel__header,.material-purchase-sheet__details div{display:grid;grid-template-columns:minmax(0,1fr)}.material-purchase-sheet{min-height:0;padding:.75rem}.material-purchase-sheet__header{grid-template-columns:3.5rem minmax(0,1fr)}.material-purchase-sheet__header img{width:3.5rem;height:3.5rem}.material-purchase-sheet{overflow-x:auto}.material-purchase-sheet table{min-width:36rem}.material-purchase-editor__row-actions .button,.material-purchase-editor__export-actions .button{width:100%}}.technical-dashboard{display:grid;gap:1.25rem}.technical-dashboard__header,.technical-dashboard__section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.technical-dashboard__header h1,.technical-dashboard__section-heading h2{margin:.2rem 0}.technical-dashboard__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.technical-dashboard__metrics article{display:grid;gap:.4rem}.technical-dashboard__metrics strong{font-size:2rem;color:var(--navy-950)}.technical-dashboard__recent{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.technical-dashboard__recent button{display:flex;width:100%;justify-content:space-between;gap:1rem;text-align:left;background:#fff;color:var(--navy-950);border-color:var(--line)}
