@import "https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy-950:#061525;--navy-900:#0a2037;--navy-800:#123653;--navy-100:#e8eef3;--red-700:#b80f1d;--red-600:#d01829;--red-100:#fff0f2;--ink:#111c26;--muted:#65727f;--line:#dce3e8;--surface:#fff;--canvas:#f4f6f8;--success:#0f7b55;--shadow:0 24px 60px #05162621;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.site-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:78px;padding:0 clamp(22px,5vw,76px);display:flex}.brand{color:var(--navy-950);align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{object-fit:contain;width:46px;height:46px}.brand span{line-height:1.05;display:grid}.brand strong{letter-spacing:.02em;text-transform:uppercase;font-size:16px}.brand small{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-top:5px;font-size:10px}.header-badge{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:8px 13px;font-size:12px;font-weight:700}.hero{background:var(--navy-950);color:#fff;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);align-items:center;gap:clamp(48px,8vw,120px);min-height:560px;padding:72px clamp(24px,7vw,112px) 84px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:1px solid #ffffff14;border-radius:50%;width:580px;height:580px;position:absolute;bottom:-190px;right:-80px;box-shadow:0 0 0 90px #ffffff06,0 0 0 180px #ffffff05}.hero-copy,.upload-card{z-index:1;position:relative}.eyebrow{color:var(--red-600);letter-spacing:.17em;margin:0 0 17px;font-size:12px;font-weight:850}.hero h1{letter-spacing:-.055em;max-width:700px;margin:0;font-size:clamp(46px,6vw,82px);line-height:.98}.hero h1 span{color:#b9c5cf}.hero-intro{color:#b9c5cf;max-width:650px;margin:25px 0 0;font-size:clamp(16px,1.6vw,19px);line-height:1.65}.flow{color:#dfe6eb;align-items:center;gap:12px;margin-top:35px;font-size:12px;font-weight:700;display:flex}.flow span{white-space:nowrap;align-items:center;gap:7px;display:flex}.flow b{color:#fff;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.flow i{background:#ffffff2e;width:26px;height:1px}.upload-card{color:var(--ink);border-top:4px solid var(--red-600);background:#fff;border-radius:5px;padding:22px;box-shadow:0 30px 80px #00000057}.upload-card__topline{letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin-bottom:17px;font-size:11px;font-weight:850;display:flex}.upload-card__topline span:last-child{color:var(--muted)}.drop-zone{text-align:center;background:#f7f9fa;border:1.5px dashed #aebbc5;flex-direction:column;justify-content:center;align-items:center;min-height:230px;padding:28px 20px;transition:border-color .2s,background .2s,transform .2s;display:flex}.drop-zone:hover,.drop-zone:focus-visible,.drop-zone.is-dragging{border-color:var(--red-600);background:var(--red-100);outline:0;transform:translateY(-2px)}.drop-zone.has-file{border-style:solid;border-color:var(--success);background:#f0faf6}.drop-zone.is-processing .upload-icon{animation:1s ease-in-out infinite pulse}.upload-icon{background:var(--navy-100);width:62px;height:62px;color:var(--navy-800);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.drop-zone strong{font-size:17px}.drop-zone>span:not(.upload-icon):not(.selected-file){color:var(--muted);margin-top:7px;font-size:13px}.selected-file{max-width:100%;color:var(--navy-800);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:4px;margin-top:15px;padding:7px 10px;font-size:12px;font-weight:800;overflow:hidden}.primary-button,.secondary-button{border:0;border-radius:3px;min-height:48px;font-weight:800;transition:transform .18s,background .18s,opacity .18s}.primary-button{color:#fff;background:var(--red-600);justify-content:space-between;align-items:center;width:100%;margin-top:16px;padding:0 18px;display:flex;box-shadow:0 9px 18px #d0182938}.primary-button:hover:not(:disabled){background:var(--red-700);transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.privacy-note{color:var(--muted);text-align:center;margin:13px 0 0;font-size:10.5px}.privacy-note span{color:var(--success)}.confidence-strip{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:0 auto;display:grid;transform:translateY(-25px);box-shadow:0 13px 35px #0a20370f}.confidence-strip>div{border-right:1px solid var(--line);gap:4px;padding:25px 30px 25px 62px;display:grid;position:relative}.confidence-strip>div:last-child{border-right:0}.confidence-strip span{color:var(--red-600);font-size:11px;font-weight:900;position:absolute;top:27px;left:27px}.confidence-strip strong{font-size:14px}.confidence-strip small{color:var(--muted)}.status{border-left:4px solid var(--navy-800);background:#fff;max-width:1180px;margin:8px auto 30px;padding:15px 18px;font-size:14px;font-weight:700;box-shadow:0 7px 20px #0a20370f}.status[data-kind=error]{border-color:var(--red-600);color:#8b1420;background:var(--red-100)}.status[data-kind=success]{border-color:var(--success);color:#086344;background:#eef9f4}.status[data-kind=processing]{border-color:#d7a10b}.estimate-section{max-width:1180px;margin:45px auto 90px;padding:0 20px;scroll-margin-top:20px}.estimate-toolbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.estimate-toolbar h2{color:var(--navy-950);letter-spacing:-.03em;margin:0;font-size:32px}.toolbar-actions{gap:10px;display:flex}.secondary-button{color:var(--navy-800);border:1px solid var(--line);background:#fff;padding:0 20px}.secondary-button:hover{border-color:var(--navy-800)}.primary-button--compact{justify-content:center;width:auto;min-width:165px;margin:0}.floating-download-button{right:clamp(18px,3vw,42px);bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:100;min-width:190px;padding-inline:26px;position:fixed;box-shadow:0 14px 35px #06152547,0 8px 20px #d018294d}.estimate-document{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;overflow:hidden}.estimate-document__header{color:#fff;background:var(--navy-950);justify-content:space-between;gap:35px;padding:36px 40px;display:flex}.estimate-issuer{grid-template-columns:68px auto;align-items:start;column-gap:17px;display:grid}.estimate-issuer__logo{object-fit:contain;grid-row:1/span 4;width:68px;height:32px;margin-top:3px}.estimate-issuer>:not(.estimate-issuer__logo){grid-column:2}.estimate-issuer h2{margin:4px 0 10px;font-size:23px}.estimate-issuer p{color:#b9c5cf;margin:3px 0;font-size:12px}.estimate-kicker{color:#9ab;letter-spacing:.17em;font-size:10px;font-weight:900}.estimate-kicker--red{color:#ff6270}.estimate-meta{text-align:right;flex-direction:column;align-items:end;display:flex}.estimate-number{margin-top:7px;font-size:19px}.estimate-date{color:#b9c5cf;margin-top:6px;font-size:12px}.estimate-project{border-bottom:1px solid var(--line);grid-template-columns:1.5fr 1fr .55fr;gap:25px;padding:23px 40px;display:grid}.estimate-detail{gap:6px;min-width:0;display:grid}.estimate-detail__label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:850}.estimate-detail__value{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.quantity-editor{border-bottom:1px solid var(--line);background:#f7f9fa;justify-content:space-between;align-items:center;gap:20px;padding:15px 40px;display:flex}.quantity-editor__copy{gap:3px;display:grid}.quantity-editor__copy strong{color:var(--navy-950);font-size:13px}.quantity-editor__copy span{color:var(--muted);font-size:11px;line-height:1.45}.quantity-reset-button{min-height:34px;color:var(--red-700);white-space:nowrap;background:#fff;border:1px solid #efbac0;border-radius:4px;padding:7px 11px;font-size:10px;font-weight:800}.quantity-reset-button:hover{color:#fff;background:var(--red-600);border-color:var(--red-600)}.estimate-table-wrap{overflow-x:auto}.estimate-table{border-collapse:collapse;width:100%;font-size:12px}.estimate-table th{color:#fff;background:var(--navy-800);text-align:left;letter-spacing:.08em;text-transform:uppercase;padding:12px 16px;font-size:10px}.estimate-table th:not(:first-child),.estimate-table .numeric{text-align:right}.estimate-table td{border-bottom:1px solid #edf0f2;padding:11px 16px}.estimate-table tbody tr:nth-child(2n){background:#f8fafb}.estimate-table .line-description{min-width:280px;font-weight:700}.estimate-table .unit{color:var(--muted);white-space:nowrap}.estimate-table .amount{font-weight:850}.quantity-cell{min-width:146px}.quantity-control{grid-template-columns:32px minmax(62px,82px) 32px;justify-content:end;display:grid}.quantity-control__button,.quantity-control__input{border:1px solid #cad3da;min-height:34px}.quantity-control__button{color:var(--navy-800);background:#f5f8fa;place-items:center;font-size:17px;font-weight:800;display:grid}.quantity-control__button:first-child{border-radius:5px 0 0 5px}.quantity-control__button:last-child{border-radius:0 5px 5px 0}.quantity-control__button:hover:not(:disabled){color:#fff;background:var(--navy-800);border-color:var(--navy-800)}.quantity-control__button:disabled{cursor:not-allowed;opacity:.42}.quantity-control__input{width:100%;color:var(--ink);font:inherit;text-align:center;background:#fff;border-inline:0;border-radius:0;padding:5px 4px;font-weight:800}.quantity-control__input:focus{z-index:1;outline-offset:0;outline:2px solid #d0182945;position:relative}.is-quantity-adjusted{box-shadow:inset 3px 0 #d58b16}.quantity-calculated-note{color:#956010;margin-top:4px;font-size:9px;font-weight:700;display:block}.is-provisional{box-shadow:inset 3px 0 0 var(--red-600)}.provisional-mark{color:var(--red-700);background:var(--red-100);white-space:nowrap;border-radius:3px;margin-left:8px;padding:3px 6px;font-size:9px}.estimate-totals{width:min(390px,100%);margin-left:auto;padding:24px 40px 18px}.total-row{color:var(--muted);justify-content:space-between;padding:7px 0;font-size:13px;display:flex}.total-row strong{color:var(--ink)}.total-row.grand-total{color:var(--navy-950);border-top:2px solid var(--navy-950);margin-top:7px;padding-top:15px;font-size:18px;font-weight:900}.total-row.grand-total strong{color:var(--red-600);font-size:22px}.estimate-warning{color:#8b1420;background:var(--red-100);border-left:3px solid var(--red-600);margin:0 40px 24px;padding:12px 14px;font-size:12px}.waste-section{border-top:1px solid var(--line);background:#f7f9fa;padding:28px 40px 33px}.waste-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:17px;display:flex}.waste-heading h3{margin:5px 0 0;font-size:20px}.waste-heading p{max-width:390px;color:var(--muted);text-align:right;margin:0;font-size:12px}.waste-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.waste-cell{border:1px solid var(--line);background:#fff;gap:4px;min-width:0;padding:12px 10px;display:grid}.waste-cell span{color:var(--muted);font-size:10px}.waste-percent{color:var(--navy-800)}.waste-cell.is-selected{background:var(--red-100);border:2px solid var(--red-600);transform:translateY(-3px)}.waste-cell.is-selected .waste-percent{color:var(--red-700)}.estimate-document__footer{color:#9aa6b0;background:var(--navy-950);justify-content:space-between;gap:20px;padding:16px 40px;font-size:10px;display:flex}.site-footer{color:var(--muted);border-top:1px solid var(--line);background:#fff;justify-content:space-between;padding:30px clamp(24px,7vw,112px);font-size:11px;display:flex}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@keyframes pulse{50%{opacity:.65;transform:scale(.9)}}@media (width<=900px){.hero{grid-template-columns:1fr;padding-top:60px}.hero-copy{text-align:center}.hero-intro{margin-inline:auto}.flow{justify-content:center}.upload-card{width:min(540px,100%);margin:0 auto}.confidence-strip{margin-inline:20px}.waste-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=640px){.site-header{height:68px;padding-inline:17px}.brand img{width:39px;height:39px}.brand strong{font-size:13px}.brand small{font-size:8px}.header-badge{display:none}.hero{gap:38px;min-height:auto;padding:50px 18px 65px}.hero h1{font-size:45px}.hero-intro{font-size:15px}.flow{gap:7px;font-size:10px}.flow i{width:10px}.flow b{width:22px;height:22px}.upload-card{padding:16px}.drop-zone{min-height:205px}.confidence-strip{grid-template-columns:1fr;margin:18px;transform:none}.confidence-strip>div{border-right:0;border-bottom:1px solid var(--line)}.confidence-strip>div:last-child{border-bottom:0}.status{margin:18px}.estimate-section{margin-top:45px;padding:0 12px}.estimate-toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{grid-template-columns:1fr 1fr;display:grid}.primary-button--compact{min-width:0}.floating-download-button{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:auto;min-width:0;left:16px}.estimate-document__header{flex-direction:column;padding:27px 22px}.estimate-issuer{grid-template-columns:58px auto;gap:14px}.estimate-issuer__logo{width:58px;height:28px}.estimate-meta{text-align:left;align-items:start}.estimate-project{grid-template-columns:1fr;gap:17px;padding:20px 22px}.quantity-editor{flex-direction:column;align-items:stretch;padding:15px 22px}.quantity-reset-button{width:100%}.estimate-table{min-width:850px}.estimate-totals{padding:22px}.estimate-warning{margin:0 22px 22px}.waste-section{padding:25px 22px}.waste-heading{flex-direction:column;align-items:start}.waste-heading p{text-align:left}.waste-grid{grid-template-columns:repeat(2,1fr)}.estimate-document__footer,.site-footer{flex-direction:column}.estimate-document__footer{padding:16px 22px}.site-footer{gap:8px;padding:24px 20px}}main:has(#download-button:not([hidden]))+.site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--portal-navy:#071a2d;--portal-navy-2:#0c2944;--portal-red:#d7192d;--portal-red-dark:#b31222;--portal-canvas:#f4f6f8;--portal-surface:#fff;--portal-ink:#101d2a;--portal-muted:#6c7885;--portal-line:#dfe5ea;--portal-green:#0d7b55;--portal-amber:#a26206;--portal-radius:12px;font-family:Fira Sans,Inter,ui-sans-serif,system-ui,sans-serif}body{background:var(--portal-canvas);color:var(--portal-ink)}a{color:inherit}button,input,select{font:inherit}button,a,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #d7192d47}.portal-layout{grid-template-columns:268px minmax(0,1fr);min-height:100vh;display:grid}.portal-sidebar{z-index:40;color:#fff;background:var(--portal-navy);border-right:1px solid #ffffff0f;flex-direction:column;height:100vh;padding:24px 18px 18px;display:flex;position:sticky;top:0}.portal-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;height:62px;padding:0 8px 20px;display:flex}.portal-brand img{object-fit:contain;width:44px;height:44px}.portal-brand>span{min-width:0;display:grid}.portal-brand strong{letter-spacing:.02em;text-transform:uppercase;font-size:14px}.portal-brand small{color:#9fb0c0;letter-spacing:.16em;text-transform:uppercase;margin-top:4px;font-size:10px}.sidebar-close{color:#fff;margin-left:auto;display:none!important}.portal-nav{flex:1;padding:24px 0;overflow-y:auto}.nav-label{color:#7e94a8;letter-spacing:.16em;text-transform:uppercase;margin:18px 12px 8px;font-size:9px;font-weight:800;display:block}.nav-label:first-child{margin-top:0}.portal-nav__item{color:#bdc9d4;border-radius:7px;align-items:center;gap:12px;min-height:44px;margin:4px 0;padding:0 13px;font-size:13px;font-weight:650;text-decoration:none;transition:color .18s,background .18s;display:flex}.portal-nav__item:hover{color:#fff;background:#ffffff12}.portal-nav__item.is-active{color:#fff;background:var(--portal-red);box-shadow:0 8px 20px #d7192d38}.sidebar-user{border-top:1px solid #ffffff1a;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:16px 8px 2px;display:grid}.sidebar-user>span:not(.avatar){min-width:0;display:grid}.sidebar-user strong,.sidebar-user small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user strong{font-size:12px}.sidebar-user small{color:#8fa3b4;margin-top:4px;font-size:10px}.sidebar-sign-out{color:#c8d2db;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;min-height:34px;padding:0 10px;font-size:10px;font-weight:700;display:flex}.sidebar-sign-out:hover{color:#fff;background:#ffffff1c}.avatar{color:#fff;background:var(--portal-red);border-radius:50%;place-items:center;width:38px;height:38px;font-size:11px;font-weight:800;display:grid}.avatar--small{width:34px;height:34px}.avatar--large{width:76px;height:76px;font-size:20px}.icon-button{width:36px;height:36px;color:var(--portal-muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;transition:color .18s,background .18s;display:grid}.icon-button:hover{color:var(--portal-red);background:#d7192d14}.portal-main{min-width:0}.portal-topbar{z-index:30;border-bottom:1px solid var(--portal-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(22px,3.5vw,48px);display:flex;position:sticky;top:0}.portal-topbar>div{display:grid}.portal-topbar>div span{color:var(--portal-muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.portal-topbar>div strong{color:var(--portal-navy);margin-top:3px;font-size:13px}.topbar-action{color:#fff;background:var(--portal-red);border-radius:5px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.mobile-menu{display:none}.portal-content{max-width:1600px;margin:0 auto;padding:42px clamp(22px,3.5vw,52px) 72px}.page-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.page-kicker{color:var(--portal-red);letter-spacing:.16em;margin:0 0 8px;font-size:10px;font-weight:800}.page-heading h1{color:var(--portal-navy);letter-spacing:-.04em;margin:0;font-size:clamp(29px,3vw,40px)}.page-heading>div>p:last-child{max-width:700px;color:var(--portal-muted);margin:9px 0 0;line-height:1.55}.button{border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:12px;font-weight:800;text-decoration:none;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{color:#fff;background:var(--portal-red);box-shadow:0 8px 18px #d7192d2e}.button--primary:hover:not(:disabled){background:var(--portal-red-dark)}.button--secondary{color:var(--portal-navy);border-color:var(--portal-line);background:#fff}.button--secondary:hover{border-color:var(--portal-navy)}.button--full{width:100%;margin-top:16px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.metric-card,.panel,.entity-card{border:1px solid var(--portal-line);border-radius:var(--portal-radius);background:#fff;box-shadow:0 8px 25px #071a2d0b}.metric-card{min-height:156px;padding:24px;position:relative}.metric-card p{color:var(--portal-muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:11px;font-weight:700}.metric-card>strong{color:var(--portal-navy);letter-spacing:-.04em;margin-top:17px;font-size:clamp(23px,2.2vw,31px);display:block}.metric-card small{color:var(--portal-muted);margin-top:7px;font-size:11px;display:block}.metric-icon{width:38px;height:38px;color:var(--portal-red);background:#fff0f2;border-radius:8px;place-items:center;display:grid;position:absolute;top:20px;right:20px}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(270px,.7fr);gap:20px;display:grid}.panel{min-width:0;padding:24px}.panel--wide{padding-bottom:8px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;min-height:45px;margin-bottom:18px;display:flex}.panel-heading h2{color:var(--portal-navy);letter-spacing:-.02em;margin:0;font-size:19px}.panel-heading a{color:var(--portal-red);align-items:center;gap:5px;font-size:11px;font-weight:750;text-decoration:none;display:inline-flex}.ranking-list{display:grid}.ranking-item{border-bottom:1px solid var(--portal-line);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:17px 0;display:grid}.ranking-item:last-child{border-bottom:0}.ranking-item>span{color:var(--portal-red);font-size:10px;font-weight:800}.ranking-item>div{min-width:0;display:grid}.ranking-item strong{color:var(--portal-navy);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ranking-item small{color:var(--portal-muted);margin-top:4px;font-size:10px}.ranking-item b{color:var(--portal-navy);font-size:12px}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{color:#4f5c69;border-bottom:1px solid var(--portal-line);text-align:left;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#f7f9fa;padding:11px 13px;font-size:11px;font-weight:800}.data-table td{color:#40505e;border-bottom:1px solid #edf1f3;padding:15px 13px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfcfd}.data-table strong{color:var(--portal-navy)}.data-table .numeric{text-align:right;white-space:nowrap}.table-action{min-height:30px;color:var(--portal-red);white-space:nowrap;background:#fff;border:1px solid #edc7cc;border-radius:4px;padding:0 10px;font-size:10px;font-weight:750}.table-action:hover{color:#fff;background:var(--portal-red);border-color:var(--portal-red)}.address-cell{min-width:210px}.user-cell{align-items:center;gap:10px;min-width:210px;display:flex}.user-cell>span:last-child{display:grid}.user-cell small,.catalog-table td>small{color:var(--portal-muted);margin-top:3px;font-size:10px}.status-pill{text-transform:uppercase;letter-spacing:.07em;border-radius:99px;width:fit-content;padding:5px 8px;font-size:9px;font-weight:800}.status-pill.is-active{color:#08704c;background:#e9f7f1}.status-pill.is-inactive{color:#7c4850;background:#f3e9eb}.calculator-panel{grid-template-columns:minmax(380px,1.1fr) minmax(280px,.65fr);align-items:stretch;gap:22px;display:grid}.portal-upload{border-radius:var(--portal-radius);border-top-width:4px;box-shadow:0 10px 30px #071a2d14}.portal-upload .drop-zone{cursor:default;border-radius:7px;min-height:290px;position:relative}.portal-upload .drop-zone.is-locked{opacity:.52;pointer-events:none;background:#eef1f3;border-style:dashed;border-color:#c2ccd4}.portal-upload .drop-zone.is-locked:hover{background:#eef1f3;border-color:#c2ccd4;transform:none}.portal-upload #process-button{text-align:center;text-wrap:balance;padding:10px 18px}.file-input-control{opacity:1;width:min(390px,100%);min-height:46px;color:var(--portal-muted);cursor:pointer;background:#fff;border:1px solid #cbd5dc;border-radius:6px;margin-top:18px;padding:6px}.file-input-control::file-selector-button{color:#fff;background:var(--portal-red);cursor:pointer;border:0;border-radius:4px;min-height:32px;margin-right:10px;padding:0 14px;font-weight:800}.portal-file-status{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.drop-zone:focus-within{outline-offset:3px;border-color:var(--portal-red);outline:3px solid #d7192d2e}.admin-price-panel{margin-bottom:20px;padding:0;overflow:hidden}.admin-price-panel>summary{grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:74px;padding:18px 22px;list-style:none;display:grid}.admin-price-panel>summary::-webkit-details-marker{display:none}.admin-price-panel>summary>span:nth-child(2){gap:4px;display:grid}.admin-price-panel>summary strong{color:var(--portal-navy);font-size:16px}.admin-price-panel>summary small{color:var(--portal-muted);font-size:10px}.admin-price-panel__icon{width:36px;height:36px;color:var(--portal-red);background:#fff0f2;border-radius:8px;place-items:center;display:grid}.admin-price-panel__chevron{color:var(--portal-muted);text-align:center;font-size:20px;transition:transform .2s}.admin-price-panel[open] .admin-price-panel__chevron{transform:rotate(180deg)}.admin-price-panel form{border-top:1px solid var(--portal-line);padding:0 22px 22px}.admin-price-settings{margin:18px 0}.price-format-help{color:var(--portal-muted);margin:-8px 0 14px;font-size:11px}.price-format-help strong{color:var(--portal-navy)}.admin-price-table{border:1px solid var(--portal-line);max-height:420px;overflow:auto}.inline-form-action{justify-content:space-between;align-items:center;gap:15px;margin-top:16px;display:flex}.inline-form-action .form-message{flex:1}.calculation-rules{color:#fff;background:var(--portal-navy);border-radius:var(--portal-radius);padding:30px;box-shadow:0 10px 30px #071a2d1c}.calculation-rules h2{margin:0;font-size:25px}.calculation-rules ul{gap:20px;margin:28px 0 0;padding:0;list-style:none;display:grid}.calculation-rules li{grid-template-columns:28px 1fr;gap:10px;display:grid}.calculation-rules li>svg{color:#fff;background:var(--portal-red);border-radius:50%;width:24px;height:24px;padding:5px}.calculation-rules li span{display:grid}.calculation-rules li strong{font-size:12px}.calculation-rules li small{color:#aebdca;margin-top:4px;font-size:10px;line-height:1.45}.calculator-panel+.status{max-width:none;margin:22px 0}.portal-content .estimate-section{max-width:none;margin:38px 0 90px;padding:0;scroll-margin-top:88px}.portal-content .floating-download-button{width:auto;min-width:190px}.floating-download-button{position:fixed}.notice{border-left:4px solid;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:22px;padding:15px 17px;display:flex}.notice>svg{flex:none}.notice>div{display:grid}.notice strong{font-size:12px}.notice span{margin-top:3px;font-size:11px;line-height:1.45}.notice--warning{color:#754707;background:#fff8e9;border-color:#d58b16}.notice--danger{color:#8c1723;border-color:var(--portal-red);background:#fff0f2}.notice--success{color:#086645;background:#edf8f3;border-color:#159268}.pricing-shortcut{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:20px;display:grid}.pricing-shortcut>div{gap:4px;display:grid}.pricing-shortcut strong{color:var(--portal-navy);font-size:14px}.pricing-shortcut small{color:var(--portal-muted);font-size:10px}.estimate-owner-panel{align-items:center;gap:18px;margin-bottom:20px;display:flex}.estimate-owner-panel>label,.estimate-owner-panel>div:first-child{flex:1;gap:4px;display:grid}.estimate-owner-panel>label span,.estimate-owner-panel>div:first-child span{color:var(--portal-muted);font-size:10px;font-weight:400}.estimate-owner-panel select{min-width:230px}.pricing-context-badge{min-width:210px;min-height:50px;color:var(--portal-navy);border:1px solid var(--portal-line);background:#f3f6f8;border-radius:6px;align-items:center;gap:9px;padding:8px 11px;display:flex}.pricing-context-badge>span{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;min-width:0;display:grid}.pricing-context-badge small{color:var(--portal-muted);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-size:8px;font-weight:700}.pricing-context-badge strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pricing-context-badge b{color:var(--portal-red);font-size:10px}.pricing-context-badge em{color:var(--portal-muted);grid-column:1/-1;font-size:9px;font-style:normal;line-height:1.45}.pricing-context-badge.is-pending{color:var(--portal-muted);border-style:dashed}.pricing-context-badge.is-unavailable{color:#8c1723;background:#fff0f2;border-color:#f0bcc3}.pricing-context-badge.is-unavailable em{color:#8c1723}.material-panel{flex-wrap:wrap}.material-panel select{min-width:230px}.material-panel .pricing-context-badge{max-width:340px}.material-badge{color:#1d4a6e;letter-spacing:.04em;white-space:nowrap;background:#e9f1f7;border:1px solid #cfe0ec;border-radius:99px;padding:5px 9px;font-size:9px;font-weight:800}.price-list-toolbar{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:18px;display:flex}.price-list-toolbar label{color:var(--portal-navy);align-items:center;gap:9px;font-size:11px;font-weight:750;display:flex}.price-list-toolbar select{min-width:230px}.price-list-toolbar p{margin:0;font-size:10px}.price-list-empty-filter{margin:18px 0 0}.price-lists-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.price-list-card{flex-direction:column;display:flex}.price-list-card.is-default{border-top:4px solid var(--portal-red)}.price-list-card__heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.price-list-card__flags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.price-list-card__alert{color:#8c1723;background:#fff0f2;border-radius:6px;align-items:flex-start;gap:7px;margin:12px 0 0;padding:9px 10px;font-size:10px;font-weight:650;line-height:1.45;display:flex}.price-list-card__alert>svg{flex:none;margin-top:1px}.price-list-card__locked{align-self:center;font-size:9px;line-height:1.4}.price-list-card h2{color:var(--portal-navy);margin:20px 0 5px;font-size:19px}.price-list-card>p{min-height:34px;color:var(--portal-muted);margin:0;font-size:11px;line-height:1.5}.price-list-card__meta{color:var(--portal-muted);border-top:1px solid var(--portal-line);justify-content:space-between;margin-top:18px;padding-top:14px;font-size:10px;display:flex}.price-list-card__meta strong{color:var(--portal-navy)}.price-list-dealers{flex-wrap:wrap;gap:5px;min-height:28px;margin-top:12px;display:flex}.price-list-dealers span{color:#365064;background:#edf3f6;border-radius:99px;padding:5px 7px;font-size:8px;font-weight:700}.price-list-card__actions{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:18px;display:flex}.table-action.is-danger{color:#8c1723}.inactive-price-lists{margin-top:20px}.inactive-price-lists>summary{min-height:44px;color:var(--portal-navy);align-items:center;font-size:12px;font-weight:750;display:flex}.inactive-price-lists .price-lists-grid{margin-top:16px}.price-list-dialog form{gap:18px}.default-pricing-settings{border:1px solid var(--portal-line);background:#f6f8fa;border-radius:7px;padding:15px}.default-pricing-settings .page-kicker{margin:0}.default-pricing-settings>p.muted{margin:5px 0 13px;font-size:10px;line-height:1.5}#price-list-material-note{color:var(--portal-muted);font-size:9px;font-weight:500;line-height:1.4}#price-list-material:disabled{color:var(--portal-navy);opacity:1;cursor:not-allowed;background:#eef2f5}#price-list-items .muted{padding:16px;font-size:11px}.price-list-editor-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);align-items:start;gap:18px;min-width:0;display:grid}.price-list-editor-main{gap:14px;min-width:0;display:grid}.price-list-materials{border:1px solid var(--portal-line);border-radius:6px;max-height:min(430px,48vh);overflow:auto}.price-adjustment-disclosure{border:1px solid var(--portal-line);background:#f6f8fa;border-radius:7px;overflow:hidden}.price-adjustment-disclosure>summary{min-height:64px;color:var(--portal-navy);cursor:pointer;grid-template-columns:minmax(210px,.8fr) minmax(240px,1.2fr) auto;align-items:center;gap:16px;padding:13px 15px;list-style:none;transition:background .18s,box-shadow .18s;display:grid}.price-adjustment-disclosure>summary::-webkit-details-marker{display:none}.price-adjustment-disclosure>summary:hover{background:#eef3f7}.price-adjustment-disclosure>summary:focus-visible{outline-offset:-3px;outline:3px solid #da1d2e33}.price-adjustment-summary__title{gap:3px;display:grid}.price-adjustment-summary__title .page-kicker{margin:0}.price-adjustment-summary__title strong{font-size:12px}.price-adjustment-disclosure>summary>small{color:var(--portal-muted);font-size:9px;line-height:1.45}.price-adjustment-chevron{width:30px;height:30px;color:var(--portal-red);border:1px solid var(--portal-line);background:#fff;border-radius:50%;place-items:center;transition:transform .18s;display:grid}.price-adjustment-disclosure[open] .price-adjustment-chevron{transform:rotate(180deg)}.price-adjustment{border-top:1px solid var(--portal-line);background:#fff;grid-template-columns:minmax(180px,1fr) 130px 130px auto;align-items:end;gap:10px;padding:14px;display:grid}.price-adjustment>div{gap:3px;display:grid}.price-adjustment>div strong{color:var(--portal-navy);font-size:12px}.price-adjustment>div small{color:var(--portal-muted);font-size:9px;line-height:1.4}.dealer-assignment-panel{border:1px solid var(--portal-line);background:#f6f8fa;border-radius:8px;padding:18px}.dealer-assignment-panel h3{color:var(--portal-navy);margin:0;font-size:18px}.dealer-assignment-panel>p:not(.page-kicker){color:var(--portal-muted);margin:7px 0 14px;font-size:10px;line-height:1.5}.dealer-assignment-list{gap:7px;max-height:min(500px,58vh);display:grid;overflow:auto}.dealer-assignment-list label{border:1px solid var(--portal-line);cursor:pointer;background:#fff;border-radius:6px;grid-template-columns:18px minmax(0,1fr);align-items:center;min-height:52px;padding:9px;gap:9px!important;display:grid!important}.dealer-assignment-list input{width:17px;height:17px;min-height:0;accent-color:var(--portal-red);padding:0}.dealer-assignment-list span{gap:3px;min-width:0;display:grid}.dealer-assignment-list strong,.dealer-assignment-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dealer-assignment-list strong{color:var(--portal-navy);font-size:10px}.dealer-assignment-list small{color:var(--portal-muted);font-size:8px;font-weight:500}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.filter-bar label{border:1px solid var(--portal-line);background:#f7f9fa;border-radius:6px;flex:1;align-items:center;gap:8px;min-width:280px;padding:0 12px;display:flex}.filter-bar input{background:0 0;border:0;outline:0;width:100%}input,select{min-height:42px;color:var(--portal-ink);background:#fff;border:1px solid #ced7de;border-radius:5px;padding:0 12px}.entity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.entity-card{padding:23px}.entity-card__top{justify-content:space-between;align-items:center;display:flex}.entity-icon{width:42px;height:42px;color:var(--portal-red);background:#fff0f2;border-radius:8px;place-items:center;display:grid}.entity-card h2{color:var(--portal-navy);margin:21px 0 4px;font-size:18px}.entity-card>p{color:var(--portal-muted);margin:0;font-size:11px}.dealer-contact{min-height:36px;color:var(--portal-muted);gap:4px;font-size:10px;display:grid}.dealer-price-lists{gap:10px;margin-top:14px;display:grid}.dealer-price-list-field{color:var(--portal-navy);gap:6px;font-size:10px;font-weight:750;display:grid}.dealer-price-list-field select{width:100%}.entity-stats{border-top:1px solid var(--portal-line);color:var(--portal-muted);gap:22px;margin-top:22px;padding-top:15px;font-size:10px;display:flex}.entity-stats strong{color:var(--portal-navy);font-size:13px}.entity-toggle{width:100%;margin-top:16px}.portal-dialog{border:0;border-radius:12px;width:min(520px,100vw - 28px);max-height:calc(100vh - 28px);padding:0;overflow:auto;box-shadow:0 30px 80px #071a2d4d}.user-dialog{width:min(720px,100vw - 28px)}.dealer-dialog{width:min(820px,100vw - 28px)}.portal-dialog.price-list-dialog{width:min(1180px,100vw - 28px)}.portal-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040f1aa8}.portal-dialog form{gap:16px;padding:26px;display:grid}.portal-dialog.price-list-action-dialog{border-top:5px solid var(--portal-navy);width:min(510px,100vw - 28px);overflow:hidden}.price-list-action-dialog form{text-align:center;gap:0;padding:0 30px 28px}.price-list-action-brand{color:#fff;background:var(--portal-navy);text-align:left;align-items:center;gap:11px;margin:0 -30px 26px;padding:17px 24px;display:flex}.price-list-action-brand img{object-fit:contain;width:42px;height:42px}.price-list-action-brand span{gap:2px;display:grid}.price-list-action-brand strong{letter-spacing:.02em;text-transform:uppercase;font-size:13px}.price-list-action-brand small{color:#afc2d2;letter-spacing:.18em;text-transform:uppercase;font-size:8px;font-weight:750}.price-list-action-icon{width:62px;height:62px;color:var(--portal-navy);background:#edf2f6;border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.price-list-action-dialog .page-kicker{margin:0 0 7px}.price-list-action-dialog h2{color:var(--portal-navy);margin:0;font-size:25px;line-height:1.15}.price-list-action-message{max-width:390px;color:var(--portal-muted);margin:12px auto 0;font-size:11px;line-height:1.6}.price-list-action-details{color:var(--portal-navy);border:1px solid var(--portal-line);text-align:left;background:#f5f7f9;border-radius:7px;margin-top:18px;overflow:hidden}.price-list-action-details>div{padding:10px 12px;font-size:10px;font-weight:700;line-height:1.45}.price-list-action-details>div+div{border-top:1px solid var(--portal-line)}.price-list-action-dialog .dialog-actions{margin-top:24px}.price-list-action-dialog .dialog-actions .button{min-width:142px}.price-list-action-dialog[data-variant=success]{border-top-color:#16845d}.price-list-action-dialog[data-variant=success] .price-list-action-icon{color:#08704c;background:#e8f7f1}.price-list-action-dialog[data-variant=success] [data-price-list-action-confirm]{background:#08704c;box-shadow:0 9px 22px #08704c33}.price-list-action-dialog[data-variant=warning]{border-top-color:#d78a06}.price-list-action-dialog[data-variant=warning] .price-list-action-icon{color:#a96a00;background:#fff4dc}.price-list-action-dialog[data-variant=warning] [data-price-list-action-confirm]{color:#2f2005;background:#f1a826;box-shadow:0 9px 22px #d78a0633}.price-list-action-dialog[data-variant=danger]{border-top-color:var(--portal-red)}.price-list-action-dialog[data-variant=danger] .price-list-action-icon{color:#a91725;background:#ffedf0}.price-list-action-dialog[data-variant=danger] [data-price-list-action-confirm]{background:var(--portal-red);box-shadow:0 9px 22px #da1d2e33}.price-list-action-dialog[data-variant=neutral]{border-top-color:#315b7d}.price-list-action-dialog[data-variant=neutral] .price-list-action-icon{color:#214f74;background:#eaf2f8}.estimate-history-dialog>div{padding:26px}.history-summary{margin:22px 0 0}.history-summary>div{border-bottom:1px solid var(--portal-line);grid-template-columns:105px minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.history-summary dt{color:var(--portal-muted);font-size:10px}.history-summary dd{color:var(--portal-navy);text-align:right;overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:650}.history-summary .history-total{border-top:2px solid var(--portal-navy);border-bottom:0;margin-top:4px;padding-top:15px}.history-summary .history-total dt,.history-summary .history-total dd{color:var(--portal-red);font-size:15px;font-weight:800}.dialog-heading{justify-content:space-between;align-items:flex-start;display:flex}.dialog-heading h2{color:var(--portal-navy);margin:0}.portal-dialog label,[data-price-form] label,#profile-form label,#password-form label,.login-card label{color:var(--portal-navy);gap:7px;font-size:11px;font-weight:700;display:grid}.portal-dialog label small{color:var(--portal-muted);font-weight:400}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:5px;display:flex}.check-field{grid-template-columns:none;align-items:center;gap:8px!important;font-weight:500!important;display:flex!important}.check-field input{width:16px;height:16px;min-height:0;accent-color:var(--portal-red);padding:0}.settings-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.password-control{width:100%;display:block;position:relative}.password-control input{width:100%;padding-right:48px}.password-toggle{width:36px;height:36px;min-height:0;color:var(--portal-navy);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:inline-grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{background:#eef3f7;outline:2px solid #0000}.setting-note{color:var(--portal-muted);align-items:flex-start;gap:7px;margin:18px 0 0;font-size:10px;line-height:1.45;display:flex}.waste-pills{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.waste-pills span{color:var(--portal-muted);border:1px solid var(--portal-line);text-align:center;background:#f7f9fa;border-radius:5px;padding:13px 4px;font-size:11px;font-weight:800}.waste-pills .is-selected{color:#fff;background:var(--portal-red);border-color:var(--portal-red)}.snapshot-badge{color:#456273;background:#edf4f7;border-radius:4px;align-items:center;gap:5px;padding:7px 9px;font-size:9px;font-weight:700;display:inline-flex}.catalog-panel{padding-bottom:0}.catalog-table td:first-child{display:grid}.price-input{width:150px;position:relative;display:block!important}.price-input span{z-index:1;color:var(--portal-muted);position:absolute;top:13px;left:11px}.price-input input{width:100%;padding-left:25px}.check-field.compact{white-space:nowrap}.sticky-form-action{border-top:1px solid var(--portal-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-radius:0 0 12px 12px;justify-content:flex-end;align-items:center;gap:14px;margin:8px -24px 0;padding:14px 24px;display:flex;position:sticky;bottom:0}.form-message{border-radius:5px;padding:9px 11px;font-size:11px;font-weight:650}.form-message.is-success{color:#08704c;background:#e9f7f1}.form-message.is-error{color:#8c1723;background:#fff0f2}.dealer-users-section{border:1px solid var(--portal-line);background:#f6f8fa;border-radius:8px;padding:18px}.dealer-users-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dealer-users-heading h3{color:var(--portal-navy);margin:2px 0 0;font-size:18px}#dealer-users{gap:12px;margin-top:14px;display:grid}.dealer-user-fields{background:#fff;border:1px solid #d6dee4;border-radius:7px;gap:12px;margin:0;padding:15px;display:grid}.dealer-user-fields legend{width:100%;color:var(--portal-navy);justify-content:space-between;align-items:center;padding:0 2px;font-size:11px;font-weight:800;display:flex}.remove-dealer-user{color:var(--portal-red);background:0 0;border:0;padding:3px 7px;font-size:9px;font-weight:800}.portal-toast{z-index:90;width:max-content;max-width:min(470px,100vw - 30px);min-height:52px;color:var(--portal-navy);opacity:0;pointer-events:none;background:#fff;border:1px solid #c6e7da;border-left:4px solid #08704c;border-radius:9px;align-items:center;gap:11px;padding:10px 16px 10px 10px;font-size:11px;font-weight:750;transition:opacity .2s,transform .2s;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%,-16px);box-shadow:0 18px 48px #071a2d33}.portal-toast__icon{color:#fff;background:#08704c;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.portal-toast.is-error{border-color:#f2c4ca #f2c4ca #f2c4ca #a91725}.portal-toast.is-error .portal-toast__icon{background:#a91725}.portal-toast.is-visible{opacity:1;transform:translate(-50%)}.profile-grid{grid-template-columns:minmax(240px,.52fr) minmax(420px,1.35fr);align-items:start;gap:20px;display:grid}.profile-forms{gap:20px;display:grid}.profile-card{text-align:center}.profile-card .avatar{margin:0 auto}.profile-card h2{color:var(--portal-navy);margin:16px 0 4px}.profile-card>p{color:var(--portal-muted);margin:0 0 13px;font-size:11px}.profile-card .status-pill{margin:0 auto}.profile-card dl{border-top:1px solid var(--portal-line);margin:24px 0 0}.profile-card dl>div{border-bottom:1px solid var(--portal-line);justify-content:space-between;padding:13px 0;font-size:11px;display:flex}.profile-card dt{color:var(--portal-muted)}.profile-card dd{color:var(--portal-navy);margin:0;font-weight:700}#profile-form,#password-form{gap:16px;display:grid}#profile-form label small{color:var(--portal-muted);font-weight:400}#profile-form .button,#password-form .button{justify-self:start}.security-note,.password-requirement{color:var(--portal-muted);font-size:10px;line-height:1.5}.security-note{text-align:left;align-items:flex-start;gap:7px;margin:18px 0 0;display:flex}.table-actions{justify-content:flex-end;gap:6px;display:flex}.empty-state,.error-page{text-align:center;color:var(--portal-muted);padding:45px 20px}.empty-state svg,.error-page>svg{color:var(--portal-red)}.empty-state h3,.error-page h1{color:var(--portal-navy)}.empty-state p,.error-page p{max-width:540px;margin:8px auto 20px;line-height:1.5}.muted{color:var(--portal-muted)}.login-page{background:#fff;grid-template-columns:minmax(420px,1.05fr) minmax(430px,.95fr);min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:var(--portal-navy);flex-direction:column;padding:clamp(35px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-brand-panel:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:650px;height:650px;position:absolute;bottom:-260px;right:-230px;box-shadow:0 0 0 90px #ffffff06,0 0 0 180px #ffffff05}.login-brand{z-index:1;align-items:center;gap:14px;display:flex}.login-brand img{object-fit:contain;width:52px;height:52px}.login-brand span{display:grid}.login-brand strong{text-transform:uppercase;letter-spacing:.03em;font-size:16px}.login-brand small{color:#aebdca;letter-spacing:.18em;text-transform:uppercase;margin-top:4px;font-size:9px}.login-message{z-index:1;margin:auto 0}.login-message>p{color:#ff6270;letter-spacing:.18em;font-size:10px;font-weight:800}.login-message h1{letter-spacing:-.055em;max-width:690px;margin:18px 0;font-size:clamp(43px,5.5vw,73px);line-height:1}.login-message span{color:#b8c5cf;max-width:580px;line-height:1.7;display:block}.login-proof{z-index:1;border-top:1px solid #ffffff1f;gap:12px;padding:16px 0 0;display:flex}.login-proof>span{color:#ff6978;background:#ffffff14;border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.login-proof>div{display:grid}.login-proof strong{font-size:12px}.login-proof small{color:#9eb0bf;margin-top:4px;font-size:10px}.login-form-panel{place-items:center;padding:35px;display:grid}.login-card{gap:17px;width:min(420px,100%);display:grid}.login-card h2{color:var(--portal-navy);letter-spacing:-.04em;margin:0;font-size:34px}.login-card>p:not(.page-kicker){color:var(--portal-muted);margin:-8px 0 7px}.login-card input{min-height:48px}.login-card .button{width:100%;min-height:50px;margin-top:5px}.demo-access{color:#4e6271;border-left:3px solid var(--portal-red);background:#f2f6f8;margin-top:6px;padding:14px;font-size:10px;line-height:1.45}.demo-access strong{color:var(--portal-navy)}.demo-access p{margin:3px 0}.demo-access__actions{grid-template-columns:1fr 1fr;gap:6px;margin-top:9px;display:grid}.demo-access__actions button{min-height:32px;color:var(--portal-navy);border:1px solid var(--portal-line);background:#fff;border-radius:4px;padding:5px 7px;font-size:9px;font-weight:700}.demo-access__actions button:hover{color:var(--portal-red);border-color:var(--portal-red)}.sidebar-backdrop{display:none}@media (width<=1100px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.entity-grid,.price-lists-grid{grid-template-columns:repeat(2,1fr)}.calculator-panel{grid-template-columns:1fr}.calculation-rules ul{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.price-list-editor-grid{grid-template-columns:1fr}.price-adjustment-disclosure>summary{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px}.price-adjustment-disclosure>summary>small{grid-area:2/1/auto/-1}.price-adjustment-chevron{grid-area:1/2}.price-adjustment{grid-template-columns:1fr 1fr}.price-adjustment>div{grid-column:1/-1}.price-adjustment .button{width:100%}.dealer-assignment-list{max-height:280px}.pricing-shortcut,.estimate-owner-panel{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.pricing-shortcut .entity-icon{display:none}.pricing-shortcut .button,.estimate-owner-panel select,.pricing-context-badge{width:100%;min-width:0}.material-panel .pricing-context-badge{max-width:none}.price-list-toolbar label{flex-direction:column;align-items:stretch;gap:6px}.price-list-toolbar select{width:100%;min-width:0}}@media (width<=820px){.portal-layout{grid-template-columns:1fr}.portal-sidebar{width:268px;transition:transform .22s;position:fixed;left:0;transform:translate(-100%)}.portal-layout.is-mobile-open .portal-sidebar{transform:translate(0)}.sidebar-close,.mobile-menu{display:grid!important}.sidebar-backdrop{z-index:35;visibility:hidden;opacity:0;background:#030d1794;border:0;transition:opacity .2s,visibility .2s;display:block;position:fixed;inset:0}.portal-layout.is-mobile-open .sidebar-backdrop{visibility:visible;opacity:1}.portal-topbar{justify-content:initial;gap:14px}.portal-topbar .topbar-action{margin-left:auto}.page-heading{flex-direction:column;align-items:flex-start}.entity-grid,.price-lists-grid,.settings-grid,.profile-grid,.login-page{grid-template-columns:1fr}.login-brand-panel{min-height:360px}.login-proof{display:none}}@media (width<=560px){.price-list-materials{overflow-x:hidden}.price-list-materials table,.price-list-materials tbody,.price-list-materials tr,.price-list-materials td{width:100%;display:block}.price-list-materials thead{display:none}.price-list-materials tbody{display:grid}.price-list-materials tr{border-bottom:1px solid var(--portal-line);grid-template-columns:minmax(0,1fr) minmax(110px,.8fr);gap:10px 12px;padding:14px;display:grid}.price-list-materials tr:last-child{border-bottom:0}.price-list-materials td{border:0;min-width:0;padding:0}.price-list-materials td:first-child{grid-column:1/-1}.price-list-materials .price-input{width:100%}.price-list-materials .check-field.compact{white-space:normal;justify-content:flex-start;align-self:center;min-width:0}.portal-content{padding:28px 15px 64px}.portal-topbar{height:64px;padding:0 14px}.portal-topbar>div{display:none}.metrics-grid{grid-template-columns:1fr}.metric-card{min-height:140px}.panel,.entity-card{padding:18px}.form-grid,.calculation-rules ul{grid-template-columns:1fr}.calculation-rules{padding:23px}.portal-upload{padding:15px}.portal-upload .drop-zone{min-height:235px}.waste-pills{grid-template-columns:repeat(3,1fr)}.snapshot-badge{display:none}.sticky-form-action{flex-direction:column;align-items:stretch;margin-inline:-18px;padding-inline:18px}.sticky-form-action .button{width:100%}.filter-bar{flex-direction:column}.filter-bar label{min-width:0}.filter-bar select{width:100%}.dealer-users-heading{flex-direction:column}.dealer-users-heading .button{width:100%}.portal-toast{width:calc(100vw - 24px);max-width:none;top:12px}.login-brand-panel{min-height:300px;padding:28px 22px}.login-message h1{font-size:39px}.login-message span{font-size:13px}.login-form-panel{padding:35px 20px}.topbar-action{font-size:0}.topbar-action svg{width:18px!important;height:18px!important}.users-table,.users-table tbody,.users-table tr,.users-table td,.dealers-table,.dealers-table tbody,.dealers-table tr,.dealers-table td{width:100%;display:block}.users-table thead,.dealers-table thead{display:none}.users-table tbody,.dealers-table tbody{gap:12px;display:grid}.users-table tbody tr,.dealers-table tbody tr{border:1px solid var(--portal-line);background:#fff;border-radius:6px;grid-template-columns:1fr 1fr;gap:12px 16px;padding:16px;display:grid}.users-table td,.dealers-table td{border:0;min-width:0;padding:0}.users-table td:before,.dealers-table td:before{content:attr(data-label);color:#708090;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:8px;font-weight:800;display:block}.users-table td:first-child,.users-table td:last-child,.dealers-table td:first-child,.dealers-table td:last-child,.dealers-table td[data-label=Price\ lists]{grid-column:1/-1}.users-table .table-actions,.dealers-table .table-actions{grid-template-columns:1fr 1fr;justify-content:stretch;display:grid}.users-table .table-action,.dealers-table .table-action{width:100%;min-height:38px}.dealers-table th:last-child,.dealers-table td:last-child{box-shadow:none;background:0 0;position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-search{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.table-search__field{border:1px solid var(--portal-line);border-radius:var(--portal-radius);background:var(--portal-surface);max-width:420px;color:var(--portal-muted);flex:280px;align-items:center;gap:8px;padding:8px 12px;display:flex}.table-search__field:focus-within{border-color:var(--portal-navy-2);box-shadow:0 0 0 3px #0c29441f}.table-search__field input{color:var(--portal-ink);font:inherit;background:0 0;border:0;flex:1;padding:0}.table-search__field input:focus{outline:none}.table-search__count{color:var(--portal-muted);white-space:nowrap;font-size:.85rem}.table-sort{color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.table-sort:hover{color:var(--portal-navy-2)}.table-sort:focus-visible{outline:2px solid var(--portal-navy-2);outline-offset:3px}.table-sort.is-sorted{color:var(--portal-navy-2)}.table-sort__arrow{font-size:.7em;line-height:1}.required-mark{color:var(--portal-red);font-weight:700}.field-label{display:block}.field-label .required-mark{display:none}label:has([required]) .field-label .required-mark{display:inline}.field-hint{color:var(--portal-muted);margin:4px 0 10px;font-size:.85rem;line-height:1.45}.dialog-lead{color:var(--portal-ink);margin:0 0 10px;font-weight:600}[aria-invalid=true]{box-shadow:0 0 0 3px #d7192d26;border-color:var(--portal-red)!important}.password-actions{gap:8px;margin:10px 0 4px;display:flex}.dealers-table .user-cell{min-width:150px}.dealers-table .dealer-price-lists{gap:5px;min-width:176px;max-width:200px;display:grid}.dealers-table .dealer-price-list-field{color:var(--portal-muted);gap:2px;font-size:.68rem;display:grid}.dealers-table .dealer-price-list-field select{min-height:32px;padding:4px 8px;font-size:11px}.dealers-table .dealer-contact{min-width:128px;max-width:186px;color:var(--portal-muted);overflow-wrap:anywhere;gap:1px;font-size:.66rem;line-height:1.4;display:grid}.dealers-table .dealer-contact__phone{color:#8b959e}.dealers-table td[data-label=Users],.dealers-table td[data-label=Estimates]{white-space:nowrap}.dealers-table .table-actions{flex-direction:column;align-items:stretch;gap:6px;min-width:92px}.dealers-table .table-action{width:100%}.dealers-table th:last-child,.dealers-table td:last-child{background:#fff;position:sticky;right:0;box-shadow:-10px 0 10px -10px #10203038}.dealers-table thead th:last-child{background:#f7f9fa}.dealers-table tbody tr:hover td:last-child{background:#fbfcfd}@media (width<=1320px){.dealers-table td,.dealers-table th{padding-left:9px;padding-right:9px}.dealers-table .user-cell{min-width:118px}.dealers-table .dealer-contact{max-width:148px}.dealers-table .dealer-price-lists{min-width:146px;max-width:168px}.dealers-table .dealer-price-list-field select{padding:4px 6px;font-size:10px}}.price-lists-section{margin-bottom:26px}.price-lists-section__title{margin:0 0 4px;font-size:1.05rem}.price-lists-section--default{border:1px solid var(--portal-line);border-radius:var(--portal-radius);background:var(--portal-surface);padding:16px}@media (width<=900px){.table-search{flex-direction:column;align-items:stretch}.table-search__field{max-width:none}.dealers-table .dealer-price-lists{min-width:0}}
