:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:var(--cream);--panel: #ffffff;--border: #e5e7eb;--muted: var(--slate);--brand: var(--navy);--accent: #2563eb;--danger: #dc2626;--shadow: 0 16px 40px rgba(15, 23, 42, .12)}*{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif!important}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}a{color:inherit}button,input,select{font:inherit}input,select{width:100%;border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;background:#fff;color:var(--navy);outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1f}label{display:grid;gap:.35rem;font-size:.9rem;color:#374151}label>span{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}h1,h2,p{margin-top:0}.icon-btn{width:34px;height:34px;min-width:34px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--navy);display:inline-grid;place-items:center;padding:0;text-align:center;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.icon-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#cbd5e1;background:var(--cream)}.icon-btn.active{color:#fff;background:var(--brand);border-color:var(--brand)}.icon-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.icon-btn.danger{color:var(--danger)}.icon-btn.danger.active,.icon-btn.danger:hover:not(:disabled){color:#fff;background:var(--danger);border-color:var(--danger)}.icon-btn__glyph{font-weight:800;font-size:.98rem;line-height:1}.form-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;padding:.7rem .8rem;border-radius:12px;font-size:.9rem}.empty-cell{color:var(--muted);text-align:center;padding:2rem!important}.mini-actions{display:inline-flex;gap:.35rem;align-items:center}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1rem}.form-actions--center{justify-content:center}.save-toast,.canvas-notice{position:fixed;z-index:100;right:20px;bottom:20px;padding:.7rem .9rem;border-radius:14px;color:#fff;background:var(--navy);box-shadow:var(--shadow)}.text-btn{min-height:34px;border:1px solid var(--border);border-radius:10px;background:var(--navy);color:#fff;padding:.45rem .85rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.text-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--navy)}.text-btn.danger{background:#fff;color:var(--danger);border-color:#fecaca}.text-btn.danger:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.address-autocomplete{display:grid;gap:.32rem}.address-autocomplete__status{font-size:.76rem;color:var(--muted)}.address-autocomplete__status.ready{color:#047857}.address-autocomplete__status.error{color:var(--danger)}.text-btn--ghost{background:transparent;color:#374151;border-color:transparent;box-shadow:none}.text-btn--ghost:hover:not(:disabled){background:#f3f4f6;color:var(--navy)}.app-icon{width:24px;height:24px;display:block;color:currentColor;overflow:visible;flex:0 0 auto}.icon-btn__glyph{display:grid;place-items:center;width:100%;height:100%}.icon-btn.active{--icon-node-fill: var(--navy);--icon-paper-fill: var(--navy)}.form-success{color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;padding:.7rem .8rem;border-radius:12px;font-size:.9rem}.save-error-banner{position:fixed;z-index:120;top:74px;left:50%;transform:translate(-50%);max-width:min(720px,calc(100vw - 2rem))}.login-card .text-btn--ghost,.login-card button[type=button]{display:none!important}.planset-template-builder-scroll{overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:#9ca3af #e5e7eb}.planset-template-builder-scroll::-webkit-scrollbar,.planset-template-builder-scroll *::-webkit-scrollbar{width:12px;height:12px}.planset-template-builder-scroll::-webkit-scrollbar-track,.planset-template-builder-scroll *::-webkit-scrollbar-track{background:#e5e7eb;border-radius:999px}.planset-template-builder-scroll::-webkit-scrollbar-thumb,.planset-template-builder-scroll *::-webkit-scrollbar-thumb{background:#9ca3af;border:2px solid #e5e7eb;border-radius:999px}.planset-template-builder-scroll::-webkit-scrollbar-thumb:hover,.planset-template-builder-scroll *::-webkit-scrollbar-thumb:hover{background:var(--slate)}.template-builder-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.template-builder-toolbar::-webkit-scrollbar{display:none}.template-builder-icon-btn{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;display:inline-grid!important;place-items:center!important;border-radius:6px!important}.template-builder-icon-btn svg{width:15px;height:15px;stroke-width:1.8;pointer-events:none}.template-builder-zoom-reset{min-width:46px!important;height:32px!important;padding:0 7px!important;border-radius:6px!important;font-size:7.2px!important;font-variant-numeric:tabular-nums}.template-toolbar-separator{flex:0 0 1px;width:1px;height:22px;margin:0 3px;background:var(--border)}.template-toolbar-bucket-label{flex:0 0 auto;font-size:7px;font-weight:850;opacity:.72}.template-toolbar-bucket{flex:0 0 150px;width:150px!important;height:32px!important;min-height:32px!important}.template-builder-page-number{flex:0 0 48px;width:48px!important;height:32px!important;min-height:32px!important;padding-inline:6px!important}.template-properties-drawer{background:var(--cream)!important;color:var(--navy)!important;opacity:1!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.template-properties-drawer>div:first-child{background:var(--cream)}.template-properties-drawer>div:last-child{background:var(--cream)}.template-properties-handle{position:absolute;top:46%;z-index:42;width:18px;height:48px;padding:0;display:grid;place-items:center;border:1px solid #64748b;border-right-width:2px;border-radius:5px 0 0 5px;background:var(--cream);color:var(--navy);box-shadow:-2px 2px 7px #0f172a2e;cursor:pointer}.template-properties-handle svg{width:14px;height:14px;stroke-width:2.3}.template-builder-mainbar-controls{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.template-builder-mainbar-controls::-webkit-scrollbar{display:none}.template-builder-icon-btn{width:26px!important;min-width:26px!important;height:26px!important;border-radius:5px!important}.template-builder-icon-btn svg{width:12.5px;height:12.5px;stroke-width:1.9}.template-builder-zoom-reset{min-width:38px!important;height:26px!important;padding:0 5px!important;border-radius:5px!important;font-size:6.8px!important}.template-builder-zoom-level{position:relative;flex:0 0 54px;width:54px;height:26px}.template-builder-zoom-input{width:100%;height:26px;box-sizing:border-box;padding:0 15px 0 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);font:inherit;font-size:6.9px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums;outline:none}.template-builder-zoom-input:focus{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb47}.template-builder-zoom-suffix{position:absolute;right:5px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:6.5px;font-weight:800;opacity:.66}.template-builder-zoom-quick{height:26px!important;min-height:26px!important;padding:0 6px!important;border-radius:5px!important;font-size:6.5px!important;font-weight:800!important;white-space:nowrap}.template-toolbar-separator{height:18px;margin:0 2px}.template-builder-page-number{flex-basis:42px;width:42px!important;height:26px!important;min-height:26px!important;padding-inline:5px!important}.template-builder-template-select{height:28px!important;min-height:28px!important;padding-block:0!important;font-size:7.1px!important}.template-builder-template-inline{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}.template-builder-template-label{font-size:6.6px;font-weight:850;opacity:.72;white-space:nowrap}.template-builder-template-select{width:210px!important;min-width:210px!important;height:26px!important;min-height:26px!important;padding-top:0!important;padding-bottom:0!important;font-size:6.9px!important}.template-builder-toolbar-status{font-size:6.1px;opacity:.68;white-space:nowrap;flex:0 0 auto}.app-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;background:#0f172a61;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.app-loading-overlay__card{min-width:190px;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.9rem 1.05rem;border:1px solid rgba(255,255,255,.5);border-radius:12px;background:#fff;color:var(--navy);box-shadow:0 18px 44px #0f172a40}.app-loading-overlay__spinner{width:22px;height:22px;flex:0 0 22px;border:3px solid #d8dee7;border-top-color:var(--navy);border-radius:50%;animation:app-loading-spin .72s linear infinite}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.app-layout{display:grid;grid-template-columns:220px minmax(0,1fr);width:100%;height:100%;background:#fff}.side-rail{display:flex;flex-direction:column;justify-content:space-between;padding:.85rem .7rem;border-right:1px solid var(--border);background:#fff;color:var(--navy)}.side-rail .icon-btn{background:#ffffff14;color:#fff;border-color:#ffffff24}.side-rail__top{display:grid;gap:1rem}.side-rail__brand-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:.45rem}.logo-mark,.login-card__logo{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#fff;color:var(--navy);border:1px solid #cbd5e1;font-weight:900;font-size:.85rem;letter-spacing:-.06em}.side-rail__brand{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:.82rem;line-height:1.05;letter-spacing:.02em;color:var(--navy)}.side-rail__subtitle{margin-top:.1rem;color:var(--navy);font-size:.64rem;line-height:1.1}.side-rail__nav{display:grid;gap:.35rem}.side-rail__nav-link{display:flex;align-items:center;gap:.55rem;min-height:36px;padding:.48rem .55rem;border:1px solid transparent;border-radius:12px;color:#374151;text-decoration:none;font-size:.82rem;font-weight:750;line-height:1.15}.side-rail__nav-link:hover,.side-rail__nav-link.active{background:#f3f4f6;border-color:#e5e7eb;color:var(--navy)}.side-rail__nav-link.active{background:var(--navy);border-color:var(--navy);color:#fff}.side-rail__nav-icon{width:20px;height:20px;min-width:20px;display:grid;place-items:center;border-radius:7px;background:#11182712;font-size:.86rem;overflow:hidden}.side-rail__nav-icon .app-icon{width:17px;height:17px}.side-rail__nav-link.active .side-rail__nav-icon{background:#ffffff24}.side-rail__user-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.65rem;padding:.15rem .1rem}.side-rail__avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:#dbeafe;color:var(--navy);border:1px solid #93c5fd;font-weight:800}.side-rail__user-name{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:.74rem;color:var(--navy);line-height:1.1}.side-rail__user-role{margin-top:.12rem;color:var(--navy);font-size:.62rem;line-height:1.1}.content-page{height:100%;overflow:auto;padding:1.5rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-header h1{font-size:1.9rem;margin-bottom:.3rem}.page-header p{color:var(--muted);margin-bottom:0}.header-actions-inline{display:flex;align-items:center;gap:.6rem}.toolbar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.search-input{max-width:420px}.rows-control{width:110px}.table-card,.project-form,.login-card,.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 28px #0f172a0f}.table-card{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:.85rem .95rem;border-bottom:1px solid var(--border);text-align:left;font-size:.92rem;white-space:nowrap}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--cream)}td:nth-last-child(-n+4),th:nth-last-child(-n+4){width:56px;text-align:center}.pagination-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;color:var(--muted)}.login-page{min-height:100%;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at top,#e5e7eb,var(--cream) 45%,#eef2f7)}.login-card{width:min(420px,100%);display:grid;gap:1rem;padding:2rem}.login-card h1{margin-bottom:0;font-size:2rem}.login-card p{color:var(--muted);margin-bottom:.4rem}.project-form{padding:1.2rem;display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.map-preview{height:420px;position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--border);cursor:default;background-color:#d1d5db}.map-preview.satellite{background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.2),transparent 12%),linear-gradient(45deg,#878b73 25%,#7b806d 25%,#7b806d 50%,#878b73 50%,#878b73 75%,#7b806d 75%,#7b806d);background-size:280px 280px,48px 48px}.map-preview.map{background-image:linear-gradient(90deg,rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(135deg,#d7ead7,#cfdccc);background-size:36px 36px,36px 36px,auto}.map-preview__controls{position:absolute;z-index:2;top:12px;right:12px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;max-width:min(310px,calc(100% - 24px))}.map-preview__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-preview__hint{position:absolute;left:12px;bottom:12px;padding:.55rem .75rem;border-radius:12px;color:var(--navy);background:#ffffffdb;font-size:.86rem}.table-input{width:220px;padding:.45rem .55rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(520px,calc(100% - 2rem));padding:1.2rem;display:grid;gap:1rem}.modal-card__header,.modal-card__actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-card__header h2{margin:0}.missing-page{width:100%;height:100%;display:grid;gap:1rem;place-items:center;align-content:center}@media (max-width: 900px){.app-layout{grid-template-columns:78px minmax(0,1fr)}.side-rail__brand,.side-rail__subtitle,.side-rail__user,.side-rail__user-card>div:last-child,.side-rail__nav-link>span:last-child,.side-rail__sign-out>span:first-child{display:none}.side-rail__brand-row{grid-template-columns:1fr;justify-items:center}.side-rail__user-card,.side-rail__nav-link,.side-rail__sign-out{justify-content:center}.side-rail__nav-link{padding-inline:.4rem}.form-grid{grid-template-columns:1fr}}.map-preview__google-map,.map-preview__fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.map-preview__google-map{pointer-events:none}.map-preview--pan,.map-middle-pan-active{cursor:grabbing}.map-preview--draw{cursor:default}.map-preview__fallback{background-color:#d1d5db}.map-preview.satellite .map-preview__fallback{background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.2),transparent 12%),linear-gradient(45deg,#878b73 25%,#7b806d 25%,#7b806d 50%,#878b73 50%,#878b73 75%,#7b806d 75%,#7b806d);background-size:280px 280px,48px 48px}.map-preview.map .map-preview__fallback{background-image:linear-gradient(90deg,rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(135deg,#d7ead7,#cfdccc);background-size:36px 36px,36px 36px,auto}.map-preview__svg,.map-preview__controls,.map-preview__hint{z-index:2}.map-preview__hint strong{font-size:.78rem}.new-project-workspace{width:100%;height:100%;overflow:hidden;background:#f3f4f6}.new-project-split{display:grid;grid-template-columns:minmax(380px,48%) minmax(420px,52%);width:100%;height:100%}.new-project-pane{min-height:0}.new-project-pane--form{padding:18px 26px;display:grid;grid-auto-rows:max-content;gap:14px;background:#f3f4f6}.new-project-pane--form h1{margin:0;font-size:3rem;font-weight:500;font-family:Arial,Helvetica,sans-serif;color:var(--navy)}.new-project-field{display:grid;gap:8px}.new-project-field>span{font-size:.9rem;font-weight:600;color:#334155;text-transform:none;letter-spacing:0}.new-project-field input,.new-project-field .address-autocomplete input{min-height:40px;border-radius:10px;background:#fff}.new-project-field .address-autocomplete{gap:6px}.new-project-field .address-autocomplete__status{font-size:.72rem}.property-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}.property-type-btn{min-height:44px;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:var(--navy);font-weight:700;cursor:pointer}.property-type-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.new-project-actions{margin-top:10px;display:flex;justify-content:flex-end;align-items:center;gap:18px}.new-project-pane--map{padding:18px;background:#dbe1e8;display:grid;place-items:center;box-sizing:border-box}.new-project-pane--map .map-preview{width:min(100%,640px,calc(100vh - 36px));height:min(100%,640px,calc(100vh - 36px));max-width:640px;max-height:640px;border:1px solid rgba(15,23,42,.16);border-radius:18px}.new-project-pane--map .map-preview__controls{top:10px;right:10px}.new-project-pane--map .map-preview__hint{left:50%;transform:translate(-50%);bottom:12px;background:#0f172ad6;color:#fff;font-size:.74rem;text-align:center}.new-project-pane--map .map-preview__hint strong{font-size:.74rem}@media (max-width: 980px){.new-project-split{grid-template-columns:1fr;grid-template-rows:auto minmax(360px,45vh)}}.map-preview__controls{z-index:5;pointer-events:auto}.map-preview__controls .icon-btn{pointer-events:auto}.map-preview__svg{pointer-events:none}.map-preview--idle .map-preview__google-map{display:none}.map-preview--idle .map-preview__fallback{background-color:#003b5c;background-image:radial-gradient(circle at 20% 18%,rgba(255,255,255,.1),transparent 13%),linear-gradient(135deg,#003b5c,#002b45 70%,#001f33);background-size:420px 420px,auto}.map-preview--idle.satellite,.map-preview--idle.map{background-color:#003b5c;background-image:none}.dashboard-page{background:#fff}.dashboard-page__header{margin-bottom:.9rem}.dashboard-page__header h1{margin-bottom:0;font-size:1.9rem}.dashboard-toolbar-row{margin-bottom:.9rem}.dashboard-search-input{width:min(480px,100%);max-width:none}.dashboard-table-card{border-radius:6px;box-shadow:none;overflow:hidden}.dashboard-table th{background:#fff}.dashboard-table td,.dashboard-table th{padding-top:.8rem;padding-bottom:.8rem}.dashboard-table-footer{display:flex;justify-content:flex-end;align-items:center;gap:.9rem;padding:.9rem 1rem;color:var(--muted);background:#fff}.dashboard-rows-inline{display:inline-flex;align-items:center;gap:.55rem;color:var(--muted)}.dashboard-rows-inline>span{font-size:.86rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}.dashboard-rows-inline select{width:72px;min-width:72px;padding-top:.4rem;padding-bottom:.4rem;border:none;background:transparent;box-shadow:none}.dashboard-rows-inline select:focus{border:none;box-shadow:none;outline:none}.dashboard-range-label{font-size:.9rem}.dashboard-pagination-actions .icon-btn{border:none;background:transparent;color:#374151}.dashboard-pagination-actions .icon-btn:hover:not(:disabled){background:#f3f4f6}.side-rail__sign-out{display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;text-transform:none}.side-rail__sign-out .app-icon{width:30px;height:30px}.solar-panel-db-page{display:grid;gap:1rem;align-content:start}.solar-panel-form{margin-bottom:.1rem}.solar-panel-form__title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.solar-panel-form__title-row h2{margin:0;font-size:1rem}.solar-panel-form__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.solar-panel-toolbar-row{margin-bottom:0}.solar-panel-count{color:var(--muted);font-size:.84rem;font-weight:700}.solar-panel-table th:nth-last-child(-n+4),.solar-panel-table td:nth-last-child(-n+4){width:auto;text-align:left}.solar-panel-table th:nth-last-child(-n+2),.solar-panel-table td:nth-last-child(-n+2){width:56px;text-align:center}@media (max-width: 980px){.solar-panel-form__grid{grid-template-columns:1fr}}.solar-panel-db-page{display:flex;flex-direction:column;gap:1rem;align-content:stretch;min-height:0;overflow:hidden}.solar-panel-db-page__header{margin-bottom:0}.solar-panel-add-btn{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}.solar-panel-add-btn .app-icon{width:18px;height:18px}.modal-card--solar-panel{width:min(920px,calc(100% - 2rem));max-height:min(720px,calc(100vh - 2rem));overflow:auto}.modal-card--solar-panel .modal-card__header{position:sticky;top:-1.2rem;z-index:2;padding:1.2rem 0 .6rem;margin-top:-1.2rem;background:var(--panel)}.solar-panel-form__actions{justify-content:flex-end;padding-top:.4rem;margin-top:0}.solar-panel-table-card{flex:1 1 auto;min-height:220px;overflow:auto}.solar-panel-table{min-width:920px}.solar-panel-table thead th{position:sticky;top:0;z-index:1}@media (max-width: 980px){.solar-panel-db-page{overflow:auto}.solar-panel-db-page__header{flex-direction:column;align-items:stretch}.solar-panel-add-btn{justify-content:center}.modal-card--solar-panel{width:min(640px,calc(100% - 1rem));max-height:calc(100vh - 1rem)}}.login-page--split{min-height:100%;display:grid;grid-template-columns:minmax(390px,42vw) minmax(0,1fr);place-items:stretch;padding:0;overflow:hidden;background:radial-gradient(circle at 10% 10%,rgba(255,240,201,.72),transparent 34%),radial-gradient(circle at 56% 58%,rgba(208,241,222,.5),transparent 36%),linear-gradient(135deg,#fff7e8,#f8fbf7,#eff8ff)}.login-page__auth{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;width:100%;min-width:0;padding:clamp(2rem,6vw,6.5rem) clamp(1.4rem,5vw,5.3rem);border-right:1px solid rgba(15,23,42,.06)}.login-brand{display:flex;align-items:center;gap:1.35rem;margin-bottom:3rem}.login-brand__mark{width:76px;height:76px;min-width:76px;display:grid;place-items:center;border-radius:23px;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.34),transparent 32%),linear-gradient(135deg,#0e5f59,#0f766e);color:#fff;box-shadow:0 18px 35px #0f766e33}.login-brand__mark span{display:grid;place-items:center;width:47px;height:47px;border-radius:999px;border:3px solid rgba(255,255,255,.9);font-weight:950;font-size:1rem;letter-spacing:-.08em}.login-brand h1{margin:0;color:var(--navy);font-size:clamp(3rem,5vw,4.65rem);line-height:.95;letter-spacing:-.07em;font-weight:950}.login-brand p{margin:.85rem 0 0;color:#517085;font-size:1rem;font-weight:750}.login-page--split .login-card{width:min(470px,100%);display:grid;gap:1.15rem;padding:clamp(1.25rem,2.5vw,1.85rem);border-radius:22px;background:#ffffffdb;border:1px solid rgba(148,163,184,.28);box-shadow:0 28px 65px #0f172a1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-page--split .login-card label{color:var(--navy);font-size:.95rem;font-weight:800}.login-page--split .login-card label>span{color:var(--navy);font-size:.82rem;text-transform:none;letter-spacing:0}.login-page--split .login-card input{min-height:46px;border-radius:13px;border-color:#ccd9e5;background:#eef5ff;color:var(--navy);font-weight:750}.login-page--split .login-card input::-moz-placeholder{color:#7890a4;font-weight:650}.login-page--split .login-card input::placeholder{color:#7890a4;font-weight:650}.login-page--split .form-actions{margin-top:.15rem}.login-page--split .text-btn{width:100%;min-height:46px;border-radius:13px;border-color:#0f766e;background:#0f766e;box-shadow:0 12px 24px #0f766e33}.login-page--split .text-btn:hover:not(:disabled){background:#0b645e;border-color:#0b645e}.login-page__visual{position:relative;min-width:0;overflow:hidden;background:linear-gradient(90deg,#081c2c0a,#081c2c00),#f7fbff}.login-art{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.login-art__svg{width:100%;height:100%;display:block}.login-art__glow{position:absolute;border-radius:999px;pointer-events:none;filter:blur(4px)}.login-art__glow--one{width:420px;height:420px;right:8%;top:8%;background:#0f766e1f}.login-art__glow--two{width:340px;height:340px;left:5%;bottom:7%;background:#2563eb1a}@media (max-width: 980px){.login-page--split{grid-template-columns:1fr;overflow:auto}.login-page__auth{min-height:58vh;padding:2rem 1.2rem;align-items:center;border-right:0}.login-brand,.login-page--split .login-card{width:min(470px,100%)}.login-page__visual{min-height:42vh}}@media (max-width: 520px){.login-brand{gap:1rem;margin-bottom:1.8rem}.login-brand__mark{width:58px;height:58px;min-width:58px;border-radius:18px}.login-brand__mark span{width:37px;height:37px;font-size:.86rem}.login-brand h1{font-size:2.65rem}}.workspace-switcher{display:flex;gap:.45rem;align-items:center;padding:.55rem .8rem;border-bottom:1px solid var(--border);background:#fff}.workspace-switcher a,.workspace-switcher button{width:auto}.workspace-switcher--tabs{justify-content:center;width:100%}.workspace-switcher--tabs a,.workspace-switcher--tabs button{flex:0 0 auto}.equipment-library-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 320px;gap:1rem;min-height:0}.equipment-list{display:grid;gap:.45rem;max-height:65vh;overflow:auto}.equipment-list__item{text-align:left;padding:.7rem;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;display:grid;gap:.2rem}.equipment-list__item.active{border-color:var(--navy);background:var(--cream)}.equipment-list__item span,.equipment-asset-row span{color:var(--muted);font-size:.8rem}.equipment-form{display:grid;gap:.8rem}.equipment-asset-upload{display:grid;grid-template-columns:1fr auto;gap:.6rem;margin:1rem 0}.equipment-file-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.equipment-assets{display:grid;gap:.55rem}.equipment-asset-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px}.equipment-asset-row>div:first-child{display:grid;gap:.2rem}.electrical-page{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:#fff}.electrical-page__body{min-height:0}.permit-pack-page{overflow:auto}.permit-pack-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem}.permit-preview-card{min-height:420px;display:grid;place-items:center}.offscreen-export-surface{position:fixed;left:-12000px;top:0;width:1800px;height:1100px;overflow:hidden;background:#fff;pointer-events:none}.offscreen-export-surface--schedule{width:1900px;height:auto;min-height:700px;overflow:visible}@media (max-width: 1200px){.equipment-library-grid,.permit-pack-grid{grid-template-columns:1fr}}.equipment-asset-info{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.7rem;min-width:0}.equipment-asset-info>div{display:grid;gap:.2rem;min-width:0}.equipment-asset-preview{width:56px;height:44px;-o-object-fit:contain;object-fit:contain;border:1px solid var(--border);border-radius:7px;background:#fff;flex:0 0 auto}.new-project-location-grid{display:grid;grid-template-columns:1.4fr .7fr .8fr;gap:.6rem}@media (max-width: 700px){.new-project-location-grid{grid-template-columns:1fr}}.n3bula-database-page{min-width:0}.database-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 1rem;padding:.35rem;border:1px solid var(--border);border-radius:12px;background:var(--cream)}.database-tab{border:1px solid transparent;background:transparent;border-radius:9px;padding:.55rem .8rem;font-weight:700;color:#475569;cursor:pointer}.database-tab:hover{background:#fff;border-color:#e2e8f0}.database-tab.active{background:#fff;border-color:#cbd5e1;color:var(--navy);box-shadow:0 1px 2px #0f172a0f}.database-toolbar-row{gap:.55rem;align-items:center;flex-wrap:wrap}.database-toolbar-spacer{flex:1;min-width:10px}.database-toggle{display:flex;align-items:center;gap:.4rem;white-space:nowrap;font-size:.86rem;color:#475569}.database-table-card{width:100%;max-width:100%;max-height:min(68vh,720px);overflow-x:scroll;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.database-table{width:-moz-max-content;width:max-content;min-width:100%}.database-table th,.database-table td{white-space:nowrap}.database-table td{vertical-align:middle}.database-table-card::-webkit-scrollbar{width:12px;height:12px}.database-table-card::-webkit-scrollbar-track{background:#f1f5f9}.database-table-card::-webkit-scrollbar-thumb{background:#94a3b8;border:3px solid #f1f5f9;border-radius:999px}.database-table-card::-webkit-scrollbar-thumb:hover{background:#64748b}.database-row--inactive{opacity:.58;background:var(--cream)}.link-button{border:0;padding:0;background:transparent;color:#2563eb;cursor:pointer;font:inherit;text-decoration:underline}.database-edit-modal{width:min(1020px,94vw);max-height:90vh;overflow:auto}.database-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;padding:.35rem 0}.database-form-grid>label,.database-multiselect-field{display:grid;gap:.35rem;min-width:0}.database-form-grid>label>span,.database-multiselect-field>span{font-size:.82rem;font-weight:700;color:#334155}.database-form-grid input,.database-form-grid select,.database-form-grid textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:.62rem .7rem;background:#fff;color:var(--navy)}.database-form-grid select[multiple]{min-height:150px}.database-wide-field,.database-multiselect-field{grid-column:1 / -1}.database-checkbox-field{display:flex!important;align-items:center;gap:.5rem;align-self:end;min-height:42px}.database-checkbox-field input{width:auto}.database-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;border:1px solid #e2e8f0;border-radius:9px;padding:.65rem}.database-check-grid label{display:flex;align-items:center;gap:.4rem;font-size:.86rem}.database-check-grid input{width:auto}.database-form-grid small{color:#64748b}.project-properties-backdrop{z-index:6000}.project-properties-backdrop .project-properties-modal{position:relative;z-index:1}.project-properties-modal{width:min(1080px,95vw);height:min(780px,92vh);max-width:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.project-properties-subtitle{margin:.25rem 0 0;color:#64748b;font-size:.64rem}.project-properties-layout{min-height:0;display:grid;grid-template-columns:210px minmax(0,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.project-properties-nav{background:var(--cream);border-right:1px solid var(--border);padding:.75rem;display:flex;flex-direction:column;gap:.35rem}.project-properties-nav button{display:flex;align-items:center;min-height:36px;text-align:left;padding:.48rem .55rem;border:1px solid transparent;border-radius:12px;background:transparent;color:#374151;font-size:.82rem;font-weight:750;line-height:1.15;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.project-properties-nav button:hover{background:#f3f4f6;border-color:#e5e7eb;color:var(--navy)}.project-properties-nav button.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:none}.project-properties-content{min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;font-size:.72rem}.project-properties-section{display:grid;gap:1rem}.project-properties-section h3{margin:0;font-size:.72rem;color:var(--navy)}.project-properties-section h4{margin:0 0 .75rem;font-size:.68rem;color:var(--navy)}.project-properties-loading,.project-props-help{font-size:.6rem;color:#64748b}.project-properties-modal .project-properties-subtitle,.project-properties-modal .project-props-help,.project-properties-modal small,.project-properties-modal .project-props-hazard-meta,.project-properties-modal .project-props-code-source>span{display:none!important}.project-props-grid{display:grid;gap:.8rem;grid-template-columns:minmax(0,520px)}.project-props-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.project-props-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.project-props-field{display:grid;gap:.22rem;min-width:0;font-size:.7rem}.project-props-field>span{font-size:.62rem;font-weight:750;color:#334155;letter-spacing:.035em}.project-props-field input,.project-props-field select,.project-props-field textarea,.project-props-inverter-row input,.project-props-inverter-row select{width:100%;border:1px solid #cbd5e1;border-radius:7px;padding:.34rem .48rem;background:#fff;color:var(--navy);font-size:.7rem}.project-props-field input,.project-props-field select,.project-props-inverter-row input,.project-props-inverter-row select{min-height:29px}.project-props-field textarea{resize:vertical;line-height:1.35}.project-props-combobox{position:relative;width:100%}.project-props-combobox>input{padding-right:1.9rem}.project-props-combobox__toggle{position:absolute;right:3px;top:3px;bottom:3px;width:25px;border:0;border-radius:5px;background:transparent;color:#475569;font-size:.86rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.project-props-combobox__toggle:hover{background:#f1f5f9;color:var(--navy)}.project-props-combobox__menu{position:absolute;z-index:1200;top:calc(100% + 3px);left:0;right:0;max-height:180px;overflow:auto;padding:3px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;box-shadow:0 8px 22px #0f172a29}.project-props-combobox__menu button{display:block;width:100%;border:0;border-radius:5px;padding:.38rem .48rem;background:#fff;color:var(--navy);text-align:left;font-size:.7rem;line-height:1.25;cursor:pointer}.project-props-combobox__menu button:hover,.project-props-combobox__menu button.active{background:#eaf2ff;color:#1d4ed8}.project-props-field--wide{max-width:none}.project-props-panel{padding:.72rem;border:1px solid #e2e8f0;background:var(--cream);border-radius:12px}.project-props-subsection{display:grid;gap:.55rem}.project-props-subsection__title{font-size:.66rem;font-weight:800;color:#334155}.project-props-inverter-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:.55rem;align-items:center;font-size:.7rem}.project-props-check-row{display:flex;gap:1.25rem;flex-wrap:wrap}.project-props-check-row label{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;color:#334155}.project-properties-modal .text-btn{font-size:.7rem}.roof-properties-area{font-size:.76rem;color:#64748b;margin:-.2rem 0 .35rem}.roof-properties-panel small{display:block;margin-top:.3rem;color:#64748b;font-size:.7rem}.roof-properties-error{margin-bottom:.5rem;font-size:.72rem}@media (max-width: 900px){.project-properties-layout{grid-template-columns:1fr}.project-properties-nav{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--border)}.project-properties-nav button{white-space:nowrap}.project-props-grid--3{grid-template-columns:1fr 1fr}}@media (max-width: 650px){.database-form-grid,.project-props-grid--2,.project-props-grid--3{grid-template-columns:1fr}.project-props-inverter-row{grid-template-columns:1fr 90px}.project-props-inverter-row button{grid-column:1 / -1}}.workspace-switcher{gap:.22rem;padding:.2rem .45rem;min-height:30px}.workspace-switcher .text-btn,.workspace-switcher a,.workspace-switcher button{min-height:25px;padding:.22rem .52rem;border-radius:7px;font-size:.72rem;line-height:1}.workspace-switcher--tabs{justify-content:center;flex-wrap:wrap}.database-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:.7rem 0 0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:#64748b;font-size:.8rem}.database-pagination__summary{min-width:220px}.database-pagination__controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.database-pagination__controls label{display:flex;align-items:center;gap:.35rem;font-weight:700;color:#475569}.database-pagination__controls select{border:1px solid #cbd5e1;border-radius:7px;padding:.35rem .45rem;background:#fff;color:var(--navy)}.database-reference-loading{margin:.35rem 0 .65rem;color:#64748b;font-size:.8rem}.electrical-source-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.42rem .75rem;border-bottom:1px solid #f59e0b;background:#fffbeb;color:#92400e;font-size:.72rem;line-height:1.35}.electrical-source-banner>span{flex:1 1 420px}.electrical-source-banner .text-btn{flex:0 0 auto}.electrical-generation-warnings{margin:.35rem .75rem;padding:.35rem .55rem;border:1px solid #fed7aa;border-radius:.45rem;background:#fff7ed;color:#9a3412;font-size:.72rem}.electrical-generation-warnings summary{cursor:pointer;font-weight:700}.electrical-generation-warnings ul{margin:.35rem 0 0 1.15rem;padding:0}.electrical-generation-warnings li{margin:.15rem 0}.database-import-modal{width:min(760px,94vw);max-height:88vh;overflow:auto}.database-import-file{margin-top:.18rem;color:#64748b;font-size:.76rem;word-break:break-all}.database-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:.35rem 0 .9rem}.database-import-summary>div{display:grid;gap:.15rem;padding:.72rem .75rem;border:1px solid #e2e8f0;border-radius:10px;background:var(--cream)}.database-import-summary>div.has-conflict{border-color:#f59e0b;background:#fffbeb}.database-import-summary strong{font-size:1.15rem;color:var(--navy)}.database-import-summary span{font-size:.72rem;color:#64748b}.database-import-question{margin:.2rem 0 .8rem;color:#334155;font-size:.86rem;line-height:1.45}.database-import-conflicts{border:1px solid #e2e8f0;border-radius:10px;padding:.7rem .75rem;background:#fff}.database-import-conflicts__title{margin-bottom:.5rem;font-size:.75rem;font-weight:800;color:#334155;text-transform:uppercase;letter-spacing:.03em}.database-import-conflicts__list{display:flex;flex-wrap:wrap;gap:.4rem;max-height:125px;overflow:auto}.database-import-conflicts__list span{padding:.3rem .48rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.72rem}.database-import-note{margin-top:.65rem;padding:.55rem .65rem;border-radius:8px;background:var(--cream);color:#475569;font-size:.76rem}.database-import-note--warning{background:#fff7ed;color:#9a3412}.database-import-actions{flex-wrap:wrap}@media (max-width: 720px){.database-import-summary{grid-template-columns:1fr 1fr}}.permit-pack-page .content-page{padding:.72rem .8rem .85rem;font-size:.72rem}.permit-pack-page .page-header{align-items:center;gap:.65rem;margin-bottom:.55rem}.permit-pack-page .page-header h1{font-size:1.22rem;line-height:1.05;margin:0 0 .18rem}.permit-pack-page .page-header p{font-size:.72rem;line-height:1.15}.permit-pack-page .page-header .text-btn,.permit-pack-page .text-btn{font-size:.68rem;line-height:1;padding:.5rem .7rem;min-height:0;border-radius:8px}.permit-pack-page .permit-pack-grid{grid-template-columns:minmax(0,1fr) 255px;gap:.65rem;align-items:stretch}.permit-pack-page .table-card{border-radius:12px}.permit-preview-card{min-height:calc(100vh - 126px);height:calc(100vh - 126px);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;place-items:initial;width:100%;overflow:hidden!important;padding:.48rem;background:#fff}.permit-preview-card__toolbar{flex:0 0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:30px;padding:.08rem .12rem .45rem;border-bottom:1px solid var(--border)}.permit-preview-card__toolbar>div{min-width:0;display:flex;align-items:baseline;gap:.45rem}.permit-preview-card__toolbar strong{font-size:.72rem;line-height:1;white-space:nowrap}.permit-preview-card__toolbar span{color:var(--muted);font-size:.62rem;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permit-preview-refresh{flex:0 0 auto;padding:.38rem .55rem!important;font-size:.62rem!important}.permit-pdf-preview{position:relative;flex:1 1 auto;width:100%;min-height:0;overflow:auto;background:#525659;border-radius:7px;margin-top:.42rem;padding:.35rem}.permit-preview-pages{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.permit-preview-page{display:block;width:100%;max-width:1280px;height:auto;background:#fff;box-shadow:0 2px 8px #00000038}.permit-preview-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;text-align:center;font-size:.7rem;color:#e5e7eb}.permit-preview-state--error{color:#fecaca}.permit-preview-updating{position:absolute;top:.45rem;right:.45rem;z-index:2;padding:.3rem .48rem;border-radius:6px;background:#0f172adb;color:#fff;font-size:.58rem;font-weight:700;pointer-events:none}.permit-pack-page .permit-pack-grid>aside.table-card{padding:.72rem;overflow:auto}.permit-pack-page .permit-pack-grid>aside h2{margin:0 0 .65rem;font-size:1rem;line-height:1}.permit-pack-page .permit-pack-grid>aside label,.permit-pack-page .permit-pack-grid>aside strong,.permit-pack-page .permit-pack-grid>aside p,.permit-pack-page .permit-pack-grid>aside a{font-size:.68rem;line-height:1.25}.permit-pack-page .permit-pack-grid>aside label>span{display:block;margin-bottom:.25rem;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.permit-pack-page .permit-pack-grid>aside select{min-height:32px;padding:.35rem .48rem;font-size:.68rem;border-radius:8px}.permit-pack-page .electrical-source-banner,.permit-pack-page .electrical-generation-warnings,.permit-pack-page .form-error{margin-bottom:.5rem;font-size:.66rem}@media (max-width: 1200px){.permit-pack-page .permit-pack-grid{grid-template-columns:1fr}.permit-preview-card{height:66vh;min-height:520px}}.offscreen-export-surface--electrical-diagram{width:1900px;height:700px;overflow:hidden}.database-specsheet-field{grid-column:1 / -1;display:grid;gap:.45rem;padding:.7rem;border:1px solid #dbe2ea;border-radius:10px;background:var(--cream)}.database-specsheet-field>span{font-size:.82rem;font-weight:800;color:#334155}.database-specsheet-field__current{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;padding:.45rem .55rem;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.database-specsheet-field__current strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.database-specsheet-field__current a,.database-specsheet-link{color:#0f4c81;text-decoration:underline;font-size:.72rem}.database-specsheet-field__actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.pdf-page-selector-backdrop{z-index:1200}.pdf-page-selector{width:min(1060px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.pdf-page-selector__file{margin-top:.2rem;font-size:.72rem;color:#64748b}.pdf-page-selector__toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;padding:.45rem 0}.pdf-page-selector__toolbar>span{margin-right:auto;font-size:.72rem;font-weight:700;color:#475569}.pdf-page-selector__state{display:grid;place-items:center;min-height:260px;color:#64748b;font-size:.8rem}.pdf-page-selector__grid{flex:1 1 auto;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem;padding:.35rem .2rem .7rem}.pdf-page-selector__page{display:grid;grid-template-columns:auto 1fr;gap:.45rem;align-items:start;padding:.5rem;border:1px solid #cbd5e1;border-radius:9px;background:#fff;cursor:pointer}.pdf-page-selector__page.selected{border-color:var(--navy);box-shadow:0 0 0 2px #0f172a14}.pdf-page-selector__page>strong{grid-column:1 / -1;text-align:center;font-size:.72rem}.pdf-page-selector__thumb{grid-column:1 / -1;min-height:190px;display:grid;place-items:center;background:#e5e7eb;border-radius:6px;overflow:hidden}.pdf-page-selector__thumb img{display:block;max-width:100%;max-height:240px;-o-object-fit:contain;object-fit:contain;background:#fff}.database-techdetail-preview{display:flex;align-items:center;justify-content:flex-start;min-height:90px;max-height:220px;padding:.6rem;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.database-techdetail-preview img{display:block;max-width:min(100%,520px);max-height:190px;-o-object-fit:contain;object-fit:contain}.database-company-logo-preview{display:flex;align-items:center;justify-content:center;min-height:120px;max-height:260px;padding:.7rem;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.database-company-logo-preview img{display:block;max-width:min(100%,560px);max-height:230px;-o-object-fit:contain;object-fit:contain}.database-logo-cell{display:flex;align-items:center;gap:.45rem;min-width:0}.database-logo-cell img{width:42px;height:30px;-o-object-fit:contain;object-fit:contain;border:1px solid #e2e8f0;border-radius:4px;background:#fff}.database-logo-cell span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-props-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.project-props-section-heading h3{margin:0 0 .15rem}.project-props-design-value{display:grid;gap:.3rem}.project-props-design-value small{color:#64748b;font-size:.6rem}.project-props-unit-input{position:relative;display:flex;align-items:center}.project-props-unit-input input{padding-right:2.5rem}.project-props-unit-input>span{position:absolute;right:.55rem;color:#64748b;font-size:.62rem;pointer-events:none}.project-props-inline-action{width:-moz-max-content;width:max-content;border:0;padding:0;background:transparent;color:#2563eb;font-size:.6rem;font-weight:750;cursor:pointer}.project-props-inline-action:hover{text-decoration:underline}.project-props-hazard-message{border:1px solid #dbeafe;background:#eff6ff;color:#1e40af;border-radius:8px;padding:.5rem .6rem;font-size:.64rem}.project-props-hazard-warning{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:8px;padding:.5rem .6rem;font-size:.64rem}.project-props-hazard-warning .text-btn{margin-left:auto}.project-props-hazard-meta{display:flex;gap:.75rem;flex-wrap:wrap;color:#64748b;font-size:.58rem}.project-props-exposure-panel{display:grid;gap:.7rem}.project-props-exposure-summary{display:flex;gap:.7rem 1rem;flex-wrap:wrap;align-items:center;padding:.45rem .55rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.66rem}.project-props-exposure-summary strong{color:var(--navy)}.project-props-exposure-details{border-top:1px solid #e2e8f0;padding-top:.55rem}.project-props-exposure-details summary{cursor:pointer;font-size:.66rem;font-weight:800;color:#334155}.project-props-exposure-meta{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin:.55rem 0;color:#64748b;font-size:.6rem}.project-props-exposure-table-wrap{overflow:auto;max-width:100%;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.project-props-exposure-table{width:100%;min-width:860px;border-collapse:collapse;font-size:.6rem}.project-props-exposure-table th,.project-props-exposure-table td{padding:.34rem .42rem;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top}.project-props-exposure-table th{position:sticky;top:0;background:var(--cream);color:#475569;font-weight:800}.project-props-exposure-table td{color:#334155}.project-props-exposure-warnings{margin:.55rem 0 0 1rem;padding:0;color:#92400e;font-size:.62rem}.project-props-exposure-warnings li{margin:.2rem 0}.project-props-hazard-warning code{font-size:.58rem;word-break:break-all}.database-multiline-cell{white-space:pre-line;min-width:300px;max-width:560px;line-height:1.25}.database-wide-field textarea{width:100%;min-height:160px;resize:vertical}.project-props-code-source{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;font-size:.68rem;color:#64748b}.signage-workspace{margin-top:14px;min-height:560px}.signage-workspace--sources{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px}.signage-source-list-panel,.signage-source-manage-panel,.signage-library-card{background:#fff;border:1px solid #d9dee8;border-radius:12px;overflow:hidden}.signage-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e5e7eb}.signage-panel-header h2{margin:0;font-size:18px}.signage-panel-header span{color:#667085;font-size:12px}.signage-source-list{display:flex;flex-direction:column;max-height:570px;overflow:auto}.signage-source-list__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:1px solid #eef1f5;background:#fff;text-align:left;padding:12px;display:flex;flex-direction:column;gap:4px;cursor:pointer}.signage-source-list__item:hover{background:var(--cream)}.signage-source-list__item.active{background:#eef4ff;box-shadow:inset 3px 0 #1d4ed8}.signage-source-list__item span{color:#667085;font-size:11px}.signage-source-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-top:1px solid #e5e7eb}.signage-source-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid #e5e7eb;background:var(--cream)}.signage-source-toolbar .active{background:#172033;color:#fff}.signage-toolbar-spacer{flex:1}.signage-source-scroll{height:570px;overflow:auto;background:#7f8287;padding:18px}.signage-source-page{position:relative;width:-moz-max-content;width:max-content;margin:0 auto;box-shadow:0 2px 12px #0000003d;background:#fff;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none}.signage-source-page.pan-mode{cursor:grab}.signage-source-page canvas{display:block}.signage-selection-rect{position:absolute;border:2px dashed #2563eb;background:#2563eb14;pointer-events:none;box-sizing:border-box}.signage-selection-rect--draft{border-color:#dc2626;background:#dc26260f}.signage-selected-region{display:flex;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid #dbe2ea;background:#f8fbff;font-size:12px}.signage-selected-region button:first-of-type{margin-left:auto}.signage-empty-state{padding:30px;color:#667085;text-align:center}.signage-muted{color:#667085;font-size:12px;padding:7px 0}.signage-create-modal{width:min(760px,calc(100vw - 40px))}.signage-physical-size{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--cream);border-radius:8px}.signage-library-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}.signage-library-header h2{margin:0 0 4px}.signage-library-header p{margin:0;color:#667085}.signage-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.signage-library-card.disabled{opacity:.55}.signage-library-preview{min-height:160px;background:var(--cream);border-bottom:1px solid #e5e7eb;padding:10px;display:flex;align-items:center;justify-content:center}.signage-library-card__body{padding:12px}.signage-library-card__title{display:flex;justify-content:space-between;gap:12px}.signage-library-card__title span{color:#667085;font-size:11px;font-family:Arial,Helvetica,sans-serif}.signage-library-meta{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.signage-library-meta span{padding:3px 7px;border-radius:999px;background:#f1f5f9;font-size:10px}.signage-library-actions{display:flex;flex-wrap:wrap;gap:10px}.signage-crop-canvas{position:relative;width:100%;max-width:100%;background:#fff;border:1px solid #cbd5e1;overflow:hidden}.signage-crop-canvas canvas{display:block;width:100%;height:auto}.signage-crop-canvas.selectable{cursor:crosshair;box-shadow:0 0 0 2px #2563eb inset}.signage-crop-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffb8}.signage-dynamic-field-box{position:absolute;border:1px solid #7c3aed;background:#7c3aed1f;color:#5b21b6;font-size:9px;overflow:hidden;pointer-events:none}.signage-dynamic-field-box.active{border:2px solid #2563eb;background:#2563eb29;color:#1d4ed8;z-index:3}.signage-editor-modal{width:min(1260px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto}.signage-editor-grid{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(520px,1.4fr);gap:18px;padding:14px}.signage-editor-preview{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:8px}.signage-editor-fields h3{margin:18px 0 8px}.signage-rule-builder{display:flex;flex-direction:column;gap:10px}.signage-rule-builder__top,.signage-rule-group__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.signage-rule-group{border:1px solid #d8dee9;border-radius:9px;padding:10px;background:#fbfcfe}.signage-rule-group__header{border-bottom:1px solid #e7ebf0;padding-bottom:8px;margin-bottom:8px}.signage-rule-condition{display:grid;grid-template-columns:1.2fr .9fr 1.2fr auto auto;gap:6px;align-items:center;margin-top:6px}.signage-rule-condition select,.signage-rule-condition input{min-width:0}.signage-dynamic-field-row{display:grid;grid-template-columns:1fr 1.3fr 1fr auto;gap:8px;border-bottom:1px solid #eef2f6;padding:7px 0;align-items:center;font-size:12px}.signage-dynamic-field-row.active{background:#eff6ff;outline:1px solid #bfdbfe;border-radius:6px;padding-left:6px;padding-right:6px}.signage-dynamic-field-row__actions,.signage-dynamic-field-form__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.signage-dynamic-field-form{border:1px solid #c4b5fd;background:#faf7ff;border-radius:9px;padding:10px;margin-top:10px;display:grid;gap:8px}.signage-dynamic-field-form label{display:grid;gap:4px}@media (max-width: 1100px){.signage-workspace--sources,.signage-editor-grid{grid-template-columns:1fr}.signage-editor-preview{position:static}}.signage-project-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;margin-top:14px}.signage-project-canvas{padding:14px;min-height:620px}.signage-generated-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;align-items:start}.signage-generated-item{border:1px solid #d7dde7;background:#fff;border-radius:9px;padding:8px;display:grid;gap:7px;text-align:left;cursor:pointer}.signage-generated-item.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.signage-generated-item>span{font-size:11px;font-weight:700}.signage-status-panel{background:#fff;border:1px solid #d9dee8;border-radius:12px;padding:14px;align-self:start;position:sticky;top:12px}.signage-status-panel h2{margin-top:0}.signage-status-counts{display:grid;gap:5px}.signage-status-counts>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #edf0f4}.signage-status-counts .total{margin-top:4px;font-weight:800;border-top:2px solid #cbd5e1}.signage-selected-details,.signage-context-summary{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:12px}.signage-selected-details dl{display:grid;grid-template-columns:105px 1fr;gap:6px 9px}.signage-selected-details dt{color:#667085}.signage-selected-details dd{margin:0;overflow-wrap:anywhere}.signage-context-summary{display:grid;gap:4px}.signage-context-summary h3{margin:0 0 6px}@media (max-width: 1100px){.signage-project-layout{grid-template-columns:1fr}.signage-status-panel{position:static}}.signage-project-actions{display:flex;gap:8px;margin-top:10px}.signage-manual-add,.signage-excluded-list{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb;display:grid;gap:7px}.signage-manual-add h3,.signage-excluded-list h3{margin:0 0 4px}.signage-manual-add select{min-width:0}.signage-excluded-list>div{display:flex;justify-content:space-between;gap:8px;font-size:11px}.signage-library-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.signage-library-filters .search-input{min-width:240px;flex:1}.signage-library-filters select{min-width:145px}.signage-library-filters>span{color:#667085;font-size:11px}.finalize-pdf-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;background:#e5e7eb;display:flex;flex-direction:column;color:var(--navy)}.finalize-pdf-toolbar{min-height:58px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:#fff;border-bottom:1px solid #cbd5e1;box-shadow:0 1px 4px #0f172a1f}.finalize-pdf-toolbar__group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.finalize-pdf-toolbar__group--settings{margin-left:auto}.finalize-pdf-toolbar__group--right{margin-left:8px}.finalize-pdf-toolbar label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#475569}.finalize-pdf-toolbar input[type=number],.finalize-pdf-toolbar select{width:68px;padding:5px 6px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.finalize-pdf-toolbar input[type=color]{width:32px;height:30px;border:1px solid #cbd5e1;border-radius:6px;padding:2px;background:#fff}.finalize-pdf-toolbar .text-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.finalize-pdf-color-picker{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#475569}.finalize-pdf-color-swatches{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.finalize-pdf-color-swatch{width:22px;height:22px;border:1px solid #cbd5e1;border-radius:5px;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff59}.finalize-pdf-color-swatch.active{outline:2px solid var(--accent);outline-offset:1px}.finalize-pdf-custom-color{position:relative;width:24px;height:24px;margin:0!important;display:grid!important;place-items:center;border:1px solid #cbd5e1;border-radius:5px;background:#fff;overflow:hidden;cursor:pointer;color:#475569;font-size:15px!important;font-weight:800!important}.finalize-pdf-custom-color>span{pointer-events:none;z-index:1}.finalize-pdf-custom-color input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer;padding:0!important;border:0!important}.finalize-pdf-color-properties-picker{width:100%}.finalize-pdf-properties .finalize-pdf-color-swatches{gap:6px}.finalize-pdf-properties .finalize-pdf-color-swatch{width:26px;height:26px}.finalize-pdf-body{flex:1;min-height:0;display:grid;grid-template-columns:72px minmax(0,1fr) 250px}.finalize-pdf-pages{background:var(--cream);border-right:1px solid #cbd5e1;padding:10px 8px;overflow:auto;display:flex;flex-direction:column;gap:6px;align-items:stretch}.finalize-pdf-pages strong{font-size:12px;text-align:center;color:#475569}.finalize-pdf-pages button{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:7px 4px;cursor:pointer;font-weight:700}.finalize-pdf-pages button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.finalize-pdf-stage-wrap{overflow:auto;padding:24px;background:#cbd5e1}.finalize-pdf-stage{position:relative;margin:0 auto;background:#fff;box-shadow:0 8px 26px #0f172a3d;-webkit-user-select:none;-moz-user-select:none;user-select:none}.finalize-pdf-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:#fff}.finalize-pdf-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none}.finalize-pdf-overlay--mtext,.finalize-pdf-overlay--callout,.finalize-pdf-overlay--revcloud,.finalize-pdf-overlay--image{cursor:crosshair}.finalize-pdf-ann{cursor:move}.finalize-pdf-resize-handle{cursor:nwse-resize}.finalize-pdf-properties{background:#fff;border-left:1px solid #cbd5e1;padding:14px;overflow:auto}.finalize-pdf-properties>strong{display:block;margin-bottom:10px}.finalize-pdf-properties p{font-size:13px;line-height:1.45;color:#64748b}.finalize-pdf-properties label{display:flex;flex-direction:column;gap:5px;margin-top:12px;font-size:12px;font-weight:700;color:#475569}.finalize-pdf-properties input,.finalize-pdf-properties textarea{width:100%;box-sizing:border-box;padding:8px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;background:#fff;color:var(--navy)}.finalize-pdf-properties textarea{resize:vertical;min-height:90px}.finalize-pdf-properties__type{font-size:11px;font-weight:800;letter-spacing:.08em;color:#64748b;margin-bottom:4px}.finalize-pdf-color-row{display:grid;grid-template-columns:42px 1fr;gap:6px}.finalize-pdf-color-row input[type=color]{height:36px;padding:2px}.finalize-pdf-properties__actions{display:flex;gap:8px;margin-top:16px}.finalize-pdf-status{margin-top:16px;padding:9px 10px;border-radius:6px;background:#f1f5f9;color:#334155;font-size:12px;line-height:1.35}@media (max-width:1000px){.finalize-pdf-body{grid-template-columns:58px minmax(0,1fr) 210px}.finalize-pdf-toolbar__group--settings{margin-left:0}}.permit-pack-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.permit-pack-saved-finalize-select{max-width:260px;min-width:170px;padding:7px 9px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--navy);font:inherit}.finalize-pdf-revcloud-mode{min-width:126px!important;width:auto!important}.finalize-pdf-toolbar .finalize-pdf-session-name input{width:190px;max-width:24vw;padding:5px 7px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--navy)}.dashboard-app-layout{background:#f7f8fa}.dashboard-project-list-page{width:100%;height:100%;min-width:0;overflow:auto;background:#f7f8fa;color:#3f4652;font-family:Arial,Helvetica,sans-serif}.dashboard-project-list-shell{width:100%;min-height:100%;padding:16px 18px 28px}.dashboard-project-list-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:0 4px 12px;border-bottom:1px solid #eceef2}.dashboard-project-list-topbar h1{margin:0;color:var(--navy);font-size:18px;line-height:1;font-weight:800;letter-spacing:0}.dashboard-project-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.dashboard-project-search-wrap{display:flex;align-items:center;width:clamp(135px,20.25vw,270px);border-bottom:1px solid #d7dbe1;background:transparent}.dashboard-project-search{width:100%;min-width:0;height:34px;padding:6px 4px;border:0;border-radius:0;outline:0;box-shadow:none!important;background:transparent;color:#48515e;font-size:13px}.dashboard-project-search::-moz-placeholder{color:#a3a9b2}.dashboard-project-search::placeholder{color:#a3a9b2}.dashboard-project-search-icon,.dashboard-project-tool{width:30px;height:30px;min-width:30px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#7c8592;cursor:pointer}.dashboard-project-search-icon svg,.dashboard-project-filter svg{width:17px;height:17px;display:block}.dashboard-project-search-icon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:scaleX(-1);transform-origin:center}.dashboard-project-filter svg{fill:currentColor;stroke:none}.dashboard-project-tool:hover,.dashboard-project-search-icon:hover{color:var(--navy)}.dashboard-create-project{height:34px;display:inline-flex;align-items:center;gap:16px;padding:0 11px 0 14px;border:1px solid var(--brand);border-radius:8px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:none}.dashboard-create-project:hover{background:#1f2937;border-color:#1f2937}.dashboard-create-project__chevron{font-size:15px;line-height:1}.dashboard-project-rows{display:grid;gap:10px;padding-top:10px}.dashboard-project-row{min-height:68px;display:grid;grid-template-columns:58px minmax(145px,1.1fr) minmax(180px,1.25fr) minmax(280px,2fr) 42px;align-items:center;gap:14px;padding:9px 13px;border:1px solid #eef0f3;background:#fff;box-shadow:0 1px 5px #1d2a3c0b;cursor:default}.dashboard-project-row:hover{border-color:#e4e8ee;box-shadow:0 1px 6px #1d2a3c11}.dashboard-project-thumb-link{width:54px;height:42px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer;overflow:hidden}.project-list-thumb{width:54px;height:42px;border-radius:4px;overflow:hidden;border:1px solid #d7dce3;background:#edf1f3;display:grid;place-items:center}.project-list-thumb img,.project-list-thumb svg{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.project-list-thumb--empty{color:#697586;font-size:13px;font-weight:800;background:linear-gradient(145deg,#e5ebef,#cdd7de)}.dashboard-project-thumb-link:hover .project-list-thumb,.dashboard-project-thumb-link:focus-visible .project-list-thumb{border-color:#9ca3af;box-shadow:0 0 0 2px #11182714}.dashboard-project-primary,.dashboard-project-address,.dashboard-project-meta{min-width:0;display:grid;align-content:center;gap:3px;line-height:1.16}.dashboard-project-name-link{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;padding:0;border:0;background:transparent;color:#374151;font-size:12px;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.dashboard-project-name-link:hover,.dashboard-project-name-link:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.dashboard-project-address strong{overflow:hidden;color:#525b68;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.dashboard-project-primary span,.dashboard-project-address span,.dashboard-project-meta span{overflow:hidden;color:#7b838f;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.dashboard-project-meta span{color:#8c939d;font-weight:500}.dashboard-project-meta strong{color:#7f8792;font-weight:600}.dashboard-project-delete{display:flex;justify-content:flex-end;opacity:.72}.dashboard-project-row:hover .dashboard-project-delete,.dashboard-project-row:focus-within .dashboard-project-delete{opacity:1}.dashboard-project-delete .icon-btn{width:31px;height:31px;border-color:transparent;background:transparent}.dashboard-project-delete .icon-btn:hover{background:#fff1f2;border-color:#fecdd3}.dashboard-project-delete .app-icon{width:16px;height:16px}.dashboard-project-loading,.dashboard-project-empty{padding:36px 16px;color:#8a929d;text-align:center;background:#fff;border:1px solid #eef0f3}.dashboard-project-list-error{margin:10px 0 0}@media (max-width: 1050px){.dashboard-project-list-topbar{align-items:flex-start;flex-direction:column}.dashboard-project-list-actions{width:100%}.dashboard-project-search-wrap{width:min(270px,45vw)}.dashboard-project-row{grid-template-columns:58px minmax(0,1fr) 38px;gap:10px}.dashboard-project-address,.dashboard-project-meta{grid-column:2 / 3}.dashboard-project-address{margin-top:-3px}.dashboard-project-meta{margin-top:2px}.dashboard-project-delete{grid-column:3;grid-row:1 / span 3}}@media (max-width: 560px){.dashboard-project-list-shell{padding:12px 10px 20px}.dashboard-project-list-actions{flex-wrap:wrap}.dashboard-project-search-wrap{width:min(220px,100%);min-width:150px;flex:1}.dashboard-create-project{margin-left:auto}}.dashboard-project-filter-wrap{position:relative;display:flex;align-items:center}.dashboard-project-filter.is-active{color:var(--brand);background:#1118270f;border-radius:6px}.dashboard-project-filter-count{position:absolute;top:1px;right:0;min-width:13px;height:13px;padding:0 3px;border-radius:999px;background:var(--brand);color:#fff;font-size:8px;font-weight:800;line-height:13px;text-align:center}.dashboard-project-filter-menu{position:absolute;z-index:50;top:calc(100% + 8px);right:0;width:248px;padding:12px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;box-shadow:0 12px 30px #0f172a29;display:grid;gap:10px}.dashboard-project-filter-menu label{display:grid;gap:5px;color:#4b5563;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.025em}.dashboard-project-filter-menu select{width:100%;height:34px;padding:0 28px 0 9px;border:1px solid #d5dae1;border-radius:6px;background:#fff;color:#27303c;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600}.dashboard-project-filter-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.dashboard-project-filter-footer button{height:30px;padding:0 10px;border:1px solid #d5dae1;border-radius:6px;background:#fff;color:#4b5563;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;cursor:pointer}.dashboard-project-filter-footer button:disabled{opacity:.45;cursor:default}.dashboard-project-filter-footer .dashboard-project-filter-done{border-color:var(--brand);background:var(--brand);color:#fff}.dashboard-create-project{gap:0;padding-left:14px;padding-right:14px}.dashboard-project-thumb-link,.project-list-thumb{width:46px;height:46px;border-radius:50%}.project-list-thumb--empty svg{width:23px;height:23px;fill:none;stroke:#667384;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.dashboard-project-delete .icon-btn{width:38px;height:38px}.dashboard-project-delete .app-icon{width:22px;height:22px}@media (max-width: 560px){.dashboard-project-filter-menu{right:-90px;width:min(248px,calc(100vw - 24px))}}.project-details-page{width:100%;min-width:0;height:100%;padding:16px 18px 28px;overflow:auto;background:#f7f8fa;color:#3f4652;font-family:Arial,Helvetica,sans-serif}.project-details-page .page-header{min-height:58px;margin:0 0 10px;padding:0 4px 12px;align-items:center;border-bottom:1px solid #eceef2}.project-details-page .header-actions-inline{gap:9px}.project-details-page .header-actions-inline>.icon-btn{width:36px;height:36px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:#26303d;box-shadow:none}.project-details-page .header-actions-inline>.icon-btn:hover:not(:disabled){border-color:#cbd1d9;background:var(--cream)}.project-details-page .page-header h1{margin:0;color:var(--navy);font-size:23px;line-height:1.05;font-weight:800;letter-spacing:-.015em}.project-details-page .page-header p{margin:4px 0 0 45px;color:#707986;font-size:13px;font-weight:500;line-height:1.25}.project-details-page .page-header p+p{margin-top:2px;color:#9097a1;font-size:11px}.project-details-page .mini-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.project-details-page .mini-actions .text-btn--ghost{height:34px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--navy);font-size:12px;font-weight:800;box-shadow:none}.project-details-page .mini-actions .text-btn--ghost:hover:not(:disabled){background:#eef1f4;color:var(--navy)}.project-details-page .mini-actions>.icon-btn{width:36px;height:36px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:var(--navy);box-shadow:none}.project-details-page .mini-actions>.icon-btn:hover:not(:disabled){border-color:var(--brand);background:var(--brand);color:#fff}.project-details-page .table-card{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.project-details-page .table-card table{width:100%;border-collapse:separate;border-spacing:0 10px;table-layout:auto}.project-details-page .table-card thead th{height:34px;padding:0 12px;border-top:1px solid #e5e8ed;border-bottom:1px solid #e5e8ed;background:#f3f5f7;color:#697382;font-size:10px;font-weight:800;letter-spacing:.025em;text-transform:uppercase}.project-details-page .table-card thead th:first-child{border-left:1px solid #e5e8ed;border-radius:7px 0 0 7px}.project-details-page .table-card thead th:last-child{border-right:1px solid #e5e8ed;border-radius:0 7px 7px 0}.project-details-page .table-card tbody tr{background:#fff;box-shadow:0 1px 5px #1d2a3c0b}.project-details-page .table-card tbody tr:hover{box-shadow:0 1px 7px #1d2a3c13}.project-details-page .table-card tbody td{height:58px;padding:8px 12px;border-top:1px solid #eef0f3;border-bottom:1px solid #eef0f3;color:#4e5764;font-size:12px;font-weight:600;background:#fff}.project-details-page .table-card tbody td:first-child{border-left:1px solid #eef0f3;border-radius:7px 0 0 7px;color:#303946;font-weight:800}.project-details-page .table-card tbody td:last-child{border-right:1px solid #eef0f3;border-radius:0 7px 7px 0}.project-details-page .table-card tbody .text-btn--ghost{min-height:30px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#374151;font-size:11px;font-weight:700}.project-details-page .table-card tbody .text-btn--ghost:hover:not(:disabled){background:#eef1f4;color:var(--navy)}.project-details-page .table-card tbody .icon-btn{width:32px;height:32px;border-color:#e3e7ec;border-radius:7px;background:#fff;color:#303946;box-shadow:none}.project-details-page .table-card tbody .icon-btn:hover:not(:disabled){border-color:#cfd5dc;background:#f7f8fa}.project-details-page .table-card tbody .icon-btn.danger{color:#ef4444}.project-details-page .table-card tbody .icon-btn.danger:hover:not(:disabled){border-color:#fecaca;background:#fff1f2;color:#dc2626}.project-details-page .table-input{min-width:130px;height:30px;padding:4px 7px;border:1px solid #cfd5dc;border-radius:6px;background:#fff;color:#303946;font:600 12px Arial,Helvetica,sans-serif}@media (max-width: 1180px){.project-details-page .page-header{align-items:flex-start;flex-direction:column}.project-details-page .mini-actions{width:100%;justify-content:flex-start;padding-left:45px}.project-details-page .table-card{overflow-x:auto}}@media (max-width: 560px){.project-details-page{padding:12px 10px 20px}.project-details-page .page-header h1{font-size:20px}.project-details-page .page-header p,.project-details-page .mini-actions{margin-left:0;padding-left:0}}.project-details-page{padding:16px 18px 28px;background:#f7f8fa;font-family:Arial,Helvetica,sans-serif}.project-details-page .project-details-header{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 10px;padding:0 4px 12px;border-bottom:1px solid #eceef2}.project-details-heading{min-width:0;display:flex;align-items:center;gap:10px}.project-details-heading>.icon-btn{width:36px;height:36px;min-width:36px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:#26303d;box-shadow:none}.project-details-heading>.icon-btn:hover:not(:disabled){border-color:#cbd1d9;background:var(--cream)}.project-details-heading-text{min-width:0;display:grid;gap:4px}.project-details-page .project-details-heading-text h1{margin:0;color:var(--navy);font-size:18px;line-height:1;font-weight:800;letter-spacing:0}.project-details-page .project-details-heading-text p{margin:0;color:#7b838f;font-size:12px;line-height:1.2;font-weight:500}.project-new-design-btn,.dashboard-create-project{height:34px;min-width:94px;padding:0 14px;border:1px solid var(--brand);border-radius:8px;background:var(--brand);color:#fff;font:700 12px Arial,Helvetica,sans-serif;cursor:pointer;box-shadow:none}.project-new-design-btn:hover,.dashboard-create-project:hover{background:#1f2937;border-color:#1f2937}.project-design-list{display:grid;gap:10px;padding-top:0}.project-design-row{min-height:72px;display:grid;grid-template-columns:54px minmax(150px,.85fr) minmax(280px,1.75fr) minmax(230px,1.2fr) 116px;align-items:center;gap:14px;padding:9px 13px;border:1px solid #eef0f3;background:#fff;box-shadow:0 1px 5px #1d2a3c0b}.project-design-row:hover{border-color:#e4e8ee;box-shadow:0 1px 6px #1d2a3c11}.project-design-thumb-link{width:48px;height:48px;min-width:48px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.project-design-thumb{width:48px;height:48px;border:1px solid #d7dce3;border-radius:50%;overflow:hidden;background:#edf1f3;display:grid;place-items:center}.project-design-thumb svg{width:100%;height:100%;display:block}.project-design-thumb-link:hover .project-design-thumb,.project-design-thumb-link:focus-visible .project-design-thumb{border-color:#9ca3af;box-shadow:0 0 0 2px #11182714}.project-design-thumb--empty{color:#697586;background:linear-gradient(145deg,#e5ebef,#cdd7de)}.project-design-thumb--empty svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.project-design-primary,.project-design-equipment,.project-design-meta{min-width:0;display:grid;align-content:center;gap:3px;line-height:1.16}.project-design-name-link{width:-moz-fit-content;width:fit-content;max-width:100%;padding:0;border:0;background:transparent;color:#374151;font:800 12px Arial,Helvetica,sans-serif;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.project-design-name-link:hover,.project-design-name-link:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.project-design-primary>span,.project-design-equipment span,.project-design-meta span{overflow:hidden;color:#7b838f;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.project-design-equipment strong,.project-design-meta strong{color:#626b77;font-weight:700}.project-design-meta span{color:#8c939d;font-weight:500}.project-design-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.project-design-actions .icon-btn{width:32px;height:32px;border:1px solid #e3e7ec;border-radius:7px;background:#fff;color:#303946;box-shadow:none}.project-design-actions .icon-btn:hover:not(:disabled){border-color:#cfd5dc;background:#f7f8fa}.project-design-actions .icon-btn.danger{color:#ef4444}.project-design-actions .icon-btn.danger:hover:not(:disabled){border-color:#fecaca;background:#fff1f2;color:#dc2626}.project-design-actions .icon-btn:disabled{opacity:.35}.project-design-name-input{width:min(180px,100%);height:29px;padding:4px 7px;border:1px solid #cfd5dc;border-radius:6px;background:#fff;color:#303946;font:600 12px Arial,Helvetica,sans-serif}.project-design-empty{padding:36px 16px;border:1px solid #eef0f3;background:#fff;color:#8a929d;text-align:center;font-size:12px}@media (max-width: 1250px){.project-design-row{grid-template-columns:54px minmax(150px,.9fr) minmax(240px,1.45fr) minmax(190px,1fr) 112px;gap:10px}}@media (max-width: 1000px){.project-design-row{grid-template-columns:54px minmax(0,1fr) 112px;align-items:start}.project-design-primary{align-self:center}.project-design-equipment,.project-design-meta{grid-column:2 / 3}.project-design-actions{grid-column:3;grid-row:1 / span 3;align-self:center}}@media (max-width: 620px){.project-details-page{padding:12px 10px 20px}.project-details-page .project-details-header{align-items:flex-start;flex-direction:column}.project-new-design-btn{margin-left:46px}.project-design-row{grid-template-columns:50px minmax(0,1fr)}.project-design-thumb-link,.project-design-thumb{width:44px;height:44px;min-width:44px}.project-design-equipment,.project-design-meta,.project-design-actions{grid-column:2 / 3;grid-row:auto}.project-design-actions{justify-content:flex-start}}.permit-pack-page--finalize{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.permit-pack-page--finalize .permit-pack-finalize-page{min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.permit-pack-finalize-header{flex:0 0 auto}.permit-pack-finalize-editor-shell{flex:1 1 auto;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#cbd5e1}.permit-pack-finalize-loading{height:100%;min-height:360px;display:grid;place-items:center;color:#475569;font-size:.78rem;font-weight:700;background:#e2e8f0}.finalize-pdf-modal.finalize-pdf-embedded{position:relative;inset:auto;z-index:1;width:100%;height:100%;min-height:0}.finalize-pdf-stage-wrap{position:relative;overflow:hidden!important;padding:0!important;cursor:default;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.finalize-pdf-stage-wrap::-webkit-scrollbar{width:0;height:0;display:none}.finalize-pdf-stage-wrap.is-panning,.finalize-pdf-stage-wrap.is-panning *{cursor:grabbing!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.fire-setback-point-editor{display:grid;gap:.32rem;max-height:190px;overflow:auto;padding-right:.12rem}.fire-setback-point-editor__row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:.3rem;align-items:end}.fire-setback-point-editor__row>strong{align-self:center;font-size:.62rem;color:#2563eb}.fire-setback-point-editor__row label{gap:.12rem!important}.fire-setback-point-editor__row label>span{font-size:.52rem!important}.fire-setback-point-editor__row input{min-height:25px!important;padding:.25rem .35rem!important;font-size:.62rem!important}.finalize-pdf-stage{will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}.finalize-pdf-canvas,.finalize-pdf-overlay{width:100%;height:100%}.finalize-pdf-body{grid-template-columns:190px minmax(0,1fr) 280px}.finalize-pdf-pages{padding:10px;gap:8px;align-items:stretch}.finalize-pdf-pages__header{display:flex;flex-direction:column;gap:7px;padding-bottom:4px;border-bottom:1px solid #d7dee8}.finalize-pdf-pages__header strong{text-align:left}.finalize-pdf-add-sheet{width:100%;justify-content:center;padding:6px 8px!important}.finalize-pdf-page-item{border:1px solid #cbd5e1;border-radius:7px;background:#fff;flex:0 0 auto;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:stretch;overflow:hidden}.finalize-pdf-page-item.active{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.finalize-pdf-page-item.keyboard-selected{box-shadow:0 0 0 2px #e07a2a8c}.finalize-pdf-page-main{width:100%;min-width:0;border:0!important;border-radius:0!important;background:transparent!important;color:var(--navy)!important;padding:7px 6px!important;display:block;text-align:left}.finalize-pdf-page-position{width:34px!important;height:100%!important;min-height:42px;border:0!important;border-right:1px solid #e2e8f0!important;border-radius:0!important;background:#eef2f6!important;display:grid!important;place-items:center;font-size:11px!important;font-weight:800!important;color:#475569!important;padding:0!important;cursor:grab!important}.finalize-pdf-page-position:active{cursor:grabbing!important}.finalize-pdf-page-item.active .finalize-pdf-page-position{background:var(--navy)!important;color:#fff!important}.finalize-pdf-page-item.keyboard-selected .finalize-pdf-page-position{outline:2px solid var(--amber,#e07a2a);outline-offset:-2px}.finalize-pdf-page-label{display:flex;min-width:0;flex-direction:column;gap:2px}.finalize-pdf-page-label b{font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finalize-pdf-page-label small{font-size:9px;line-height:1.2;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.finalize-pdf-properties__divider{height:1px;background:#e2e8f0;margin:18px 0 14px}.finalize-pdf-sheet-index-note{margin:8px 0 0!important;font-size:11px!important}.finalize-pdf-site-controls{margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0;display:grid;gap:8px}.finalize-pdf-site-controls>strong{font-size:12px;display:block;color:#334155}.finalize-pdf-site-controls p{margin:0!important;font-size:10px!important;line-height:1.4!important;color:#64748b!important}.finalize-pdf-site-adjust-toggle{width:100%;justify-content:center}.finalize-pdf-site-adjust-toggle.active{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}.finalize-pdf-stage-wrap.site-plan-adjust-active{cursor:zoom-in}.finalize-pdf-stage-wrap.is-site-plan-rotating,.finalize-pdf-stage-wrap.is-site-plan-rotating *{cursor:grabbing!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.finalize-pdf-sheet-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#0f172a5c;display:grid;place-items:center;padding:20px}.finalize-pdf-sheet-dialog{width:min(430px,calc(100vw - 40px));background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 20px 50px #0f172a47;padding:18px;color:var(--navy)}.finalize-pdf-sheet-dialog h3{margin:0 0 14px;font-size:18px}.finalize-pdf-sheet-dialog label{display:flex;flex-direction:column;gap:5px;margin-top:11px;font-size:12px;font-weight:700;color:#475569}.finalize-pdf-sheet-dialog input,.finalize-pdf-sheet-dialog select{width:100%;box-sizing:border-box;padding:8px 9px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--navy);font:inherit}.finalize-pdf-sheet-dialog p{font-size:11px;line-height:1.4;color:#64748b;margin:12px 0 0}.finalize-pdf-sheet-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media (max-width:1100px){.finalize-pdf-body{grid-template-columns:150px minmax(0,1fr) 240px}}.msp-check-panel{background:#fff;display:grid;gap:.7rem}.msp-check-panel h4{margin:0;color:var(--navy);font-size:.76rem}.msp-check-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.msp-check-metric{min-width:0;display:grid;gap:.18rem;padding:.6rem .68rem;border:1px solid #dbe3ee;border-radius:9px;background:#f8fafc}.msp-check-metric>span{color:#64748b;font-size:.58rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.msp-check-metric>strong{color:var(--navy);font-size:.72rem;line-height:1.25;overflow-wrap:anywhere}.msp-check-result{min-height:34px;display:flex;align-items:center;gap:.55rem;padding:.55rem .68rem;border:1px solid #dbe3ee;border-radius:9px;font-size:.66rem;font-weight:800}.msp-check-result strong{flex:0 0 auto;font-size:.68rem}.msp-check-result span{min-width:0;color:inherit}.msp-check-result.ok{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}.msp-check-result.fail{color:#dc2626;border-color:#fecaca;background:#fef2f2}.msp-check-result.pending{color:#b45309;border-color:#fde68a;background:#fffbeb}.msp-check-action{color:#dc2626;font-size:.64rem;font-weight:900}.msp-check-note{padding:.5rem .6rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;font-size:.6rem;line-height:1.4}@media (max-width:1050px){.msp-check-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.msp-check-metrics{grid-template-columns:1fr}}.project-load-calc-panel{display:grid;gap:.6rem;background:#fff}.project-load-calc-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.project-load-calc-heading label{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:850;color:#334155}.project-load-calc-heading input{width:auto}.project-load-calc-summary{display:flex;flex-wrap:wrap;gap:.45rem 1rem;color:#475569;font-size:.64rem}.project-load-calc-summary strong{color:var(--navy)}.roof-span-check{display:grid;gap:.3rem;padding:.5rem;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;font-size:.67rem}.roof-span-check>div{display:flex;justify-content:space-between;gap:.7rem}.roof-span-check>div span{font-weight:800;color:#334155}.roof-span-check>div strong{color:#0f172a}.roof-span-check>b{padding-top:.25rem;border-top:1px solid #e2e8f0;text-align:center}.roof-span-check.ok>b{color:#15803d}.roof-span-check.fail>b{color:#dc2626}.roof-span-check.pending>b{color:#b45309}.roof-span-check p{margin:.1rem 0 0;color:#64748b;font-size:.61rem;line-height:1.35}@media (max-width: 900px){.load-calc-modal{width:96vw;height:94vh;max-height:94vh;min-width:0}.load-calc-grid--step1{grid-template-columns:minmax(180px,2fr) 80px 90px minmax(120px,1fr) 90px;min-width:700px}.load-calc-section{overflow:auto}}.load-calc-modal--source{background:var(--cream);border-color:var(--border)}.load-calc-source-scroll{background:#f3f5f6}.load-calc-paper{background:#fff;border-color:var(--border);box-shadow:0 10px 32px #0e17261a;color:var(--navy)}.load-calc-doc-heading h1{color:var(--navy)}.load-calc-doc-heading>p{color:var(--slate)}.load-calc-source-identity label{color:var(--navy)}.load-calc-source-identity input,.load-calc-source-row input,.load-calc-source-box-row input,.load-calc-source-add-modal input,.load-calc-source-add-modal select{border-color:var(--border);background:#fff;color:var(--navy);box-shadow:none}.load-calc-source-identity input:focus,.load-calc-source-row input:focus,.load-calc-source-box-row input:focus,.load-calc-source-add-modal input:focus,.load-calc-source-add-modal select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #00c8e52e}.load-calc-default-status{display:flex;align-items:flex-start;gap:10px;margin:-4px 0 16px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--cyan-soft);color:var(--navy);font-size:.69rem;line-height:1.4}.load-calc-default-status strong{flex:0 0 auto;color:var(--navy);font-size:.64rem;letter-spacing:.035em}.load-calc-default-status span{color:var(--slate)}.load-calc-default-status.custom{background:#fff6ed;border-color:#f3d0b3}.load-calc-default-status.custom strong{color:#a95013}.load-calc-source-section{border-color:var(--border);background:#fff}.load-calc-source-title{background:var(--navy);color:#fff}.load-calc-source-title b{color:var(--amber)}.load-calc-source-head{border-bottom-color:#bfeaf1;background:var(--cyan-soft);color:var(--navy)}.load-calc-source-row{border-bottom-color:#e8edf1;color:var(--navy)}.load-calc-source-row small,.load-calc-source-remove{color:var(--slate)}.load-calc-source-remove:hover{color:var(--amber)}.load-calc-source-add{background:var(--amber);color:var(--navy)}.load-calc-source-add:hover{background:var(--amber-hover)}.load-calc-source-empty{color:var(--slate)}.load-calc-source-total{color:var(--navy);background:#fafaf7;border-top:1px solid var(--border)}.load-calc-source-box-row{border-bottom-color:#e8edf1;color:var(--navy)}.load-calc-source-box-row small{color:var(--slate)}.load-calc-source-box-row.grand{background:var(--cyan-soft);color:var(--navy)}.load-calc-source-note{color:var(--slate)}.load-calc-source-add-modal{border-color:var(--border);background:#fff}.load-calc-source-add-modal h3{color:var(--navy)}.load-calc-source-add-modal p{color:var(--slate)}.load-calc-source-verdict.warn{background:#fff6ed;color:#a95013}.finalize-pdf-dropdown{position:relative;display:inline-flex;align-items:center}.finalize-pdf-dropdown-trigger{display:inline-flex;align-items:center;gap:5px}.finalize-pdf-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:90;min-width:176px;padding:6px;background:#fff;border:1px solid #cbd5e1;border-radius:9px;box-shadow:0 12px 30px #0f172a2e}.finalize-pdf-dropdown-menu button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:#fff;color:var(--navy);padding:8px 9px;border-radius:6px;text-align:left;font-weight:700;cursor:pointer}.finalize-pdf-dropdown-menu button:hover{background:var(--cream)}.finalize-pdf-revcloud-preview{width:28px;height:18px;display:inline-block;flex:0 0 auto;border:2px dotted #475569}.finalize-pdf-revcloud-preview--rectangle{border-radius:5px}.finalize-pdf-revcloud-preview--polygon{clip-path:polygon(18% 0,82% 0,100% 45%,74% 100%,20% 88%,0 42%)}.finalize-pdf-color-dropdown{position:relative}.finalize-pdf-color-trigger{display:inline-flex!important;align-items:center!important;gap:6px!important;padding-left:8px!important;padding-right:7px!important}.finalize-pdf-color-current{width:18px;height:18px;border:1px solid #94a3b8;border-radius:4px;display:inline-block;box-shadow:inset 0 0 0 1px #ffffff73}.finalize-pdf-color-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:100;width:302px;padding:10px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 14px 34px #0f172a38}.finalize-pdf-color-menu--properties{left:auto;right:0}.finalize-pdf-color-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.finalize-pdf-color-grid .finalize-pdf-color-swatch{width:29px;height:24px;border-radius:12px;border:1px solid rgba(15,23,42,.16);box-shadow:none}.finalize-pdf-color-grid .finalize-pdf-color-swatch.active{outline:2px solid var(--accent);outline-offset:1px}.finalize-pdf-color-custom-title{margin:10px 2px 5px;font-size:11px;font-weight:800;letter-spacing:.05em;color:#334155}.finalize-pdf-custom-color--menu{position:relative;width:28px;height:28px;border:1px solid #94a3b8;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:20px;line-height:1;color:#334155;background:#fff}.finalize-pdf-custom-color--menu input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer}.finalize-pdf-color-trigger--properties{width:100%;justify-content:flex-start}.finalize-pdf-color-trigger--properties svg:last-child{margin-left:auto}.finalize-pdf-toolbar__group--right .icon-btn{width:32px;height:32px;min-width:32px;border-radius:7px}.finalize-pdf-toolbar .finalize-pdf-delta-character input[type=text]{width:42px;padding:5px 6px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;text-align:center;font-weight:800;text-transform:uppercase}.permit-pack-finalize-editor-shell{background:#e7edf7;border-radius:12px;display:flex;min-height:0}.permit-pack-page--finalize .finalize-pdf-body{align-items:stretch}.permit-pack-page--finalize .finalize-pdf-stage-wrap{padding:16px 14px 8px!important;background:var(--ui-bg)!important}.permit-pack-page--finalize .finalize-pdf-stage{box-shadow:0 10px 28px #0f172a2e}.permit-pack-page--finalize{display:flex!important;flex-direction:column!important;width:100%;height:100%;min-height:0;overflow:hidden!important}.permit-pack-page--finalize>.permit-pack-finalize-page{flex:1 1 0%!important;height:auto!important;min-height:0!important;display:flex;flex-direction:column;overflow:hidden!important}.permit-pack-page--finalize .permit-pack-finalize-editor-shell{flex:1 1 0%!important;height:auto!important;min-height:0!important;width:100%;overflow:hidden}.permit-pack-page--finalize .finalize-pdf-modal.finalize-pdf-embedded{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0}.permit-pack-page--finalize .finalize-pdf-body{flex:1 1 0%;min-height:0;overflow:hidden}.permit-pack-page--finalize .finalize-pdf-stage-wrap{min-height:0;min-width:0;overflow:hidden!important}.design-page{width:100%;height:100%;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);background:#eef2f7}.top-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,520px) minmax(0,1fr);align-items:center;gap:.45rem .55rem;padding:.45rem .55rem;border-bottom:1px solid var(--border);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40;overflow:visible;min-height:0;height:auto;max-height:none;max-width:100vw;box-sizing:border-box}.top-panel__left,.top-panel__right{display:flex;align-items:center;gap:.38rem;min-width:0;flex-wrap:wrap}.top-panel__left{justify-content:flex-start}.top-panel__right{justify-content:flex-end;overflow:visible;row-gap:.3rem;max-width:100%;min-width:0}.top-panel__middle{text-align:center;min-width:0;justify-self:center;width:100%}.top-panel__project-name{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-panel__project-address{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1320px){.top-panel{grid-template-columns:minmax(0,1fr) minmax(240px,360px) minmax(0,1fr)}}@media (max-width: 1120px){.top-panel{grid-template-columns:1fr}.top-panel__left,.top-panel__right{justify-content:center}.top-panel__middle{order:-1;max-width:100%}}.metric{display:grid;gap:.1rem;padding:.32rem .48rem;border:1px solid var(--border);border-radius:12px;min-width:66px;background:var(--cream);justify-items:center;align-content:center;text-align:center}.metric strong{font-size:.88rem;line-height:1}.metric span{font-size:.66rem;color:var(--muted);line-height:1}.tools-strip{display:flex;align-items:center;justify-content:flex-end;gap:.26rem;padding-left:.3rem;border-left:1px solid var(--border);overflow:visible;white-space:nowrap;flex-wrap:wrap;max-width:min(100%,calc(100vw - 32px))}.canvas-shell{position:relative;min-height:0;background:#e5e7eb}.konva-stage{background:#e2e8f0}.design-page__back{position:fixed;z-index:25;left:18px;bottom:18px}.floating-card{position:absolute;z-index:22;display:grid;gap:.65rem;padding:.8rem;border:1px solid var(--border);border-radius:18px;background:#fffffff0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.floating-card__title{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#374151}.roof-properties-panel{top:18px;left:18px;width:260px;max-height:calc(100% - 36px);box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.roof-properties-panel::-webkit-scrollbar{width:8px}.roof-properties-panel::-webkit-scrollbar-track{background:transparent}.roof-properties-panel::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#64748b73;background-clip:padding-box}.roof-properties-panel::-webkit-scrollbar-thumb:hover{background:#475569b3;background-clip:padding-box}.layer-panel{top:18px;right:18px;width:310px}.layer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.35rem 0;border-bottom:1px solid #f1f5f9;font-size:.88rem}.layer-row:last-child{border-bottom:0}.obstruction-mode-panel,.fire-finish-panel{left:18px;bottom:58px}.map-tool-panel{right:18px;top:18px;width:310px}.file-input-label input[type=file]{padding:.5rem;font-size:.78rem}.canvas-notice{position:absolute;right:18px;bottom:18px;animation:fade-out 1.5s ease forwards}@keyframes fade-out{0%,75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@media (max-width: 1120px){.top-panel__middle{order:-1;flex-basis:100%}.top-panel__left,.top-panel__right{justify-content:center;flex-basis:100%}}.hidden-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.tool-submenu-panel{top:88px;left:52%;transform:translate(-50%)}.solar-mode-panel{width:250px}.tool-submenu-hint{font-size:.72rem;color:var(--slate)}.tool-button-wrap{position:relative;display:inline-flex;align-items:center;overflow:visible}.tool-dropdown-menu{position:absolute;z-index:80;top:calc(100% + 8px);right:0;left:auto;transform:none;min-width:136px;display:grid;gap:.25rem;padding:.35rem;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--navy);font-size:.78rem;font-weight:700;box-shadow:var(--shadow)}.tool-dropdown-menu button{width:100%;border:0;border-radius:9px;background:transparent;color:var(--navy);padding:.42rem .55rem;text-align:left;cursor:pointer}.tool-dropdown-menu button:hover,.tool-dropdown-menu button.active{background:var(--navy);color:#fff}@media (max-width: 760px){.top-panel{padding:.45rem}.metric{min-width:58px;padding:.28rem .4rem}.metric span{font-size:.58rem}.tools-strip{border-left:0;padding-left:0;justify-content:center}.tool-dropdown-menu{left:50%;right:auto;transform:translate(-50%)}}@media (max-width: 920px){.top-panel__left,.top-panel__middle,.top-panel__right{flex:1 1 100%;justify-content:center}.tools-strip{justify-content:center;border-left:0;padding-left:0}}.tools-strip .icon-btn{width:36px;height:36px;min-width:36px}.tools-strip .app-icon{width:27px;height:27px}.tool-dropdown-menu button{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:.5rem}.tool-dropdown-menu__icon{display:grid;place-items:center;width:26px;height:26px}.tool-dropdown-menu__icon .app-icon{width:24px;height:24px}.design-page .top-panel{position:relative;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .35rem;padding:.2rem .38rem;min-height:38px}.design-page .top-panel__left,.design-page .top-panel__right{gap:.22rem;flex-wrap:nowrap}.design-page .top-panel__middle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,38vw);text-align:center;line-height:1.05;pointer-events:none;z-index:1}.design-page .top-panel__project-name{font-size:.78rem;line-height:1.05}.design-page .top-panel__project-address{margin-top:.12rem;font-size:.62rem;line-height:1}.design-page .top-panel>section>.icon-btn,.design-page .draft-tools-wrapper>.icon-btn{width:18px;height:18px;min-width:28px;border-radius:8px}.design-page .top-panel>section>.icon-btn .app-icon,.design-page .draft-tools-wrapper>.icon-btn .app-icon{width:20px;height:20px}.design-page .metric{gap:.02rem;min-width:54px;padding:.2rem .34rem;border-radius:8px}.design-page .metric strong{font-size:.72rem;line-height:1}.design-page .metric span{font-size:.53rem;line-height:1}.design-page .top-panel .icon-btn{padding:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1}.design-page .top-panel .icon-btn__glyph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;line-height:0}.design-page .top-panel .icon-btn .app-icon{display:block;margin:0;flex:0 0 auto}.design-page .top-panel .metric{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.design-page .top-panel .metric strong,.design-page .top-panel .metric span{display:block;width:100%;margin:0;text-align:center}.draft-tools-wrapper{position:relative;display:inline-flex;align-items:center}.draft-tools-drawer{position:absolute;z-index:120;top:calc(100% + 7px);right:0;display:flex;align-items:center;gap:.28rem;width:-moz-max-content;width:max-content;max-width:min(760px,calc(100vw - 18px));padding:.3rem;border:1px solid var(--border);border-radius:11px;background:#fffffff7;box-shadow:0 12px 28px #0f172a2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.draft-tools-drawer__actions{display:flex;align-items:center;gap:.22rem;padding-right:.28rem;border-right:1px solid var(--border)}.draft-tools-drawer .tools-strip{max-width:none;padding-left:0;border-left:0;flex-wrap:nowrap;gap:.2rem}.draft-tools-drawer .icon-btn,.draft-tools-drawer .tools-strip .icon-btn{width:29px;height:29px;min-width:29px;border-radius:8px}.draft-tools-drawer .app-icon,.draft-tools-drawer .tools-strip .app-icon{width:21px;height:21px}.design-page .tool-dropdown-menu{top:calc(100% + 6px);min-width:124px;gap:.14rem;padding:.25rem;border-radius:9px;font-size:.66rem}.design-page .tool-dropdown-menu button{grid-template-columns:21px minmax(0,1fr);gap:.35rem;padding:.3rem .42rem;border-radius:7px}.design-page .tool-dropdown-menu__icon{width:21px;height:21px}.design-page .tool-dropdown-menu__icon .app-icon{width:19px;height:19px}.design-page .floating-card{gap:.42rem;padding:.58rem;border-radius:12px;font-size:.72rem}.design-page .floating-card__title{font-size:.66rem;letter-spacing:.045em}.design-page .roof-properties-panel{top:10px;left:10px;width:238px;max-height:calc(100% - 20px)}.design-page .layer-panel,.design-page .map-tool-panel{top:10px;right:10px;width:270px}.design-page .floating-card label{gap:.18rem;font-size:.7rem}.design-page .floating-card label>span{font-size:.62rem;letter-spacing:.035em}.design-page .floating-card input,.design-page .floating-card select{min-height:29px;padding:.34rem .48rem;border-radius:7px;font-size:.7rem}.design-page .roof-properties-area{margin:-.08rem 0 .12rem;font-size:.64rem}.design-page .roof-properties-panel small,.design-page .tool-submenu-hint{margin-top:.18rem;font-size:.6rem;line-height:1.25}.design-page .layer-row{gap:.42rem;padding:.22rem 0;font-size:.7rem}.design-page .floating-card .icon-btn,.design-page .layer-row .icon-btn,.design-page .mini-actions .icon-btn{width:28px;height:28px;min-width:28px;border-radius:8px}.design-page .canvas-notice{right:10px;bottom:10px}@media (max-width: 860px){.design-page .top-panel{grid-template-columns:minmax(0,1fr) auto}.design-page .top-panel__middle{display:block;width:min(300px,42vw)}.design-page .top-panel__left{overflow-x:auto;scrollbar-width:none}.design-page .top-panel__left::-webkit-scrollbar{display:none}.draft-tools-drawer{position:fixed;top:66px;right:8px;left:8px;width:auto;overflow-x:auto}}.design-page .top-panel__left{justify-content:flex-start;order:0;flex-basis:auto}.design-page .top-panel__middle{order:0;flex-basis:auto}.design-page .top-panel__right{justify-content:flex-end;order:0;flex-basis:auto}.design-page .tool-dropdown-menu--roof{min-width:170px}.design-page .tool-dropdown-menu--wide{min-width:190px;max-width:260px}.design-page .tool-dropdown-menu__text-icon{display:grid;place-items:center;font-size:.58rem;font-weight:900;color:var(--navy)}.design-page .annotation-properties-panel,.design-page .stringing-properties-panel,.design-page .equipment-properties-panel{top:10px;left:10px;width:238px;max-height:calc(100% - 20px);overflow-y:auto;z-index:20}.design-page .draft-property-actions{display:flex;gap:.3rem;flex-wrap:wrap}.design-page .draft-property-actions button{width:auto;min-height:27px;padding:.3rem .48rem;border-radius:7px;border:1px solid #cbd5e1;background:#fff;color:var(--navy);font-size:.63rem;font-weight:750;cursor:pointer}.design-page .draft-property-actions button.danger{color:#b91c1c}.design-page .top-panel{grid-template-columns:minmax(300px,1fr) minmax(260px,430px) minmax(430px,1fr);grid-template-rows:auto;align-items:center}.design-page .top-panel__middle{position:static;left:auto;top:auto;transform:none;width:100%;max-width:430px;grid-column:2;grid-row:1;justify-self:center;pointer-events:none;z-index:1}.design-page .top-panel__right{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:.22rem;min-width:0;overflow-x:auto;overflow-y:visible;scrollbar-width:thin}.design-page .top-panel__right::-webkit-scrollbar{height:4px}.design-page .top-panel__draft-actions{display:flex;align-items:center;gap:.2rem;flex:0 0 auto;padding-right:.3rem;border-right:1px solid var(--border)}.design-page .top-panel__right .tools-strip{display:flex;flex:0 0 auto;flex-wrap:nowrap;max-width:none;padding-left:0;border-left:0;gap:.2rem;overflow:visible}.design-page .top-panel__right .icon-btn,.design-page .top-panel__right .tools-strip .icon-btn{width:29px;height:29px;min-width:29px;border-radius:8px}.design-page .top-panel__right .app-icon,.design-page .top-panel__right .tools-strip .app-icon{width:21px;height:21px}@media (max-width: 1320px){.design-page .top-panel{grid-template-columns:minmax(250px,1fr) minmax(220px,320px) minmax(380px,1fr)}}@media (max-width: 1040px){.design-page .top-panel{grid-template-columns:minmax(220px,1fr) minmax(360px,auto)}.design-page .top-panel__middle{display:none}.design-page .top-panel__right{grid-column:2}}.design-page .top-panel{overflow:visible!important;z-index:120}.design-page .top-panel__right{position:relative;overflow:visible!important;z-index:130}.design-page .top-panel__right .tools-strip,.design-page .top-panel__right .tool-button-wrap{overflow:visible!important}.design-page .tool-dropdown-menu{z-index:2500}@media (max-width: 1320px){.design-page .top-panel__right{flex-wrap:wrap;align-content:center}.design-page .top-panel__right .tools-strip{flex-wrap:wrap;justify-content:flex-end}}.map-calibration-targeting canvas{cursor:crosshair!important}.map-calibration-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:500;display:grid;place-items:center;padding:18px;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.map-calibration-dialog{width:min(980px,calc(100% - 36px));height:min(760px,calc(100% - 36px));max-height:none;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 24px 60px #0f172a47;overflow:hidden}.map-calibration-dialog__header,.map-calibration-dialog__footer,.map-calibration-dialog__actions,.map-calibration-drawing-prompt,.map-calibration-drawing-prompt__actions{display:flex;align-items:center}.map-calibration-dialog__header,.map-calibration-dialog__footer{justify-content:space-between;gap:12px}.map-calibration-dialog__header h3{margin:0;font-size:1rem;color:var(--navy)}.map-calibration-dialog__header p{margin:3px 0 0;color:var(--muted);font-size:.72rem}.map-calibration-dialog__instructions{padding:9px 11px;border-radius:9px;background:#f8fafc;color:#475569;font-size:.75rem;line-height:1.45}.map-calibration-dialog__instructions strong{color:#1d4ed8}.map-calibration-image-toolbar{display:flex;align-items:center;justify-content:center;gap:7px}.map-calibration-image-toolbar .text-btn{min-width:34px;min-height:28px;padding:.25rem .55rem}.map-calibration-image-toolbar span{min-width:50px;text-align:center;font-size:.72rem;font-weight:800;color:#334155}.map-calibration-image-frame{min-height:0;height:100%;display:grid;place-items:center;overflow:hidden;overscroll-behavior:none;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#e2e8f0;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.map-calibration-image-frame.is-panning,.map-calibration-image-frame.is-panning img{cursor:grabbing}.map-calibration-image-wrap{position:relative;display:inline-block;max-width:100%;line-height:0;transform-origin:center center;will-change:transform}.map-calibration-image-wrap img{display:block;width:auto;height:auto;max-width:100%;max-height:58vh;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.map-calibration-image-point{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1.5px solid #ffffff;border-radius:50%;background:#2563eb;color:#fff;box-shadow:0 2px 9px #0f172a61;pointer-events:none}.map-calibration-image-point:before,.map-calibration-image-point:after{content:"";position:absolute;background:#fff;opacity:.9}.map-calibration-image-point:before{width:24px;height:1px}.map-calibration-image-point:after{width:1px;height:24px}.map-calibration-image-point span{position:relative;z-index:1;font-size:.54rem;font-weight:900;line-height:1}.map-calibration-dialog__footer{color:#64748b;font-size:.72rem}.map-calibration-dialog__actions,.map-calibration-drawing-prompt__actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}.map-calibration-dialog button:disabled{opacity:.45;cursor:not-allowed;transform:none}.map-calibration-drawing-prompt{position:absolute;z-index:420;top:12px;left:50%;transform:translate(-50%);width:min(680px,calc(100% - 24px));justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:11px;background:#fffffff7;box-shadow:0 10px 28px #0f172a29;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-calibration-drawing-prompt strong{color:#1e3a8a;font-size:.78rem}.map-calibration-drawing-prompt span{color:#475569;font-size:.7rem}@media (max-width: 700px){.map-calibration-backdrop{padding:8px}.map-calibration-dialog{width:100%;height:100%;max-height:100%;padding:10px}.map-calibration-dialog__header,.map-calibration-dialog__footer,.map-calibration-drawing-prompt{align-items:stretch;flex-direction:column}.map-calibration-dialog__actions,.map-calibration-drawing-prompt__actions{justify-content:flex-start}.map-calibration-image-wrap img{max-height:52vh}}.map-calibration-reference-panel{position:absolute;z-index:410;top:12px;left:18px;width:min(320px,27vw);aspect-ratio:1 / 1;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:8px;border:1px solid #bfdbfe;border-radius:11px;background:#fffffff7;box-shadow:0 10px 28px #0f172a29;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.map-calibration-reference-panel__title{padding:0 2px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#1e3a8a}.map-calibration-reference-panel__image{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;border:1px solid #cbd5e1;border-radius:7px;background:#e2e8f0}.map-calibration-reference-panel__image-wrap{position:relative;display:inline-block;max-width:100%;max-height:100%;line-height:0}.map-calibration-reference-panel__image-wrap img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(min(320px,27vw) - 48px);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.map-calibration-reference-panel__image i{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid #ffffff;border-radius:50%;background:#2563eb;color:#fff;font-size:.52rem;font-style:normal;font-weight:900;line-height:1;box-shadow:0 1px 4px #0f172a59}.map-calibration-drawing-prompt__copy{display:grid;gap:2px;min-width:0;flex:1 1 auto}@media (max-width: 900px){.map-calibration-reference-panel{width:min(250px,34vw)}}@media (max-width: 700px){.map-calibration-reference-panel{top:72px;left:8px;width:180px}}@media (max-width: 900px){.map-calibration-reference-panel__image-wrap img{max-height:calc(min(250px,34vw) - 48px)}}@media (max-width: 700px){.map-calibration-reference-panel__image-wrap img{max-height:132px}}.design-page .top-panel .metric.metric--warning{position:relative;border-color:#dc2626;background:#fef2f2}.design-page .top-panel .metric.metric--warning strong,.design-page .top-panel .metric.metric--warning>span:not(.metric__warning-sign){color:#b91c1c}.design-page .top-panel .metric .metric__warning-sign{position:absolute;top:-7px;right:-6px;width:15px;height:15px;display:grid;place-items:center;color:#dc2626;font-size:12px;line-height:1;background:#fff;border-radius:50%}.site-equipment-stack-mode{position:absolute;left:16px;bottom:72px;z-index:85;display:flex;align-items:center;flex-wrap:wrap;gap:9px;max-width:min(650px,calc(100% - 32px));border:1px solid #53658a;border-radius:10px;padding:10px 12px;background:#0d1730ed;color:#f3f7ff;box-shadow:0 9px 30px #0004;font-size:11px}.site-equipment-stack-mode strong{font-size:12px;letter-spacing:.01em}.site-equipment-stack-mode button{border:1px solid #516ea8;background:#1e40ff;border-radius:7px;padding:7px 11px;color:#fff;font-weight:700;cursor:pointer}.site-equipment-stack-mode button:hover{background:#1534d9}.site-equipment-stack-mode span{color:#c3cfe5}@media (max-width:750px){.site-equipment-stack-mode{bottom:92px;left:10px;right:10px;max-width:none}.site-equipment-stack-mode button{min-height:44px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.electrical-workspace{--sld-background: 0 0% 100%;--sld-foreground: 222.2 84% 4.9%;--sld-card: 0 0% 100%;--sld-card-foreground: 222.2 84% 4.9%;--sld-primary: 222.2 47.4% 11.2%;--sld-primary-foreground: 210 40% 98%;--sld-secondary: 210 40% 96.1%;--sld-secondary-foreground: 222.2 47.4% 11.2%;--sld-muted: 210 40% 96.1%;--sld-muted-foreground: 215.4 16.3% 46.9%;--sld-accent: 210 40% 96.1%;--sld-accent-foreground: 222.2 47.4% 11.2%;--sld-destructive: 0 84.2% 60.2%;--sld-destructive-foreground: 210 40% 98%;--sld-border: 214.3 31.8% 91.4%;--sld-input: 214.3 31.8% 91.4%;--sld-ring: 222.2 84% 4.9%}.electrical-workspace *{border-color:hsl(var(--sld-border))}.electrical-workspace button,.electrical-workspace input,.electrical-workspace select,.electrical-workspace textarea{font:inherit}.electrical-workspace input,.electrical-workspace select,.electrical-workspace textarea{width:auto;border-radius:0;padding:0;background:#fff;color:#111827;outline:none;box-shadow:none}.electrical-workspace label{display:initial;gap:0;font-size:inherit;color:inherit}.electrical-workspace label>span{font-size:inherit;font-weight:inherit;text-transform:none;letter-spacing:normal;color:inherit}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.electrical-workspace .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.electrical-workspace .pointer-events-none{pointer-events:none}.electrical-workspace .visible{visibility:visible}.electrical-workspace .fixed{position:fixed}.electrical-workspace .absolute{position:absolute}.electrical-workspace .relative{position:relative}.electrical-workspace .sticky{position:sticky}.electrical-workspace .inset-0{top:0;right:0;bottom:0;left:0}.electrical-workspace .bottom-1{bottom:.25rem}.electrical-workspace .bottom-4{bottom:1rem}.electrical-workspace .bottom-5{bottom:1.25rem}.electrical-workspace .left-0{left:0}.electrical-workspace .left-3{left:.75rem}.electrical-workspace .left-4{left:1rem}.electrical-workspace .right-3{right:.75rem}.electrical-workspace .right-4{right:1rem}.electrical-workspace .top-0{top:0}.electrical-workspace .top-1\/2{top:50%}.electrical-workspace .top-3{top:.75rem}.electrical-workspace .z-10{z-index:10}.electrical-workspace .z-30{z-index:30}.electrical-workspace .z-40{z-index:40}.electrical-workspace .z-50{z-index:50}.electrical-workspace .my-1{margin-top:.25rem;margin-bottom:.25rem}.electrical-workspace .my-2{margin-top:.5rem;margin-bottom:.5rem}.electrical-workspace .my-3{margin-top:.75rem;margin-bottom:.75rem}.electrical-workspace .mb-0\.5{margin-bottom:.125rem}.electrical-workspace .mb-1{margin-bottom:.25rem}.electrical-workspace .mb-2{margin-bottom:.5rem}.electrical-workspace .mb-3{margin-bottom:.75rem}.electrical-workspace .mb-4{margin-bottom:1rem}.electrical-workspace .ml-auto{margin-left:auto}.electrical-workspace .mt-0\.5{margin-top:.125rem}.electrical-workspace .mt-1{margin-top:.25rem}.electrical-workspace .mt-2{margin-top:.5rem}.electrical-workspace .mt-3{margin-top:.75rem}.electrical-workspace .mt-4{margin-top:1rem}.electrical-workspace .mt-5{margin-top:1.25rem}.electrical-workspace .mt-px{margin-top:1px}.electrical-workspace .block{display:block}.electrical-workspace .flex{display:flex}.electrical-workspace .inline-flex{display:inline-flex}.electrical-workspace .\!table{display:table!important}.electrical-workspace .table{display:table}.electrical-workspace .grid{display:grid}.electrical-workspace .hidden{display:none}.electrical-workspace .\!h-3{height:.75rem!important}.electrical-workspace .\!h-\[42px\]{height:42px!important}.electrical-workspace .h-10{height:2.5rem}.electrical-workspace .h-12{height:3rem}.electrical-workspace .h-16{height:4rem}.electrical-workspace .h-20{height:5rem}.electrical-workspace .h-3\.5{height:.875rem}.electrical-workspace .h-4{height:1rem}.electrical-workspace .h-7{height:1.75rem}.electrical-workspace .h-8{height:2rem}.electrical-workspace .h-9{height:2.25rem}.electrical-workspace .h-\[10px\]{height:10px}.electrical-workspace .h-\[156px\]{height:156px}.electrical-workspace .h-full{height:100%}.electrical-workspace .max-h-\[85vh\]{max-height:85vh}.electrical-workspace .max-h-\[90vh\]{max-height:90vh}.electrical-workspace .min-h-0{min-height:0px}.electrical-workspace .min-h-6{min-height:1.5rem}.electrical-workspace .min-h-\[50px\]{min-height:50px}.electrical-workspace .\!w-3{width:.75rem!important}.electrical-workspace .\!w-\[18px\]{width:18px!important}.electrical-workspace .w-12{width:3rem}.electrical-workspace .w-28{width:7rem}.electrical-workspace .w-3\.5{width:.875rem}.electrical-workspace .w-4{width:1rem}.electrical-workspace .w-44{width:11rem}.electrical-workspace .w-48{width:12rem}.electrical-workspace .w-9{width:2.25rem}.electrical-workspace .w-\[10px\]{width:10px}.electrical-workspace .w-\[112px\]{width:112px}.electrical-workspace .w-\[132px\]{width:132px}.electrical-workspace .w-\[170px\]{width:170px}.electrical-workspace .w-\[72px\]{width:72px}.electrical-workspace .w-\[780px\]{width:780px}.electrical-workspace .w-\[850px\]{width:850px}.electrical-workspace .w-fit{width:-moz-fit-content;width:fit-content}.electrical-workspace .w-full{width:100%}.electrical-workspace .min-w-0{min-width:0px}.electrical-workspace .min-w-\[220px\]{min-width:220px}.electrical-workspace .min-w-\[290px\]{min-width:290px}.electrical-workspace .min-w-\[300px\]{min-width:300px}.electrical-workspace .min-w-\[360px\]{min-width:360px}.electrical-workspace .min-w-\[640px\]{min-width:640px}.electrical-workspace .min-w-full{min-width:100%}.electrical-workspace .max-w-\[220px\]{max-width:220px}.electrical-workspace .flex-1{flex:1 1 0%}.electrical-workspace .shrink-0{flex-shrink:0}.electrical-workspace .border-collapse{border-collapse:collapse}.electrical-workspace .-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.electrical-workspace .-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.electrical-workspace .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.electrical-workspace .cursor-pointer{cursor:pointer}.electrical-workspace .resize{resize:both}.electrical-workspace .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.electrical-workspace .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.electrical-workspace .grid-cols-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.electrical-workspace .flex-col{flex-direction:column}.electrical-workspace .flex-wrap{flex-wrap:wrap}.electrical-workspace .items-start{align-items:flex-start}.electrical-workspace .items-center{align-items:center}.electrical-workspace .justify-end{justify-content:flex-end}.electrical-workspace .justify-center{justify-content:center}.electrical-workspace .justify-between{justify-content:space-between}.electrical-workspace .gap-1{gap:.25rem}.electrical-workspace .gap-1\.5{gap:.375rem}.electrical-workspace .gap-2{gap:.5rem}.electrical-workspace .gap-3{gap:.75rem}.electrical-workspace .gap-4{gap:1rem}.electrical-workspace :is(.space-y-0\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.electrical-workspace :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.electrical-workspace :is(.space-y-1\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.electrical-workspace :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.electrical-workspace .overflow-auto{overflow:auto}.electrical-workspace .overflow-hidden{overflow:hidden}.electrical-workspace .overflow-visible{overflow:visible}.electrical-workspace .overflow-x-auto{overflow-x:auto}.electrical-workspace .overflow-y-auto{overflow-y:auto}.electrical-workspace .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electrical-workspace .whitespace-nowrap{white-space:nowrap}.electrical-workspace .rounded{border-radius:.25rem}.electrical-workspace .rounded-full{border-radius:9999px}.electrical-workspace .rounded-lg{border-radius:.5rem}.electrical-workspace .rounded-md{border-radius:.375rem}.electrical-workspace .rounded-sm{border-radius:.125rem}.electrical-workspace .\!border-0{border-width:0px!important}.electrical-workspace .\!border-2{border-width:2px!important}.electrical-workspace .border{border-width:1px}.electrical-workspace .border-2{border-width:2px}.electrical-workspace .border-b{border-bottom-width:1px}.electrical-workspace .border-l{border-left-width:1px}.electrical-workspace .border-r{border-right-width:1px}.electrical-workspace .border-t{border-top-width:1px}.electrical-workspace .border-dashed{border-style:dashed}.electrical-workspace .\!border-white{--tw-border-opacity: 1 !important;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))!important}.electrical-workspace .border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.electrical-workspace .border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.electrical-workspace .border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.electrical-workspace .border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.electrical-workspace .border-emerald-400{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.electrical-workspace .border-input{border-color:hsl(var(--sld-input))}.electrical-workspace .border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.electrical-workspace .border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.electrical-workspace .border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.electrical-workspace .\!bg-blue-500{--tw-bg-opacity: 1 !important;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))!important}.electrical-workspace .\!bg-emerald-500{--tw-bg-opacity: 1 !important;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))!important}.electrical-workspace .\!bg-emerald-600{--tw-bg-opacity: 1 !important;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))!important}.electrical-workspace .\!bg-orange-500{--tw-bg-opacity: 1 !important;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))!important}.electrical-workspace .\!bg-slate-500{--tw-bg-opacity: 1 !important;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))!important}.electrical-workspace .\!bg-transparent{background-color:transparent!important}.electrical-workspace .bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.electrical-workspace .bg-background{background-color:hsl(var(--sld-background))}.electrical-workspace .bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.electrical-workspace .bg-card{background-color:hsl(var(--sld-card))}.electrical-workspace .bg-destructive{background-color:hsl(var(--sld-destructive))}.electrical-workspace .bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.electrical-workspace .bg-muted{background-color:hsl(var(--sld-muted))}.electrical-workspace .bg-primary{background-color:hsl(var(--sld-primary))}.electrical-workspace .bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.electrical-workspace .bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.electrical-workspace .bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.electrical-workspace .bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.electrical-workspace .bg-slate-950\/40{background-color:#02061766}.electrical-workspace .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.electrical-workspace .bg-white\/95{background-color:#fffffff2}.electrical-workspace .p-1{padding:.25rem}.electrical-workspace .p-1\.5{padding:.375rem}.electrical-workspace .p-2{padding:.5rem}.electrical-workspace .p-3{padding:.75rem}.electrical-workspace .p-4{padding:1rem}.electrical-workspace .p-5{padding:1.25rem}.electrical-workspace .p-6{padding:1.5rem}.electrical-workspace .px-1{padding-left:.25rem;padding-right:.25rem}.electrical-workspace .px-1\.5{padding-left:.375rem;padding-right:.375rem}.electrical-workspace .px-2{padding-left:.5rem;padding-right:.5rem}.electrical-workspace .px-3{padding-left:.75rem;padding-right:.75rem}.electrical-workspace .px-4{padding-left:1rem;padding-right:1rem}.electrical-workspace .px-8{padding-left:2rem;padding-right:2rem}.electrical-workspace .py-0{padding-top:0;padding-bottom:0}.electrical-workspace .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.electrical-workspace .py-1{padding-top:.25rem;padding-bottom:.25rem}.electrical-workspace .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.electrical-workspace .py-2{padding-top:.5rem;padding-bottom:.5rem}.electrical-workspace .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.electrical-workspace .py-px{padding-top:1px;padding-bottom:1px}.electrical-workspace .pb-1{padding-bottom:.25rem}.electrical-workspace .pb-3{padding-bottom:.75rem}.electrical-workspace .pt-3{padding-top:.75rem}.electrical-workspace .pt-4{padding-top:1rem}.electrical-workspace .text-left{text-align:left}.electrical-workspace .text-center{text-align:center}.electrical-workspace .text-right{text-align:right}.electrical-workspace .text-\[10px\]{font-size:10px}.electrical-workspace .text-\[11px\]{font-size:11px}.electrical-workspace .text-\[6px\]{font-size:6px}.electrical-workspace .text-\[7px\]{font-size:7px}.electrical-workspace .text-\[8px\]{font-size:8px}.electrical-workspace .text-\[9px\]{font-size:9px}.electrical-workspace .text-base{font-size:1rem;line-height:1.5rem}.electrical-workspace .text-lg{font-size:1.125rem;line-height:1.75rem}.electrical-workspace .text-sm{font-size:.875rem;line-height:1.25rem}.electrical-workspace .text-xs{font-size:.75rem;line-height:1rem}.electrical-workspace .font-bold{font-weight:700}.electrical-workspace .font-medium{font-weight:500}.electrical-workspace .font-semibold{font-weight:600}.electrical-workspace .uppercase{text-transform:uppercase}.electrical-workspace .italic{font-style:italic}.electrical-workspace .leading-4{line-height:1rem}.electrical-workspace .leading-5{line-height:1.25rem}.electrical-workspace .leading-none{line-height:1}.electrical-workspace .leading-tight{line-height:1.25}.electrical-workspace .tracking-wide{letter-spacing:.025em}.electrical-workspace .tracking-wider{letter-spacing:.05em}.electrical-workspace .text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.electrical-workspace .text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.electrical-workspace .text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.electrical-workspace .text-destructive-foreground{color:hsl(var(--sld-destructive-foreground))}.electrical-workspace .text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.electrical-workspace .text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.electrical-workspace .text-muted-foreground{color:hsl(var(--sld-muted-foreground))}.electrical-workspace .text-primary-foreground{color:hsl(var(--sld-primary-foreground))}.electrical-workspace .text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.electrical-workspace .text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.electrical-workspace .text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.electrical-workspace .text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.electrical-workspace .text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.electrical-workspace .text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.electrical-workspace .text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.electrical-workspace .text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.electrical-workspace .text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.electrical-workspace .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.electrical-workspace .underline{text-decoration-line:underline}.electrical-workspace .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.electrical-workspace .shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.electrical-workspace .shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.electrical-workspace .outline-none{outline:2px solid transparent;outline-offset:2px}.electrical-workspace .outline{outline-style:solid}.electrical-workspace .ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.electrical-workspace .ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.electrical-workspace .ring-emerald-700{--tw-ring-opacity: 1;--tw-ring-color: rgb(4 120 87 / var(--tw-ring-opacity, 1))}.electrical-workspace .ring-slate-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(15 23 42 / var(--tw-ring-opacity, 1))}.electrical-workspace .ring-teal-600{--tw-ring-opacity: 1;--tw-ring-color: rgb(13 148 136 / var(--tw-ring-opacity, 1))}.electrical-workspace .ring-offset-2{--tw-ring-offset-width: 2px}.electrical-workspace .ring-offset-background{--tw-ring-offset-color: hsl(var(--sld-background))}.electrical-workspace .blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.electrical-workspace .drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.electrical-workspace .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.electrical-workspace .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.electrical-workspace .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.electrical-workspace .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.react-flow__attribution{font-size:8px;opacity:.6}.react-flow__edges{z-index:40!important}.react-flow__nodes,.react-flow__node{z-index:10!important}.equipment-node{background:#fff;isolation:isolate;overflow:visible!important}.line-diagram-uppercase .equipment-node,.line-diagram-uppercase .edge-interactive-controls,.line-diagram-uppercase svg text{text-transform:uppercase}@media print{.react-flow__handle,.react-flow__controls,.react-flow__minimap,.react-flow__background,.edge-interactive-controls,.edge-route-point{display:none!important}.equipment-node{box-shadow:none!important;outline:none!important;background:#fff!important}}.electrical-print-diagram .react-flow__controls,.electrical-print-diagram .react-flow__minimap,.electrical-print-diagram .react-flow__background,.electrical-print-diagram .edge-interactive-controls,.electrical-print-diagram .edge-route-point,.electrical-print-diagram .react-flow__attribution{display:none!important}.electrical-print-diagram .react-flow__handle{opacity:1!important;pointer-events:none!important}.electrical-print-diagram .equipment-node{box-shadow:none!important;outline:none!important;background:#fff!important}.electrical-print-diagram .react-flow__edges{z-index:20!important;opacity:1!important}.electrical-print-diagram .react-flow__nodes,.electrical-print-diagram .react-flow__node{z-index:50!important}.electrical-print-diagram .react-flow__edge,.electrical-print-diagram .react-flow__edge-path{opacity:1!important}.electrical-print-diagram .react-flow__edge-path{stroke-width:3.4px!important;stroke-opacity:1!important;visibility:visible!important;shape-rendering:geometricPrecision}.electrical-print-diagram .equipment-node{border:2px solid #111827!important;box-shadow:none!important;outline:none!important;background:#fff!important}.electrical-print-diagram .equipment-node svg line,.electrical-print-diagram .equipment-node svg path,.electrical-print-diagram .equipment-node svg rect,.electrical-print-diagram .equipment-node svg circle,.electrical-print-diagram .equipment-node svg polyline,.electrical-print-diagram .equipment-node svg polygon{vector-effect:non-scaling-stroke}.current-flow-overlay{fill:none;pointer-events:none!important;stroke:#38bdf8;stroke-width:2.6px;stroke-opacity:.82;stroke-dasharray:7 13;stroke-linecap:round;stroke-linejoin:miter;vector-effect:non-scaling-stroke;animation:n3bula-current-flow .9s linear infinite}@keyframes n3bula-current-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-20}}@media (prefers-reduced-motion: reduce){.current-flow-overlay{display:none!important;animation:none!important}}@media print{.current-flow-overlay{display:none!important;animation:none!important}}.electrical-print-diagram .current-flow-overlay{display:none!important;animation:none!important}.electrical-workspace .last\:border-b-0:last-child{border-bottom-width:0px}.electrical-workspace .last\:border-r-0:last-child{border-right-width:0px}.electrical-workspace .hover\:bg-accent:hover{background-color:hsl(var(--sld-accent))}.electrical-workspace .hover\:bg-destructive\/90:hover{background-color:hsl(var(--sld-destructive) / .9)}.electrical-workspace .hover\:bg-primary\/90:hover{background-color:hsl(var(--sld-primary) / .9)}.electrical-workspace .hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.electrical-workspace .hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.electrical-workspace .hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.electrical-workspace .hover\:text-accent-foreground:hover{color:hsl(var(--sld-accent-foreground))}.electrical-workspace .focus\:border-slate-700:focus{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.electrical-workspace .focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.electrical-workspace .focus\:ring-slate-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1))}.electrical-workspace .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.electrical-workspace .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.electrical-workspace .focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--sld-ring))}.electrical-workspace .disabled\:pointer-events-none:disabled{pointer-events:none}.electrical-workspace .disabled\:opacity-50:disabled{opacity:.5}.electrical-workspace .data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--sld-background))}.electrical-workspace .data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--sld-foreground))}.electrical-workspace .data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.electrical-workspace .app-shell{height:100%;display:flex;flex-direction:column;background:#f3f5f8;color:var(--ui-text);font-family:Arial,sans-serif;overflow:hidden}.workspace-header{flex-shrink:0;background:#fff;border-bottom:1px solid #d3dbe5;padding:10px 18px 0}.header-top,.header-bottom,.header-actions{display:flex;align-items:center;gap:10px}.header-top{justify-content:space-between;min-height:40px}.header-project h1{font-size:16px;font-weight:700;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-project p{font-size:11px;color:#63748b}.header-actions{overflow:auto;white-space:nowrap}.header-bottom{justify-content:space-between;margin-top:10px}.header-bottom nav{display:flex;gap:3px;overflow:auto}.header-bottom nav button{white-space:nowrap;padding:11px 15px;font-size:12px;border-bottom:3px solid transparent;font-weight:600;color:#5c6d83}.header-bottom nav button.active{color:var(--ui-text);border-color:var(--ui-primary);background:#f8f4f0}.ground-toggle{display:flex;gap:6px;align-items:center;font-size:11px}.workspace-body{flex:1;min-height:0}.scroll{overflow:auto;min-width:0;min-height:0}.drawing-workspace{display:grid;grid-template-columns:250px minmax(0,1fr) 300px;flex:1;min-height:0}.drawing-workspace.properties-hidden{grid-template-columns:250px minmax(0,1fr)}.drawing-canvas-section{min-width:0;min-height:0;position:relative}.toggle-properties{position:absolute;right:10px;bottom:12px;z-index:20;background:#fff;padding:7px 10px;border:1px solid #ccd6e2;border-radius:4px;font-size:10px}.schedule-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0;flex:1}.workspace-notice{padding:9px 18px;background:#fff2ce;font-size:12px;display:flex;justify-content:space-between;flex-shrink:0}.review-items{background:#fff9eb;font-size:11px;padding:8px 18px;max-height:160px;overflow:auto;flex-shrink:0}.review-items ul{list-style:disc;margin:10px 20px}.project-properties-page{max-width:1180px;margin:auto;padding:28px 30px 60px}.project-page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.project-page-title h2,.schedule-panel h2,.sheet-toolbar h2{font-size:23px;font-weight:700}.project-properties-page p,.schedule-panel>p,.sheet-toolbar p{font-size:12px;color:#697b91;line-height:1.6}.project-properties-page button{font-size:12px;border:1px solid #cbd5e1;border-radius:5px;padding:9px 13px;background:#fff}.project-properties-page .primary-action{background:var(--ui-text);color:#fff;border-color:var(--ui-text);font-weight:600}.project-properties-page button:disabled{opacity:.4}.project-field{display:flex;flex-direction:column;gap:6px;min-width:0}.project-field>span{font-size:12px;font-weight:600}.project-properties-page input:not([type=checkbox]),.project-properties-page select{width:100%;border:1px solid #c7d1df;border-radius:5px;background:#fff;padding:10px;font-size:12px;min-width:0}.project-properties-page input:focus,.project-properties-page select:focus{outline:2px solid #1E40FF70;outline-offset:1px}.project-properties-page input:disabled{background:#edf1f6;color:#566a84}.project-import{display:flex;align-items:flex-end;gap:12px;background:#eaf0f6;border:1px solid #d6dfe9;padding:16px;border-radius:8px;margin-bottom:20px}.project-import .project-field{flex:1}.project-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-tabs{display:flex;gap:5px;margin:28px 0 20px;border-bottom:1px solid #d2dce7;padding-bottom:10px}.project-tabs button.active{background:var(--ui-text);color:#fff}.property-sections{display:grid;gap:18px}.property-sections section{background:#fff;border:1px solid #d5dce6;border-radius:8px;padding:22px}.property-sections h3{font-size:15px;font-weight:700;margin-bottom:15px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.catalog-select{display:grid;gap:6px;min-width:0}.catalog-select input{font-size:11px!important;background:#f8fafc!important}.selection-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 90px;gap:12px;align-items:end;margin:12px 0}.selection-row>p{grid-column:1/-1}.project-properties-page section p{margin-top:13px}.project-error{background:#fee2e2;color:#991b1b!important;padding:12px;border:1px solid #fca5a5;border-radius:4px;margin-bottom:20px}.project-notice{color:#224a73!important;margin-bottom:14px}.survey-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.survey-metrics>span{padding:12px;background:#f2f5f9;font-size:10px;display:grid;gap:8px}.survey-metrics strong{font-size:18px}.project-footer{display:flex;gap:20px;align-items:center;margin-top:24px}.project-footer p{max-width:620px}.schedule-panel{padding:25px}.schedule-rules{font-size:11px;padding:12px;background:#e8f3ed;border:1px solid #bcd5c7;margin:16px 0}.schedule-scroll{overflow:auto;background:#fff;border:1px solid #cbd5e1}.schedule-scroll table{width:100%;min-width:1550px;border-collapse:collapse}.schedule-scroll th,.schedule-scroll td{border:1px solid #adb8c7;padding:10px 8px;font-size:10px;text-align:center}.schedule-scroll th{background:#eaf0f6;font-size:9px;font-weight:700}.schedule-scroll tbody tr{cursor:pointer}.schedule-scroll tbody tr:hover,.schedule-scroll tr.selected{background:#e7f0ff}.pending{background:#fffbeb;color:#92400e}.schedule-warnings>div{margin-top:14px;border-left:3px solid #bf8957;padding:8px 12px;background:#fff;font-size:11px}.schedule-warnings ul{margin:7px 14px;list-style:disc;color:#775433}.empty-state{padding:50px;text-align:center;border:1px dashed #b1bfcd;background:#fff}.line-diagram-page{padding:24px}.sheet-toolbar{margin-bottom:20px}.line-sheet-scroll{padding:8px;background:#dce2e9;overflow:auto;box-shadow:0 2px 6px #0001}.drawing-sheet-wrap>svg{width:100%;height:auto}.project-properties-page input[type=checkbox]{margin-right:6px}.project-grid>label:not(.project-field){font-size:12px;padding-top:18px}@media (max-width:1100px){.drawing-workspace{grid-template-columns:205px minmax(0,1fr) 265px}.header-project{display:none}.workspace-header{padding-inline:10px}.header-bottom nav button{padding-inline:9px}.project-page-title{align-items:flex-start}.project-meta{gap:12px}}@media (max-width:800px){.project-grid,.project-meta{grid-template-columns:1fr}.project-import{flex-direction:column;align-items:stretch}.survey-metrics{grid-template-columns:1fr 1fr}.project-tabs{overflow:auto}.project-tabs button{white-space:nowrap}.project-properties-page{padding:20px}.drawing-workspace{grid-template-columns:180px minmax(0,1fr) 240px}.schedule-workspace{grid-template-columns:minmax(0,1fr) 250px}.header-bottom nav{flex:1}.ground-toggle{display:none}}.load-calc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7100;display:flex;align-items:center;justify-content:center;background:#0f172a94;padding:1vh 1vw}.load-calc-modal{position:relative;width:90vw;height:90vh;min-width:min(760px,98vw);max-width:none;max-height:90vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;box-shadow:0 24px 80px #0f172a52}.load-calc-header,.load-calc-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#fff;border-color:#e2e8f0}.load-calc-header{border-bottom:1px solid #e2e8f0}.load-calc-footer{border-top:1px solid #e2e8f0;font-size:.68rem;color:#64748b}.load-calc-footer>div{display:flex;gap:.5rem}.load-calc-header h2{margin:0;font-size:1rem;color:var(--navy);text-transform:uppercase}.load-calc-header span{display:block;margin-top:.15rem;color:#64748b;font-size:.68rem;font-weight:800}.load-calc-scroll{min-height:0;overflow:auto;padding:1rem;display:grid;gap:.9rem}.load-calc-section{background:#fff;border:1px solid #dbe3ee;border-radius:10px;overflow:hidden}.load-calc-section-title{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;background:#e2e8f0;color:#0f172a;font-size:.72rem}.load-calc-section-title strong{min-width:58px}.load-calc-identity{padding:.7rem;display:grid;grid-template-columns:1fr 2fr;gap:.7rem}.load-calc-identity label,.load-calc-add-modal label{display:grid;gap:.25rem;color:#334155;font-size:.68rem;font-weight:750}.load-calc-identity input,.load-calc-grid input,.load-calc-box-row input,.load-calc-add-modal input,.load-calc-add-modal select{width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:6px;padding:.38rem .45rem;background:#fff;color:#0f172a;font-size:.7rem}.load-calc-grid{display:grid;gap:.45rem;align-items:center;padding:.35rem .55rem;border-top:1px solid #eef2f7;color:#334155;font-size:.68rem}.load-calc-grid--step1{grid-template-columns:minmax(240px,2fr) 100px 110px minmax(160px,1fr) 105px}.load-calc-grid--items{grid-template-columns:minmax(260px,1fr) 150px 34px}.load-calc-grid--head{background:#f8fafc;color:#475569;font-weight:850}.load-calc-grid strong{text-align:right}.load-calc-remove{width:28px;height:28px;border:1px solid #fecaca;border-radius:6px;background:#fff;color:#dc2626;cursor:pointer;font-size:1rem}.load-calc-add{margin:.45rem .55rem}.load-calc-total{display:flex;justify-content:flex-end;gap:2rem;padding:.5rem .65rem;border-top:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;font-size:.72rem}.load-calc-empty,.load-calc-note{padding:.55rem .65rem;color:#64748b;font-size:.66rem}.load-calc-box-row{display:grid;grid-template-columns:minmax(0,1fr) 170px 70px;gap:.6rem;align-items:center;padding:.42rem .65rem;border-top:1px solid #eef2f7;color:#334155;font-size:.68rem}.load-calc-box-row strong{text-align:right;color:#0f172a}.load-calc-box-row small{text-align:right;color:#64748b}.load-calc-box-row--grand{background:#f8fafc;font-weight:850}.load-calc-verdict{margin:.65rem;padding:.55rem .65rem;border-radius:7px;font-size:.7rem;font-weight:800}.load-calc-verdict.ok{background:#f0fdf4;color:#15803d}.load-calc-verdict.warn{background:#fff7ed;color:#c2410c}.load-calc-add-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a73;z-index:2}.load-calc-add-modal{width:min(520px,90%);display:grid;gap:.7rem;padding:1rem;border-radius:12px;border:1px solid #cbd5e1;background:#fff;box-shadow:0 18px 50px #0f172a40}.load-calc-add-modal h3{margin:0;font-size:.9rem;color:var(--navy)}.load-calc-add-actions{display:flex;justify-content:flex-end;gap:.5rem}.load-calc-modal--source{background:var(--ui-bg)}.load-calc-source-scroll{background:var(--ui-bg);padding:14px;display:block}.load-calc-paper{width:min(100%,1040px);min-height:100%;margin:0 auto;padding:22px 28px;background:#fff;border:1px solid #e9d9c0;box-shadow:0 8px 30px #5038181a;color:#33291e;font-family:Arial,Helvetica,sans-serif}.load-calc-doc-heading h1{margin:0;text-align:center;font-size:1.22rem;letter-spacing:.04em;color:#8c4b1d}.load-calc-doc-heading>p{margin:5px 0 14px;text-align:center;font-size:.75rem;color:#856d57}.load-calc-source-identity{display:grid;gap:8px;margin-bottom:16px}.load-calc-source-identity label{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;font-size:.78rem;font-weight:800}.load-calc-source-identity input,.load-calc-source-row input,.load-calc-source-box-row input,.load-calc-source-add-modal input,.load-calc-source-add-modal select{width:100%;min-width:0;border:1px solid #dfcfb9;border-radius:4px;padding:7px 9px;background:#fff;color:#2f291e;font-size:.78rem;box-shadow:inset 0 0 0 1px #ffffff59}.load-calc-source-identity input:focus,.load-calc-source-row input:focus,.load-calc-source-box-row input:focus,.load-calc-source-add-modal input:focus,.load-calc-source-add-modal select:focus{outline:2px solid rgba(224,122,42,.25);outline-offset:1px;border-color:#d69b64}.load-calc-source-section{margin:0 0 12px;overflow:hidden;border:1px solid #e5c99e;border-radius:6px;background:#fffaf1}.load-calc-source-title{display:flex;align-items:center;gap:14px;padding:9px 12px;background:#f4dfbe;color:var(--ui-text);font-size:.79rem}.load-calc-source-title b{white-space:nowrap;font-size:.79rem}.load-calc-source-title span{font-weight:800}.load-calc-source-head{padding:7px 12px;border-bottom:1px solid #edd9b8;background:#fff3df;color:#987553;font-size:.7rem;font-weight:800}.load-calc-source-step1-grid{display:grid;grid-template-columns:minmax(240px,2.35fr) 84px 96px minmax(160px,1.1fr) 90px;gap:10px;align-items:center}.load-calc-source-item-grid{display:grid;grid-template-columns:minmax(260px,1fr) 150px 48px;gap:10px;align-items:center}.load-calc-source-row{min-height:40px;margin:0 12px;padding:5px 0;border-bottom:1px solid var(--ui-border);font-size:.75rem}.load-calc-source-row small{color:var(--ui-muted);font-size:.7rem}.load-calc-source-row input[type=number],.load-calc-source-row .right,.load-calc-source-head .right{text-align:right}.load-calc-source-remove{border:0;background:transparent;color:#a9442e;font-size:1.3rem;font-weight:800;cursor:pointer}.load-calc-source-remove:hover{color:#7c1c0a}.load-calc-source-add-row{padding:8px 12px 0;text-align:right}.load-calc-source-add{border:0;border-radius:5px;padding:7px 13px;background:var(--ui-primary);color:#fff;font-size:.74rem;font-weight:850;cursor:pointer}.load-calc-source-add:hover{background:var(--ui-primary-hover)}.load-calc-source-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;color:var(--ui-muted);font-size:.75rem}.load-calc-source-total{display:flex;justify-content:flex-end;gap:24px;padding:10px 14px;color:var(--ui-text);font-size:.78rem}.load-calc-source-box-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 64px;gap:12px;align-items:center;padding:8px 13px;border-bottom:1px solid var(--ui-border);font-size:.75rem}.load-calc-source-box-row strong{text-align:right}.load-calc-source-box-row small{text-align:right;color:var(--ui-muted)}.load-calc-source-box-row input{text-align:right}.load-calc-source-box-row.grand{background:var(--ui-selected);color:var(--ui-text);font-weight:850}.load-calc-source-verdict{margin:10px 12px 7px;padding:9px;border-radius:4px;font-size:.77rem;font-weight:800}.load-calc-source-verdict.ok{background:#eef9f0;color:#18763c}.load-calc-source-verdict.warn{background:#fbedd8;color:#9a4b1b}.load-calc-source-note{margin:8px 12px 10px;color:var(--ui-muted);font-size:.68rem;line-height:1.5}.load-calc-source-add-modal{border-color:#e3c295;background:#fff}.load-calc-source-add-modal h3{color:var(--ui-text);font-size:1rem}.load-calc-source-add-modal p{margin:0;color:var(--ui-muted);font-size:.72rem}@media (max-width: 900px){.load-calc-paper{padding:16px 14px}.load-calc-source-step1-grid{grid-template-columns:minmax(210px,2fr) 72px 84px minmax(135px,1fr) 82px;min-width:690px}.load-calc-source-item-grid{min-width:620px}.load-calc-source-section{overflow:auto}}.load-calc-backdrop{--navy:var(--ui-text)}.load-calc-backdrop .text-btn{background:var(--ui-text);color:#fff;border-radius:5px;padding:9px 14px;font-size:12px}.load-calc-backdrop .text-btn--ghost{background:#fff;color:var(--ui-text);border:1px solid #cbd5e1}.load-calc-default-status{padding:10px;margin-bottom:15px;background:#eef2f6;font-size:11px}.load-calc-default-status strong{margin-right:10px}.brand-mark{width:34px;height:38px;display:block;flex:0 0 auto}.side-rail__brand-row{grid-template-columns:34px minmax(0,1fr)}.side-rail__brand{font-size:1.1rem}.login-brand-logo{width:76px;height:84px}.user-dropdown{position:relative;min-width:0;z-index:80}.user-dropdown__trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px 6px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--navy);cursor:pointer;text-align:left}.user-dropdown__trigger:hover{background:#f0f2f1;border-color:var(--border)}.user-dropdown__trigger[aria-expanded=true]{background:var(--cyan-soft);border-color:var(--cyan)}.user-dropdown__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px;line-height:1.4;font-weight:700;text-transform:uppercase}.user-dropdown__trigger>svg{flex-shrink:0}.user-avatar{width:30px;height:30px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--navy);color:var(--cream);font-weight:700}.user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.user-dropdown__menu{position:absolute;top:calc(100% + 6px);left:0;width:max(100%,205px);padding:6px;background:#fff;color:var(--navy);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.user-dropdown__menu button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 10px;border:0;border-radius:6px;background:transparent;color:var(--navy);cursor:pointer;text-align:left;font-size:13px}.user-dropdown__menu button:hover,.user-dropdown__menu button:focus-visible{background:var(--cyan-soft)}.account-page{padding:28px}.account-tab{border-bottom:1px solid var(--border);margin:12px 0 24px}.account-tab span{display:inline-block;padding:12px 10px;border-bottom:3px solid var(--cyan);color:var(--navy);font-size:18px;font-weight:700}.account-card{max-width:1050px;padding:28px;border:1px solid var(--border);border-radius:14px;background:#fff}.account-fields{margin:0;padding:0;border:0;display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.8fr);gap:48px}.account-details{display:grid;gap:24px;align-content:start}.account-details .text-btn{justify-self:start}.account-photo{display:flex;align-items:center;flex-direction:column;gap:14px;text-align:center}.account-photo__preview{position:relative}.user-avatar--large{width:160px;height:160px;font-size:64px;border:4px solid var(--cyan);box-shadow:0 8px 20px #0e17261f}.account-photo__edit{position:absolute;right:-5px;top:8px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--amber);background:var(--amber);color:var(--navy);cursor:pointer}.account-photo strong{font-size:20px;overflow-wrap:anywhere}.account-photo__help{font-size:12px;color:var(--slate);line-height:1.5}.account-password{margin-top:28px;max-width:490px;display:grid;gap:16px}.account-secondary-btn{display:inline-flex;align-items:center;justify-self:start;gap:8px;border:1px solid var(--border);border-radius:9px;padding:10px 14px;background:var(--cream);color:var(--navy);cursor:pointer}.account-password-form{display:grid;gap:18px}.account-page button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){.side-rail__brand-row{grid-template-columns:1fr}.user-dropdown__name,.user-dropdown__trigger>svg{display:none}.user-dropdown__trigger{justify-content:center}}@media (max-width: 700px){.account-page{padding:16px}.account-card{padding:18px}.account-fields{grid-template-columns:1fr;gap:28px}.account-photo{grid-row:1}}.login-password-field{position:relative}.login-page--split .login-card .login-password-field input{padding-right:48px}.login-page--split .login-card .login-password-toggle{display:inline-grid!important;place-items:center;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--slate);cursor:pointer}.login-page--split .login-card .login-password-toggle:hover{background:var(--cyan-soft);color:var(--navy)}:root{color-scheme:light;--navy:var(--ui-text);--amber:var(--ui-primary);--amber-hover:var(--ui-primary-hover);--cyan:var(--ui-accent);--cream:var(--ui-bg);--slate:var(--ui-muted);--cyan-soft:var(--ui-selected);--border:var(--ui-border);--muted:var(--ui-muted);--brand:var(--ui-primary);--accent:var(--ui-primary);--panel:#fff;--surface:var(--ui-bg);--text:var(--ui-text);--danger:var(--ui-danger);--success:#16734C;--warning:var(--ui-warning);--shadow:0 16px 48px #060A221a;font-family:Arial,sans-serif;color:var(--text);background:var(--surface)}body{font-size:14px}h1,h2,h3,h4{font-family:Arial,sans-serif;letter-spacing:.02em}h1{font-size:26px;line-height:1.25}h2{font-size:20px}h3{font-size:16px}p{line-height:1.55}button,a,input,select,textarea{font-family:Arial,sans-serif}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}input,select,textarea{border-radius:8px;border-color:#798ba5;min-height:36px;color:var(--text);background:#fff;font-size:14px}input[type=checkbox],input[type=radio]{width:16px;min-height:16px;height:16px;accent-color:var(--ui-primary)}input:focus,select:focus,textarea:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px #1e40ff12}input:user-invalid{border-color:var(--ui-danger)}label>span{color:var(--muted);text-transform:none;font-size:12px;letter-spacing:0;font-weight:700}.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 14px;background:var(--ui-primary);color:#fff;border:1px solid var(--ui-primary);border-radius:8px;font-size:12px;font-weight:700;box-shadow:none}.text-btn:hover:not(:disabled){background:var(--ui-primary-hover);color:#fff}.text-btn--ghost{background:#fff;color:var(--ui-text);border-color:var(--ui-border)}.text-btn--ghost:hover:not(:disabled){background:var(--ui-selected);color:var(--ui-primary);border-color:var(--ui-accent-border)}.text-btn.danger,.text-btn--danger{color:var(--ui-danger);background:#fdecf0;border-color:#eac1cb}.icon-btn{border-radius:8px;color:var(--ui-muted);min-height:36px;width:36px}.icon-btn:hover:not(:disabled){transform:none;background:var(--ui-selected);color:var(--ui-primary)}.icon-btn.active{color:var(--ui-primary);background:var(--ui-selected);border-color:var(--ui-accent-border)}.link-button{color:var(--ui-primary)}.danger{color:var(--ui-danger)}.form-error{color:var(--ui-danger);background:#fdecf0;border:1px solid #EAC1CB;border-radius:8px;padding:12px;font-size:13px}.save-toast{background:var(--ui-text);color:#fff;box-shadow:var(--shadow);border-radius:8px;font-size:13px;z-index:1400}.empty-state{border-radius:12px;color:var(--muted)}.brand-mark{width:36px;height:36px}.brand-wordmark{font-family:Arial,sans-serif;font-weight:900;letter-spacing:.1em;font-size:23px;line-height:1;white-space:nowrap;color:var(--ui-text)}.brand-wordmark__dot{color:var(--ui-primary)}.side-rail__brand-row{display:flex;align-items:center;gap:10px;padding:10px 5px 20px}.side-rail__brand.brand-wordmark{font-size:21px}.enterprise-shell{height:100%;display:grid;grid-template-columns:210px minmax(0,1fr);background:var(--ui-bg);overflow:hidden}.enterprise-shell>.side-rail{height:100%;background:#fff;padding:16px 12px;border-right:1px solid var(--ui-border)}.side-rail__nav-link{height:42px;font-size:13px;color:var(--ui-muted);letter-spacing:0;border-radius:8px}.side-rail__nav-link.active{background:var(--ui-selected);color:var(--ui-primary);border-color:transparent;box-shadow:inset 3px 0 var(--ui-primary)}.side-rail__nav-link.active .side-rail__nav-icon{background:none}.side-rail__nav-link:hover{background:var(--ui-bg)}.side-rail__nav-icon{color:inherit}.shell-right{min-width:0;min-height:0;display:flex;flex-direction:column}.shell-header{height:60px;flex-shrink:0;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--ui-border)}.shell-breadcrumb{display:flex;flex:1;gap:10px;align-items:center;min-width:0;color:#798ba5;font-size:12px}.shell-breadcrumb>button,.shell-breadcrumb>svg{flex-shrink:0}.shell-project-identity{display:flex;align-items:center;gap:12px;min-width:0}.shell-project-address{font-size:12px;color:var(--ui-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.shell-project-address:before{content:"·";margin-right:12px;color:#798ba5}.shell-breadcrumb button{background:none;border:0;padding:4px;color:var(--ui-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.shell-breadcrumb .shell-project-name{color:var(--ui-text);font-weight:700;min-width:0;padding-inline:0}.shell-header__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.save-state{font-size:11px;color:#16734c;white-space:nowrap}.save-state.is-dirty{color:var(--ui-warning)}.command-trigger{display:flex;align-items:center;gap:8px;color:var(--ui-muted);padding:8px 10px;border:1px solid var(--ui-border);background:var(--ui-bg);border-radius:8px;font-size:12px}.command-trigger kbd{font-size:9px;border:1px solid var(--ui-border);border-radius:3px;padding:2px}.shell-icon{display:grid;place-items:center;width:36px;height:36px;background:#fff;color:var(--ui-muted);border:1px solid var(--ui-border);border-radius:8px}.shell-project-nav{display:flex;align-items:center;padding:0 24px;background:#fff;border-bottom:1px solid var(--ui-border);gap:20px;flex-shrink:0}.project-workspaces{display:flex;flex:1;min-width:0;gap:22px;overflow:auto;padding:0;margin:0}.project-workspace{padding:12px 0;font-size:12px;font-weight:700;white-space:nowrap;color:var(--ui-muted);text-decoration:none;border-bottom:3px solid transparent}.project-workspace.active{color:var(--ui-primary);border-bottom-color:var(--ui-primary)}.project-workspace.disabled{color:#798ba5}.shell-content{flex:1;min-height:0;min-width:0;overflow:auto;position:relative;outline:none}.shell-content .app-layout{display:block;height:100%;min-height:0;background:var(--ui-bg)}.shell-content .content-page{background:var(--ui-bg)}.skip-link{position:fixed;left:20px;top:-80px;z-index:2000;background:var(--ui-primary);color:#fff;padding:10px;border-radius:5px}.skip-link:focus{top:8px}.workspace-switcher--tabs{display:none}.enterprise-shell--editor{grid-template-columns:72px minmax(0,1fr)}.enterprise-shell--editor>.side-rail{padding:14px 8px}.enterprise-shell--editor .side-rail__brand-row{padding:5px 8px 18px}.enterprise-shell--editor .side-rail__brand,.enterprise-shell--editor .user-dropdown__name,.enterprise-shell--editor .user-dropdown__trigger>svg,.enterprise-shell--editor .side-rail__nav-link>span:last-child{display:none}.enterprise-shell--editor .side-rail__nav-link{justify-content:center;padding:10px}.enterprise-shell--editor .user-dropdown__trigger{justify-content:center}.enterprise-shell--editor .user-dropdown__menu{left:55px;top:0}.dashboard-project-list-page{padding:32px!important;background:var(--ui-bg)!important}.dashboard-project-list-shell{max-width:1500px;margin:auto;background:transparent!important}.dashboard-project-list-topbar{align-items:flex-start;margin-bottom:24px!important}.dashboard-project-list-topbar h1{font-size:28px!important}.dashboard-project-list-actions{gap:12px!important}.dashboard-create-project,.project-new-design-btn{background:var(--ui-primary)!important;color:#fff!important;border:1px solid var(--ui-primary)!important;border-radius:8px!important;min-height:38px;padding:9px 16px!important;font-weight:700!important}.dashboard-project-search-wrap{border:1px solid #798BA5!important;background:#fff!important;border-radius:8px!important}.dashboard-project-search{font-size:13px!important;min-height:38px}.dashboard-project-rows{display:grid;gap:12px!important}.dashboard-project-row{background:#fff!important;border:1px solid var(--ui-border)!important;border-radius:12px!important;box-shadow:0 2px 4px #060a2203;padding:20px!important}.dashboard-project-row:hover{border-color:var(--ui-accent-border)!important;box-shadow:0 5px 18px #1e40ff08}.dashboard-project-name-link{color:var(--ui-text)!important;font-size:15px!important;font-weight:700!important}.dashboard-project-address strong{font-size:12px!important;color:var(--ui-text)!important}.dashboard-project-address span,.dashboard-project-meta span{font-size:11px!important;color:var(--ui-muted)!important}.dashboard-project-filter-menu{background:#fff!important;border-color:var(--ui-border)!important;box-shadow:var(--shadow);border-radius:10px!important;z-index:70}.dashboard-project-filter-done{background:var(--ui-primary)!important;color:#fff!important}.dashboard-project-filter.is-active,.dashboard-project-filter-count{background:var(--ui-selected)!important;color:var(--ui-primary)!important}.dashboard-list-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ui-muted);margin:20px 0}.dashboard-list-footer>div{display:flex;gap:8px}.stage-badge{display:inline-flex;padding:4px 7px;background:var(--ui-selected);border:1px solid var(--ui-border);border-radius:5px;font-size:10px;color:var(--ui-primary)}.project-details-page{padding:28px 32px!important}.project-design-toolbar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:20px}.project-design-list{display:grid;gap:14px}.project-design-row{border:1px solid var(--ui-border)!important;border-radius:12px!important;background:#fff;padding:20px!important}.project-design-name-link{color:var(--ui-text)!important;font-size:16px!important}.project-design-thumb{border-radius:8px;border:1px solid var(--ui-border)}.project-design-equipment strong,.project-design-meta strong{color:var(--ui-text)!important}.new-project-workspace{height:100%;padding:28px;background:var(--ui-bg)}.new-project-split{height:100%;border:1px solid var(--ui-border);border-radius:14px;overflow:hidden;background:#fff;grid-template-columns:minmax(320px,.8fr) minmax(0,1.5fr)!important}.new-project-pane--form{padding:30px!important;background:#fff}.new-project-pane__header h1{font-size:27px!important}.new-project-field input{border-radius:8px!important;background:#fff!important;min-height:42px!important}.new-project-actions{border-top:1px solid var(--ui-border);padding-top:22px!important}.new-project-help{color:var(--ui-muted);font-size:13px;line-height:1.6;margin:8px 0 25px}.address-status{padding:12px;border-radius:8px;background:var(--ui-selected);color:var(--ui-text);font-size:12px;margin-top:14px}.address-status strong{display:block;margin-bottom:4px}.design-page,.electrical-page,.permit-pack-page{height:100%;min-height:0;background:var(--ui-bg)}.design-page{display:flex;flex-direction:column}.design-page>.canvas-shell{flex:1;min-height:0}.design-page>.recovery-banner{flex:0}.top-panel{background:#fff;border-bottom:1px solid var(--ui-border);padding:10px 16px;gap:14px;grid-template-columns:auto minmax(0,1fr)!important}.top-panel__middle{display:none}.top-panel__left{gap:12px;flex-wrap:wrap}.top-panel__left>.icon-btn:first-child,.top-panel__left>.icon-btn:nth-child(2){display:none}.metric strong{color:var(--ui-text);font-size:15px}.metric span{font-size:10px;color:var(--ui-muted)}.top-panel__right{display:flex;align-items:center;justify-content:flex-end;gap:12px}.tools-panel{gap:5px!important;flex-wrap:wrap}.tool-dropdown-menu{background:#fff;border:1px solid var(--ui-border);border-radius:10px;box-shadow:var(--shadow);padding:6px;z-index:90}.tool-dropdown-menu button{color:var(--ui-text);border-radius:6px}.tool-dropdown-menu button.active,.tool-dropdown-menu button:hover{background:var(--ui-selected);color:var(--ui-primary)}.canvas-shell{background:#e9eff8}.floating-card{border:1px solid var(--ui-border)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 10px 28px #060a2214!important;max-height:calc(100% - 32px);overflow:auto;padding:16px!important}.floating-card__title{font-size:14px!important;color:var(--ui-text);border-bottom:1px solid var(--ui-border);padding-bottom:12px;margin-bottom:14px;letter-spacing:.02em}.floating-card label>span{font-size:11px;text-transform:none}.floating-card input,.floating-card select{min-height:34px;font-size:12px}.roof-properties-panel,.annotation-properties-panel,.equipment-properties-panel,.stringing-properties-panel,.map-tool-panel{right:16px!important;top:16px!important;bottom:auto!important;width:300px!important}.layer-panel{left:16px;top:16px;border-radius:12px!important;background:#fff!important;border-color:var(--ui-border)!important}.map-calibration-dialog{border-radius:14px;border:1px solid var(--ui-border);background:#fff}.map-calibration-dialog__header{border-bottom:1px solid var(--ui-border);color:var(--ui-text)}.canvas-notice{background:var(--ui-text);color:#fff;border-radius:8px}.modal-backdrop,.project-properties-backdrop,.load-calc-backdrop,.finalize-pdf-sheet-dialog-backdrop,.map-calibration-backdrop{background:#060a2266;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:24px;z-index:1200}.modal-card{background:#fff;border:1px solid var(--ui-border);border-radius:16px;box-shadow:0 24px 80px #060a2230;color:var(--ui-text)}.modal-card__header{padding:20px 24px;border-bottom:1px solid var(--ui-border);display:flex;justify-content:space-between;align-items:center;background:#fff}.modal-card__header h2{margin:0;font-size:20px}.modal-card__actions{padding:16px 24px;border-top:1px solid var(--ui-border);background:#fff;display:flex;justify-content:flex-end;gap:10px}.confirm-dialog{max-width:480px;padding:0}.confirm-dialog>p,.confirm-dialog>label{padding:24px;margin:0;font-size:14px}.confirm-dialog .modal-card__header button,.command-dialog .modal-card__header button{border:0;background:transparent;font-size:24px;color:var(--ui-muted)}.command-dialog{width:min(600px,95vw);padding:0;overflow:hidden}.command-dialog h2{display:flex;gap:9px;align-items:center}.command-dialog>input{margin:18px 24px;width:calc(100% - 48px);padding:12px;font-size:15px}.command-dialog>p{padding:14px 24px;color:var(--ui-muted);font-size:11px;margin:0;border-top:1px solid var(--ui-border)}.command-results{display:grid;gap:4px;max-height:390px;overflow:auto;padding:0 16px 16px}.command-results button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;background:#fff;border:0;border-radius:8px;font-size:14px;color:var(--ui-text)}.command-results button>svg:last-child{margin-left:auto}.command-results button:hover{background:var(--ui-selected);color:var(--ui-primary)}.project-properties-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,96vw);height:min(860px,94vh);max-width:none;padding:0;overflow:hidden}.project-properties-layout{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:0}.project-properties-nav{padding:18px 12px;background:var(--ui-bg);border-right:1px solid var(--ui-border);gap:5px}.project-properties-nav button{padding:12px 14px;min-height:42px;border:0!important;border-radius:8px!important;text-align:left;color:var(--ui-muted);background:transparent;font-size:12px;letter-spacing:.02em}.project-properties-nav button.active{background:var(--ui-selected);color:var(--ui-primary);box-shadow:inset 3px 0 var(--ui-primary)}.project-properties-content{padding:24px 28px;background:#fff;overflow:auto}.project-properties-section h3{font-size:17px;letter-spacing:.02em;margin-bottom:22px}.project-props-panel{background:#f8faff;border:1px solid var(--ui-border);border-radius:10px;padding:18px;margin-top:20px}.project-props-panel h4{font-size:13px;color:var(--ui-text)}.project-props-field{gap:7px;margin-bottom:10px}.project-props-field>span{font-size:12px!important;font-weight:700;text-transform:none;color:var(--ui-text)}.project-props-field input,.project-props-field select,.project-props-inverter-row input,.project-props-inverter-row select{font-size:13px!important;min-height:38px!important;border-radius:7px!important;border-color:#798ba5!important;background:#fff}.project-props-subsection__title{font-size:13px;color:var(--ui-text)}.project-props-help,.project-props-note{font-size:12px;color:var(--ui-muted)!important;line-height:1.6}.msp-check-result.ok{background:#e5f6ee;color:#16734c;border-color:#b7ddcb}.msp-check-result.fail{background:#fdecf0;color:var(--ui-danger)}.msp-check-result.pending{background:#fff4de;color:var(--ui-warning)}.project-props-code-source,.project-props-hazard-meta{font-size:11px;color:var(--ui-muted);background:var(--ui-selected);padding:10px;border-radius:6px}.service-preview{display:flex;align-items:center;gap:24px;margin:15px 0;padding:18px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:10px}.service-preview svg{width:150px;height:160px;flex:0 0 auto;color:var(--ui-text)}.service-preview .interconnection-type-vector{width:300px;height:180px}.service-preview>div{font-size:13px;flex:1}.check-field{display:flex!important;gap:9px;align-items:center;margin:14px 0;font-size:13px}.workspace-callout{font-size:12px;line-height:1.6;background:var(--ui-selected);color:var(--ui-text);padding:12px 14px;border-radius:8px;border:1px solid var(--ui-border);margin:12px 0}.circuit-preview{padding:16px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:10px;margin:20px 0}.circuit-preview>strong{font-size:12px}.circuit-preview>div{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.circuit-preview span{display:grid;gap:6px;font-size:10px;background:#fff;border:1px solid var(--ui-border);padding:10px;border-radius:6px;color:var(--ui-muted)}.circuit-preview b{font-size:13px;color:var(--ui-primary)}.circuit-preview p{font-size:12px;color:var(--ui-muted);margin-bottom:0}.recovery-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px;background:#fff4de;color:var(--ui-warning);font-size:12px}.recovery-banner span{flex:1}.recovery-banner button{border:1px solid #D6B677;background:#fff;padding:6px 10px;color:var(--ui-warning);border-radius:6px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;color:#7040cf;margin:0 0 6px}.structural-workspace{padding:28px;overflow:auto}.workspace-page-title h1{font-size:24px;margin-bottom:8px}.workspace-page-title p:not(.eyebrow){font-size:13px;color:var(--ui-muted)}.structural-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px}.structural-roofs{display:grid;align-content:start;gap:10px}.structural-roofs button{display:grid;gap:8px;text-align:left;padding:18px;border:1px solid var(--ui-border);border-radius:10px;background:#fff;color:var(--ui-text)}.structural-roofs button.active{border-color:var(--ui-primary);background:var(--ui-selected)}.structural-roofs button span{font-size:11px;color:var(--ui-muted)}.structural-detail .roof-properties-panel{position:static!important;width:100%!important;max-width:680px;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:none!important}.structural-detail .floating-card__title,.structural-detail .roof-properties-panel>div{grid-column:1/-1}.electrical-workspace{--sld-background:224 100% 98%;--sld-foreground:232 70% 8%;--sld-card:0 0% 100%;--sld-card-foreground:232 70% 8%;--sld-primary:231 100% 56%;--sld-primary-foreground:0 0% 100%;--sld-secondary:224 100% 97%;--sld-secondary-foreground:216 22% 40%;--sld-muted:224 100% 97%;--sld-muted-foreground:216 22% 40%;--sld-accent:224 100% 97%;--sld-accent-foreground:231 100% 56%;--sld-border:215 33% 85%;--sld-input:215 20% 56%;--sld-ring:231 100% 56%;--sld-destructive:347 61% 44%;--sld-destructive-foreground:0 0% 100%}.electrical-page{display:flex;flex-direction:column;overflow:hidden}.electrical-page__body{flex:1;min-height:0}.electrical-workspace .app-shell{background:var(--ui-bg);height:100%;min-height:0}.electrical-project-actions{padding:13px 20px;background:#fff;min-height:70px;border-bottom:1px solid var(--ui-border)}.electrical-project-actions h1{font-size:19px;margin:0}.electrical-project-actions>button:first-of-type{display:none}.electrical-subnav{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 16px;background:#fff;border-bottom:1px solid var(--ui-border);flex-shrink:0;min-height:46px}.electrical-subnav>nav,.electrical-subnav>div{display:flex;gap:6px;align-items:center}.electrical-subnav>nav button{border:0;border-bottom:3px solid transparent;border-radius:0;background:#fff;white-space:nowrap;padding:13px 10px;font-size:12px;color:var(--ui-muted);font-weight:700}.electrical-subnav>nav button.active{border-bottom-color:var(--ui-primary);color:var(--ui-primary)}.electrical-subnav>div button,.electrical-edit-toolbar button{display:inline-flex;gap:6px;align-items:center;justify-content:center;border:1px solid var(--ui-border);background:#fff;border-radius:6px;padding:6px 9px;font-size:11px;color:var(--ui-text);min-height:30px}.electrical-edit-toolbar{display:flex;justify-content:space-between;background:#fff;padding:8px 16px;gap:10px;border-bottom:1px solid var(--ui-border);flex-shrink:0}.electrical-edit-toolbar>div{display:flex;align-items:center;gap:6px}.electrical-edit-toolbar label{font-size:11px;display:flex;gap:8px;align-items:center}.electrical-edit-toolbar select{padding:4px 8px;font-size:11px;min-height:30px;width:auto}.toolbar-divider{height:20px;width:1px;background:var(--ui-border);margin:0 8px}.electrical-workspace .drawing-workspace{grid-template-columns:230px minmax(0,1fr) 300px}.electrical-workspace .drawing-workspace.properties-hidden{grid-template-columns:230px minmax(0,1fr)}.electrical-workspace .drawing-workspace>aside{background:#fff!important;border-color:var(--ui-border)!important;min-height:0}.electrical-workspace .drawing-workspace>aside input,.electrical-workspace .drawing-workspace>aside select{font-size:12px!important;min-height:32px!important;border-color:#798ba5!important;border-radius:6px!important;padding-left:8px!important}.electrical-workspace .drawing-canvas-section{background:#e9eff8}.electrical-workspace .drawing-canvas-section .bg-slate-100{background-color:#e9eff8!important}.electrical-workspace .schedule-workspace.properties-hidden{grid-template-columns:1fr}.electrical-workspace .bg-slate-900{background-color:var(--ui-primary)!important}.electrical-workspace .text-slate-400{color:var(--ui-muted)!important}.electrical-workspace .border-slate-300{border-color:#798ba5!important}.electrical-source-banner{display:flex;gap:14px;align-items:center;background:#fff4de;color:var(--ui-warning);border:0;border-bottom:1px solid #E8D4A8;font-size:12px;padding:12px 20px}.electrical-generation-warnings{background:#fff4de;color:var(--ui-warning);font-size:12px;max-height:140px;overflow:auto;padding:10px 20px}.electrical-generation-warnings ul{padding-left:20px;line-height:1.6}.electrical-workspace .schedule-panel{padding:22px;background:var(--ui-bg)}.electrical-workspace .schedule-panel h2,.electrical-workspace .sheet-toolbar h2{font-size:21px;color:var(--ui-text)}.electrical-workspace .schedule-scroll th{background:var(--ui-selected)}.electrical-workspace .schedule-scroll td{font-size:11px}.electrical-workspace .workspace-notice{background:#fff4de;color:var(--ui-warning);border-bottom:1px solid #E8D4A8}.electrical-workspace .line-sheet-scroll{background:#e9eff8;border-radius:8px}.electrical-workspace .models-workspace{background:var(--ui-bg);color:var(--ui-text)}.electrical-workspace .models-workspace button.active{background:var(--ui-selected);color:var(--ui-primary);border-color:var(--ui-accent-border)}.electrical-print-diagram{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.electrical-print-diagram>svg{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.offscreen-export-surface--electrical-diagram{height:1200px;overflow:visible}.permit-pack-page--finalize{background:var(--ui-bg)}.permit-pack-page .page-header{background:#fff;border-bottom:1px solid var(--ui-border);padding:14px 20px!important}.permit-pack-page .page-header h1{font-size:20px!important}.permit-pack-finalize-loading{background:#fff;color:var(--ui-muted);border-radius:12px;border:1px dashed #798BA5;padding:60px 30px!important;margin:24px;text-align:center}.finalize-pdf-editor{background:var(--ui-bg)!important}.finalize-pdf-toolbar{background:#fff!important;border-color:var(--ui-border)!important;padding:10px!important;gap:8px!important}.finalize-pdf-toolbar .text-btn.active{background:var(--ui-selected);color:var(--ui-primary);border-color:var(--ui-accent-border)}.finalize-pdf-pages{background:#fff!important;border-right:1px solid var(--ui-border)!important;padding:12px!important}.finalize-pdf-pages button{border-radius:8px!important;border-color:var(--ui-border)!important}.finalize-pdf-pages button.active{background:var(--ui-selected)!important;border-color:var(--ui-primary)!important;color:var(--ui-primary)!important}.finalize-pdf-properties{background:#fff!important;border-left:1px solid var(--ui-border)!important;padding:18px!important;font-size:12px}.finalize-pdf-properties__type{color:var(--ui-muted);font-size:11px}.finalize-pdf-stage-wrap{background:var(--ui-bg)!important}.finalize-pdf-sheet-dialog{background:#fff;border-radius:14px;border-color:var(--ui-border)}.finalize-pdf-color-menu{border-color:var(--ui-border);border-radius:10px;background:#fff;box-shadow:var(--shadow)}.signage-project-page{padding:26px!important}.signage-project-layout{gap:22px;grid-template-columns:minmax(0,1fr) 320px}.signage-project-canvas{background:transparent!important;border:0!important;padding:0!important}.signage-generated-grid{gap:16px}.signage-generated-item{background:#fff;border:1px solid var(--ui-border);border-radius:10px;padding:18px;transition:box-shadow .15s}.signage-generated-item.active{border-color:var(--ui-primary);box-shadow:0 0 0 2px #1e40ff1a}.signage-status-panel{background:#fff;border:1px solid var(--ui-border);border-radius:12px;padding:18px;font-size:12px}.signage-status-panel h3{font-size:13px;color:var(--ui-text)}.signage-status-counts>div{background:var(--ui-bg);color:var(--ui-text)}.signage-status-counts>.total{background:var(--ui-selected);color:var(--ui-primary)}.signage-selected-details dt{color:var(--ui-muted);font-size:11px}.signage-selected-details dd{font-size:12px}.signage-manual-add,.signage-context-summary{border-color:var(--ui-border)}.signage-muted,.signage-empty-state{color:var(--ui-muted)}.signage-empty-state{padding:60px 24px;background:#fff;border:1px dashed #798BA5;border-radius:12px}.login-page--split{background:var(--ui-bg);grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr)!important}.login-page__auth{background:#fff!important;padding:48px!important;justify-content:center;gap:30px!important}.login-brand{max-width:390px!important;margin:0 auto!important;width:100%}.login-brand-logo{width:48px!important;height:48px!important}.login-brand-wordmark{font-size:40px;letter-spacing:.13em}.login-brand p{font-size:13px;color:var(--ui-muted);letter-spacing:.04em;margin:12px 0!important}.login-card{width:100%;max-width:390px!important;border:0!important;padding:0!important;box-shadow:none!important;background:#fff!important}.login-card h1{font-size:29px!important;margin-bottom:9px}.login-card p{font-size:13px;color:var(--ui-muted)}.login-page--split .login-card input{min-height:46px;border:1px solid #798BA5;border-radius:8px!important;background:#fff!important;font-size:14px!important}.login-page--split .login-card .text-btn{min-height:46px;background:var(--ui-primary);color:#fff;border-radius:8px;margin-top:14px;box-shadow:0 6px 16px #1e40ff20}.login-page__visual{background:var(--ui-selected)!important;padding:30px;display:flex;align-items:center;justify-content:center;overflow:hidden}.login-art{border-radius:24px;overflow:hidden;border:1px solid var(--ui-border);box-shadow:0 18px 50px #060a2210}.login-art__glow--one{background:#8a5cff12}.login-art__glow--two{background:#3de0ff25}.login-password-toggle{color:var(--ui-muted)!important}.login-password-toggle:hover{background:var(--ui-selected)!important}@media (min-width:1600px){.electrical-workspace .drawing-workspace{grid-template-columns:250px minmax(0,1fr) 340px}.floating-card{width:320px!important}}@media (max-width:1100px){.enterprise-shell{grid-template-columns:72px minmax(0,1fr)}.side-rail__brand.brand-wordmark,.user-dropdown__name,.user-dropdown__trigger>svg,.side-rail__nav-link>span:last-child{display:none}.side-rail__brand-row{padding:5px 0 18px}.side-rail__nav-link{justify-content:center}.shell-header{padding:0 16px}.command-trigger span,.command-trigger kbd{display:none}.shell-project-nav{padding-inline:16px}.electrical-workspace .drawing-workspace{grid-template-columns:185px minmax(0,1fr) 265px}.electrical-workspace .drawing-workspace.properties-hidden{grid-template-columns:185px minmax(0,1fr)}.project-workspaces{gap:18px}.top-panel{display:flex;flex-wrap:wrap}.top-panel__right{justify-content:flex-start}.dashboard-project-row{grid-template-columns:80px minmax(130px,1fr) minmax(160px,1fr) auto!important}.dashboard-project-meta{display:none}.login-page--split{grid-template-columns:1fr 1fr!important}.login-page__auth{padding:30px!important}.signage-project-layout{grid-template-columns:minmax(0,1fr) 275px}}@media (max-width:800px){.save-state{display:none}.shell-header{height:auto;min-height:60px;padding:8px 12px}.shell-breadcrumb{gap:3px}.shell-project-identity{flex:1;flex-direction:column;align-items:flex-start;gap:2px}.shell-breadcrumb .shell-project-name{max-width:100%;padding-block:0}.shell-project-address{max-width:100%;font-size:11px}.shell-project-address:before{content:none}.shell-header__actions{gap:6px}.project-workspaces{gap:18px}.project-properties-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.project-properties-nav{display:flex;flex-direction:row;overflow:auto;border-bottom:1px solid var(--ui-border);padding:6px}.project-properties-nav button{white-space:nowrap;min-height:34px;font-size:11px}.project-properties-content{padding:18px}.modal-backdrop{padding:10px}.dashboard-project-list-page{padding:20px!important}.dashboard-project-list-topbar{flex-direction:column;gap:14px}.dashboard-project-row{grid-template-columns:65px minmax(0,1fr) auto!important}.dashboard-project-address{display:none}.electrical-subnav{flex-wrap:wrap;padding:0 8px}.electrical-subnav>div{padding-bottom:7px}.electrical-subnav>nav{overflow:auto;width:100%}.electrical-project-actions{padding:10px}.electrical-project-actions h1{font-size:16px}.electrical-workspace .drawing-workspace{grid-template-columns:165px minmax(0,1fr);position:relative}.electrical-workspace .drawing-workspace>aside:last-child:not(:first-child){position:absolute;z-index:80;right:0;top:0;bottom:0;width:265px;box-shadow:-8px 0 24px #060a2218}.electrical-workspace .drawing-workspace.properties-hidden{grid-template-columns:165px minmax(0,1fr)}.electrical-edit-toolbar{padding:6px 8px}.electrical-edit-toolbar label{max-width:180px}.electrical-edit-toolbar select{max-width:125px}.new-project-workspace{padding:16px}.new-project-split{grid-template-columns:1fr!important;overflow:auto}.new-project-pane--map{min-height:400px}.login-page--split{grid-template-columns:1fr!important}.login-page__visual{display:none}.login-page__auth{padding:32px!important}.structural-grid{grid-template-columns:1fr}.structural-roofs{display:flex;overflow:auto}.structural-roofs button{min-width:180px}.signage-project-layout{grid-template-columns:1fr}.signage-status-panel{max-height:none}.account-fields{grid-template-columns:1fr}.finalize-pdf-properties{width:240px!important}}.issue-queue{flex-shrink:0;background:#fff;border-top:1px solid var(--ui-border);position:relative;z-index:70}.issue-queue>button{display:flex;gap:8px;align-items:center;width:100%;padding:10px 18px;color:var(--ui-muted);font-size:11px;background:#fff;border:0;text-align:left}.issue-queue>button>span:last-child{margin-left:auto;color:var(--ui-primary)}.issue-dot{width:7px;height:7px;background:var(--ui-warning);border-radius:50%}.issue-dot.error{background:var(--ui-danger)}.issue-queue>section{position:absolute;bottom:100%;right:14px;width:min(520px,90vw);max-height:360px;overflow:auto;border:1px solid var(--ui-border);border-radius:12px 12px 0 0;background:#fff;box-shadow:var(--shadow);padding:18px}.issue-queue>section>p{font-size:12px;color:var(--ui-muted)}.issue-queue>section>button{display:flex;gap:12px;width:100%;padding:12px 0;text-align:left;font-size:11px;border:0;border-top:1px solid var(--ui-border);background:#fff;color:var(--ui-text)}.issue-queue b{color:var(--ui-warning)}.issue-queue .error b{color:var(--ui-danger)}.design-rename-controls{display:flex;gap:6px;align-items:center}.design-rename-controls input{min-width:100px}.design-rename-controls .text-btn{font-size:10px;padding:6px;min-height:30px}.save-error-banner{position:static!important;margin:10px 16px;z-index:auto}.electrical-workspace input[type=checkbox]{width:16px!important;height:16px!important;min-height:16px!important}.electrical-workspace .issue-queue section button{line-height:1.5}.login-card>h2{font-size:24px;margin:0 0 8px}.login-card>p{margin-bottom:26px}.login-card input{padding-left:12px!important}.electrical-workspace [data-drawing-toolbar]{padding:5px;border:1px solid var(--ui-border);border-radius:9px;box-shadow:0 3px 10px #060a220d;gap:4px}.electrical-workspace [data-drawing-toolbar] button{border:1px solid transparent;background:#fff;min-height:30px;min-width:30px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;font-size:11px;color:var(--ui-muted)}.electrical-workspace [data-drawing-toolbar] button:hover{background:var(--ui-selected);color:var(--ui-primary)}.electrical-workspace [data-drawing-toolbar] button.bg-slate-900{color:#fff}.enterprise-shell--editor .side-rail__nav-link{width:42px;margin:auto}.enterprise-shell--editor .side-rail__nav-icon svg{width:20px;height:20px}.project-properties-backdrop{font-family:Arial,sans-serif;color:var(--ui-text)}.project-properties-modal .project-props-combobox__toggle{top:3px;bottom:3px;right:3px;width:28px;min-height:0;padding:0;border:0;border-radius:5px;background:transparent;color:var(--ui-muted);box-shadow:none}.project-properties-modal .project-props-combobox__toggle:hover{background:var(--ui-selected);color:var(--ui-primary)}.project-properties-modal .project-props-combobox>input{padding-right:36px}.project-properties-modal .service-preview>div{min-width:0}.electrical-print-diagram>.line-diagram-page{width:100%}.electrical-print-diagram .line-sheet-scroll{padding:0!important;border:0!important;border-radius:0!important;overflow:visible!important;background:#fff!important}.shell-design-crumb{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-width:0;max-width:220px}.shell-design-crumb>svg{flex-shrink:0}.shell-design-name{color:var(--ui-text);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-design-select{color:var(--ui-text);font:700 12px Arial,sans-serif;border:0;background-color:transparent;border-radius:5px;min-height:30px;padding:4px 22px 4px 4px;width:auto;max-width:192px;overflow:hidden;text-overflow:ellipsis}.shell-design-select:hover{background-color:var(--ui-selected)}.permit-pack-finalize-header{justify-content:flex-end!important}.shell-breadcrumb>.shell-project-identity{flex:0 1 auto}@media (max-width:1100px){.shell-design-crumb{max-width:165px}.shell-design-select{max-width:140px}}@media (max-width:800px){.shell-design-crumb{max-width:140px;gap:4px}.shell-design-select{max-width:118px;font-size:11px}.shell-breadcrumb>.shell-project-identity{flex:1}.shell-design-name{font-size:11px}}.shell-project-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}#workspace-actions{display:flex;align-items:center;gap:8px;margin-left:auto;padding:6px 0}.electrical-subnav{gap:12px;justify-content:space-between;flex-shrink:0}.electrical-subnav .electrical-view-actions{display:flex;align-items:center;gap:6px;padding:6px 0;margin-left:auto}.electrical-view-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 9px;min-height:32px;background:#fff;color:var(--ui-muted);border:1px solid var(--ui-border);border-radius:6px;font-size:12px}.electrical-view-actions button[aria-pressed=true]{background:var(--ui-selected);color:var(--ui-primary);border-color:var(--ui-accent-border)}.electrical-view-actions button:disabled{opacity:.4;cursor:default}.electrical-workspace .drawing-workspace.library-hidden{grid-template-columns:minmax(0,1fr) 310px}.electrical-workspace .drawing-workspace.library-hidden.properties-hidden{grid-template-columns:minmax(0,1fr)}.electrical-workspace .line-diagram-page{padding:10px;max-width:none;width:100%}.electrical-workspace .line-sheet-scroll{padding:0;border:0;border-radius:0}.electrical-workspace .sheet-toolbar{margin:0 0 8px}.load-calc-modal--source{background:var(--ui-bg);color:var(--ui-text);border-color:var(--ui-border);font-family:Arial,sans-serif}.load-calc-modal--source .load-calc-header,.load-calc-modal--source .load-calc-footer{background:#fff;border-color:var(--ui-border)}.load-calc-source-scroll{background:var(--ui-bg)}.load-calc-paper{border-color:#ccd7e6;box-shadow:0 3px 16px #060a2210;color:#060a22}.load-calc-doc-heading h1,.load-calc-header h2,.load-calc-source-add-modal h3{color:var(--ui-text)}.load-calc-source-title{background:var(--ui-selected);color:var(--ui-text);border-bottom:1px solid var(--ui-border)}.load-calc-source-title b{color:var(--ui-primary)}.load-calc-source-head,.load-calc-source-box-row.grand,.load-calc-default-status{background:var(--ui-selected);color:var(--ui-text);border-color:var(--ui-border)}.load-calc-source-total{background:var(--ui-bg);color:var(--ui-text);border-color:var(--ui-border)}.load-calc-source-add{background:var(--ui-primary);color:var(--ui-bg);border-color:var(--ui-primary);border-radius:6px}.load-calc-source-add:hover{background:var(--ui-primary-hover);color:#fff}.load-calc-source-remove:hover{color:#b42318}.load-calc-modal--source input:focus,.load-calc-source-add-modal select:focus{outline:2px solid var(--ui-primary);outline-offset:1px;box-shadow:0 0 0 3px #1e40ff18;border-color:var(--ui-primary)}.load-calc-modal--source .load-calc-source-section,.load-calc-source-add-modal{border-color:var(--ui-border)}.load-calc-default-status.custom{background:#f2eeff;border-color:#d5c8ff}.load-calc-default-status.custom strong{color:#6040ad}@media (min-width:1600px){.electrical-workspace .drawing-workspace.library-hidden{grid-template-columns:minmax(0,1fr) 340px}}@media (max-width:1100px){.electrical-workspace .drawing-workspace.library-hidden{grid-template-columns:minmax(0,1fr) 265px}}@media (max-width:800px){.electrical-workspace .drawing-workspace.library-hidden{grid-template-columns:minmax(0,1fr)}.electrical-workspace .drawing-workspace.library-hidden>aside{position:absolute;z-index:80;right:0;top:0;bottom:0;width:265px;background:#fff;box-shadow:-8px 0 24px #060a2218}.shell-project-nav{gap:0}.electrical-view-actions{flex-wrap:wrap}}.load-calc-modal--source .load-calc-source-section{background:#fff}.load-calc-modal--source .load-calc-doc-heading>p,.load-calc-modal--source .load-calc-source-note{color:var(--ui-muted)}.load-calc-modal--source input,.load-calc-modal--source select{border-color:var(--ui-border);color:var(--ui-text);background:#fff;box-shadow:none}.load-calc-modal--source .load-calc-source-identity label{color:var(--ui-muted)}.load-calc-modal--source .load-calc-footer .text-btn:not(.text-btn--ghost){background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}.load-calc-modal--source .load-calc-footer .text-btn:not(.text-btn--ghost):hover{background:var(--ui-primary-hover)}.load-calc-source-add-modal{color:var(--ui-text)}.permit-pack-finalize-header:not(:has(.permit-pack-saved-finalize-select)){display:none}.finalize-pdf-pages__header .finalize-pdf-add-sheet{background:var(--ui-primary)!important;color:var(--ui-bg)!important;border:1px solid var(--ui-primary)!important;opacity:1}.finalize-pdf-pages__header .finalize-pdf-add-sheet:hover{background:var(--ui-primary-hover)!important;color:#fff!important}.finalize-pdf-pages__header .finalize-pdf-add-sheet:focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}.enterprise-shell .shell-design-crumb .shell-design-name{font-size:12px;font-weight:700;line-height:1.3;color:var(--ui-text)}.enterprise-shell .shell-project-address{text-decoration:none;cursor:pointer;transition:color .14s ease}.enterprise-shell .shell-project-address:hover{color:#65d5ff;text-decoration:underline;text-underline-offset:3px}.enterprise-shell .shell-project-address:focus-visible{outline:2px solid #65d5ff;outline-offset:3px;border-radius:3px}.brand-mark{display:block;width:36px;height:36px;-o-object-fit:contain;object-fit:contain;flex:0 0 36px}.brand-wordmark,.side-rail__brand.brand-wordmark{display:block;width:132px;max-width:100%;height:auto;aspect-ratio:1293 / 220;-o-object-fit:contain;object-fit:contain;flex:0 1 132px}.side-rail__brand-row{display:flex;align-items:center;gap:9px}.login-modern__brand .brand-mark{width:40px;height:40px;flex-basis:40px}.login-modern__brand .brand-wordmark{width:155px;flex-basis:155px}.enterprise-shell--editor .side-rail__brand{display:none}@media (max-width: 420px){.login-modern__brand .brand-wordmark{width:min(155px,55vw);flex-basis:auto}}.engineering-stamp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.engineering-stamp-card{display:grid;align-content:start;gap:12px;padding:16px;border:1px solid var(--ui-border);border-radius:8px;background:#fff;min-width:0}.engineering-stamp-card h4{margin:0}.engineering-stamp-preview{height:160px;display:grid;place-items:center;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:6px;overflow:hidden;color:var(--ui-muted);font-size:12px}.engineering-stamp-preview img{width:100%;height:100%;max-height:160px;-o-object-fit:contain;object-fit:contain;padding:8px;box-sizing:border-box}.engineering-stamp-card input[type=file]{max-width:100%;font-size:11px}.engineering-stamp-filename{color:var(--ui-muted);overflow-wrap:anywhere}.finalize-stamp-controls{display:grid;gap:6px;margin:0 0 10px}.finalize-stamp-controls p{font-size:11px;line-height:1.4;color:var(--ui-muted);margin:0}.finalize-stamp-controls button{font-size:11px;padding:7px 9px;border:1px solid var(--ui-border);border-radius:5px;background:#fff;color:#0e1726}:root{--space:var(--ui-text);--electric:var(--ui-primary);--ion:var(--ui-accent);--nova:var(--ui-accent);--starlight:var(--ui-bg);--space-panel:var(--ui-surface);--space-line:var(--ui-border);--space-muted:#B2BED8;--control-radius:7px;--focus-ring:0 0 0 3px #3DE0FF55}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ion);outline-offset:3px;box-shadow:var(--focus-ring)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--electric);outline-offset:1px}button:disabled{cursor:not-allowed}.sr-only,.site-object-picker>.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.modal-backdrop.confirmation-backdrop{z-index:12000}.icon-btn{min-width:36px;min-height:36px;border-radius:var(--control-radius);transition:background .14s,border-color .14s}.icon-btn.active,.icon-btn[aria-pressed=true]{border-color:var(--ion);box-shadow:inset 0 -2px var(--ion)}.text-btn{min-height:36px;font-size:12px;gap:7px;border-radius:var(--control-radius)}.enterprise-shell{background:var(--ui-bg)}.enterprise-shell .side-rail{background:var(--space);border-color:var(--space-line);color:var(--ui-text)}.enterprise-shell .side-rail__brand,.enterprise-shell .side-rail__subtitle,.enterprise-shell .side-rail a,.enterprise-shell .side-rail__account{color:var(--space-muted)}.enterprise-shell .side-rail a.active{background:#1e40ff29;color:var(--ion);border-color:#3de0ff40}.enterprise-shell .side-rail__brand-wordmark,.enterprise-shell .brand-wordmark{color:var(--ui-text)}.enterprise-shell .shell-header{background:var(--space-panel);color:var(--ui-text);border-color:var(--space-line)}.enterprise-shell .shell-breadcrumb button,.enterprise-shell .shell-icon{color:var(--ui-text)}.enterprise-shell .shell-header .shell-icon{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}.enterprise-shell .shell-project-address,.enterprise-shell .shell-design-name,.enterprise-shell .save-state{color:var(--space-muted)}.enterprise-shell .command-trigger{background:var(--ui-surface);border-color:var(--space-line);color:var(--space-muted)}.enterprise-shell .command-trigger kbd{color:var(--ui-text);border-color:#52617e;background:var(--ui-raised)}.enterprise-shell .shell-project-nav{background:var(--ui-surface);border-color:var(--space-line)}.enterprise-shell .shell-project-nav a{color:var(--space-muted)}.enterprise-shell .shell-project-nav a.active{background:#1e40ff24;color:var(--ion);border-color:var(--ion)}.shell-header__actions>.text-btn{background:var(--electric);border-color:var(--electric);color:#fff;white-space:nowrap}.shell-project-nav .text-btn--ghost{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border)}.electrical-subnav{background:var(--space-panel)!important;border-color:var(--space-line)!important;color:var(--ui-text)}.electrical-subnav nav button{color:var(--space-muted)!important;min-height:38px;background:transparent!important;border:0;border-bottom:3px solid transparent}.electrical-subnav nav button.active{color:var(--ion)!important;border-color:var(--ion)!important;background:#3de0ff0d!important}.electrical-view-actions button{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important;min-height:34px}.electrical-view-actions button[aria-pressed=true]{border-color:#3de0ff88!important}.electrical-workspace .drawing-workspace>aside,.electrical-workspace .schedule-workspace>aside{background:var(--space-panel)!important;color:var(--ui-text);border-color:var(--space-line)!important;font-size:12px}.drawing-workspace>aside :is(.text-slate-400,.text-slate-500,.text-slate-600,.text-muted-foreground),.schedule-workspace>aside :is(.text-slate-400,.text-slate-500,.text-slate-600,.text-muted-foreground){color:var(--space-muted)!important}.drawing-workspace>aside :is(input,select,textarea),.schedule-workspace>aside :is(input,select,textarea){background:var(--ui-surface)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;font-size:12px;min-height:34px}.drawing-workspace>aside :is(button,section,details,[data-parametric-editor]),.schedule-workspace>aside :is(button,section,details,[data-parametric-editor]){border-color:var(--ui-border)!important}.drawing-workspace>aside button,.schedule-workspace>aside button{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:5px;min-height:30px}.drawing-workspace>aside button.bg-white,.drawing-workspace>aside [data-parametric-editor],.schedule-workspace>aside .bg-slate-50{background:var(--ui-surface)!important;color:var(--ui-text)}.drawing-workspace>aside h2,.schedule-workspace>aside h2{font-size:14px;letter-spacing:.05em}.drawing-workspace>aside :is(.text-red-700,.text-red-600),.schedule-workspace>aside :is(.text-red-700,.text-red-600){color:var(--ui-danger)!important}.equipment-template-note{padding:10px 0;color:var(--space-muted);font-size:11px;line-height:1.6}.drawing-workspace>aside :is(.bg-white,.bg-slate-50,.bg-slate-100),.schedule-workspace>aside :is(.bg-white,.bg-slate-50,.bg-slate-100){background:var(--ui-surface)!important;color:var(--ui-text)}.drawing-workspace>aside :is(.text-slate-700,.text-slate-800,.text-slate-900),.schedule-workspace>aside :is(.text-slate-700,.text-slate-800,.text-slate-900){color:var(--ui-text)!important}.drawing-workspace>aside [class*="text-[10px]"],.schedule-workspace>aside [class*="text-[10px]"]{font-size:11px}.drawing-workspace>aside [class*="text-[9px]"],.schedule-workspace>aside [class*="text-[9px]"]{font-size:11px;line-height:1.55}.wire-sizing-state{font-size:10px;letter-spacing:.05em;color:var(--ion);padding:10px 0;line-height:1.6}.wire-sizing-state span{display:block;color:var(--space-muted);letter-spacing:0;font-size:11px}.wire-calculation-trace{font-size:11px;line-height:1.6;border-top:1px solid var(--ui-border);padding-top:12px}.wire-calculation-trace summary{font-weight:700;cursor:pointer;color:var(--ui-text)}.wire-calculation-trace dt{color:var(--ui-muted);margin-top:10px}.wire-calculation-trace dd{margin:2px 0 0;font-variant-numeric:tabular-nums;color:var(--ui-bg)}.wire-calculation-trace p{margin:12px 0 0;color:var(--ui-muted)}.inspector-focus{scroll-margin-top:16px}.source-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#eef4fc;border-bottom:1px solid var(--ui-border);color:#223a62;font-size:12px;line-height:1.45}.source-status__text{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.source-status strong{font-size:11px;letter-spacing:.03em;white-space:nowrap}.source-status--changed{background:#fff5df;border-color:#e9cf97;color:#684600}.source-status--accepted{background:#f0ecff;border-color:#cfc2f2;color:#493378}.source-status button{white-space:nowrap;background:transparent;border:1px solid currentColor;border-radius:6px;padding:5px 10px;min-height:32px;font-size:11px}.source-status__reference{color:inherit;opacity:.85;font-size:11px}.issue-queue>button{min-height:38px;font-size:12px}.issue-queue section>button{min-height:40px;text-align:left}.issue-queue section>button:focus-visible{outline-color:var(--electric)}.issue-queue .issue-dot.info{background:#55719c}.schedule-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.schedule-heading h2{font-size:21px;letter-spacing:.035em}.schedule-heading p{font-size:12px;margin-top:8px;color:#52617a;line-height:1.5}.schedule-density{display:flex;align-items:center;gap:8px;min-height:36px;border:1px solid var(--ui-border);padding:7px 10px;border-radius:7px;background:#fff;white-space:nowrap;font-size:12px}.schedule-scroll table.schedule-table--compact{min-width:760px}.schedule-scroll table.schedule-table--full{min-width:1550px}.schedule-scroll th{position:sticky;top:0;z-index:2;font-size:10px;letter-spacing:.025em}.schedule-scroll td{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-scroll :is(th,td):first-child{position:sticky;left:0;z-index:1;background:var(--ui-bg);min-width:80px;box-shadow:1px 0 var(--ui-border)}.schedule-scroll th:first-child{z-index:3}.schedule-scroll .selected td{background:#e5ecff}.schedule-scroll .run-details{display:flex;gap:6px;align-items:center;justify-content:center;width:100%;min-height:32px;font-size:12px;font-weight:700;color:var(--electric);background:#1e40ff0a;border:1px solid #B8C9ED;border-radius:5px}.schedule-scroll tr:focus-visible{outline:2px solid var(--electric);outline-offset:-3px}.schedule-rules{background:#ebf1fc;border-color:#c8d7ed;color:#29466c;font-size:11px;line-height:1.5}.schedule-warnings{font-size:12px}.drawing-object-picker{display:flex;align-items:center;gap:8px;font-size:12px;min-width:160px;max-width:280px}.drawing-object-picker select{max-width:200px;min-height:32px;padding:4px 8px;font-size:12px}[data-drawing-port]:focus-visible{outline:none;filter:drop-shadow(0 0 3px #1E40FF)}[data-drawing-port]:focus-visible circle{stroke:#1e40ff;stroke-width:2.5}svg[data-electrical-drawing]{font-family:SLD Narrow,Arial Narrow,Arial,sans-serif!important}svg[data-electrical-drawing] :is(g,text,tspan){font-family:inherit!important}.finalize-pdf-status{font-size:12px!important;line-height:1.5}.finalize-sheet-actions{display:flex;gap:4px;margin:10px 0;flex-wrap:nowrap}.finalize-sheet-actions button{min-height:32px;min-width:0;flex:1 1 auto;padding:5px 4px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #AEBBD0;border-radius:6px;font-size:10px;white-space:nowrap;background:#fff;color:#253b5d}.finalize-sheet-actions button svg{width:12px;height:12px;flex-shrink:0}.finalize-sheet-actions button:disabled{opacity:.4}.pdf-export-review{font-size:11px;padding:9px 12px;border-bottom:1px solid var(--ui-border);background:#eef3fc;color:#27426b;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.pdf-export-review.is-mismatch{background:#fff4da;color:#704900;border-color:#e6c57e}.pdf-export-review button{min-height:30px;padding:4px 9px;border:1px solid currentColor;border-radius:5px;font-size:11px}.pdf-export-lock{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;background:#060a224d;display:flex;align-items:center;justify-content:center;cursor:progress}.pdf-export-lock span{background:var(--space);color:var(--ui-text);padding:20px 28px;border:1px solid #3DE0FF66;border-radius:12px;box-shadow:0 12px 45px #0005;font-size:14px}.viewport-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.site-inspector-actions{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--ui-border)}.site-inspector-actions button{min-height:34px;border:1px solid #9FAFCA;border-radius:6px;background:var(--ui-bg);color:#21375b;font-size:12px}.design-scope-note{margin:6px 0 0;font-size:12px;color:#5b6e89;line-height:1.5}.tool-menu-indicator{position:absolute;right:3px;bottom:3px;pointer-events:none;color:var(--ion)}.design-page .top-panel{background:var(--space-panel);color:var(--ui-text);border-color:var(--space-line)}.design-page .tools-strip .icon-btn{background:transparent;color:var(--space-muted);border-color:transparent;width:38px;height:38px}.design-page .tools-strip .icon-btn:hover{background:var(--ui-raised);border-color:#435477;color:var(--ui-text)}.design-page .tools-strip .icon-btn.active{background:#1e40ff3d;color:var(--ion);border-color:#3de0ff66}.design-page .top-panel :is(.top-panel__metric,.top-panel__metrics){color:var(--space-muted)}.site-drafting-layout{display:grid;grid-template-columns:minmax(0,1fr);isolation:isolate}.site-drafting-layout.has-inspector{grid-template-columns:minmax(0,1fr) 300px}.site-canvas-viewport{position:relative;min-width:0;min-height:0;overflow:hidden}.site-inspector-dock{display:none;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:var(--space-panel);border-left:1px solid var(--space-line);color:var(--ui-text);padding:14px;gap:18px;align-content:start}.has-inspector>.site-inspector-dock{display:grid}.design-page .site-inspector-dock>.floating-card{position:static!important;inset:auto!important;width:100%!important;max-height:none!important;min-height:0;overflow:visible;box-shadow:none;border:0!important;border-radius:0;background:transparent!important;color:var(--ui-text)!important;padding:0!important;font-size:12px}.design-page .site-inspector-dock .floating-card__title{font-size:12px;letter-spacing:.06em;color:var(--ui-text);margin-bottom:8px}.design-page .site-inspector-dock label>span{font-size:11px;letter-spacing:0;color:var(--space-muted)}.design-page .site-inspector-dock :is(input,select){min-height:34px;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);font-size:12px;border-radius:6px}.design-page .site-inspector-dock :is(small,.roof-properties-area){font-size:11px;line-height:1.55;color:var(--space-muted)}.design-page .site-inspector-dock .icon-btn{color:var(--space-muted);background:var(--ui-surface);border-color:var(--ui-border)}.site-inspector-dock .site-inspector-actions{border-color:var(--ui-border)}.site-inspector-dock .site-inspector-actions button{background:var(--ui-raised);color:var(--ui-text);border-color:#596c91}.site-inspector-dock .site-inspector-actions button[aria-pressed=true]{border-color:var(--ion);color:var(--ion)}.site-delete-object{font-size:11px;color:var(--ui-danger);text-align:left;min-height:32px;border:1px solid #63465D;border-radius:6px;padding:6px 10px;background:transparent}.catalog-picker{display:grid;gap:5px;min-width:0;align-self:end}.catalog-picker__select{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:6px;align-items:center}.project-properties-modal .catalog-picker__select>button{display:grid;place-items:center;width:36px;height:38px;min-height:38px;padding:0;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:7px;color:#385881}.project-properties-modal .catalog-picker__select>button[aria-expanded=true]{border-color:var(--electric);color:var(--electric);background:#edf1ff}.catalog-picker__search{position:relative;display:flex;align-items:center;color:#607797}.catalog-picker__search svg{position:absolute;left:9px;pointer-events:none}.project-properties-modal .catalog-picker .catalog-picker__search input{padding:6px 8px 6px 28px;min-height:32px!important;border-color:#d7e0ef;background:var(--ui-bg);font-size:11px!important}.catalog-picker__hint{font-size:10px;color:#536b8c;line-height:1.5}.project-props-inverter-row,.project-props-equipment-row{align-items:end}.project-properties-modal .project-props-field{align-content:start;align-self:start}.design-dependency-note{display:block;padding:7px 10px;margin:6px 0 10px;border-left:2px solid var(--ui-accent);background:#f3f0ff;color:#4a4279;font-size:11px;line-height:1.5}.site-north-reset{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;background:var(--ui-surface);border:1px solid #6B80A8;border-radius:6px;color:var(--ui-text);font-size:11px;z-index:2}.site-object-picker{position:absolute;left:16px;top:16px;width:210px;z-index:2}.site-object-picker select{min-height:34px;background:var(--ui-surface);color:var(--ui-text);border-color:#617498;border-radius:6px;font-size:12px;padding:6px 10px;box-shadow:0 2px 12px #0002}@media (max-width:1000px){.site-drafting-layout.has-inspector{grid-template-columns:minmax(0,1fr) 260px}.site-inspector-dock{padding:12px}}.login-modern{height:100%;min-height:560px;display:grid;grid-template-columns:minmax(420px,.88fr) minmax(540px,1.12fr);overflow:auto;background:#fff;color:var(--space)}.login-modern__auth{display:flex;flex-direction:column;padding:42px clamp(36px,5vw,90px) 28px;min-width:0;background:#fff}.login-modern__brand{display:flex;align-items:center;gap:12px}.login-modern__brand>svg:first-child{width:36px;height:36px}.login-modern__brand>svg:last-child{width:140px;height:auto;max-height:30px}.login-modern__form-wrap{width:100%;max-width:386px;margin:auto;padding:60px 0}.login-modern__eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;color:#546683;margin:0 0 16px}.login-modern h1{font-size:38px;line-height:1.15;letter-spacing:-.035em;margin:0 0 14px;font-weight:800}.login-modern__intro{font-size:14px;line-height:1.6;color:#60718b;margin:0 0 36px}.login-modern__form{display:flex;flex-direction:column;gap:10px}.login-modern__form>label{font-size:12px;font-weight:700;letter-spacing:.01em;margin-top:8px}.login-modern__form>input,.login-modern__password{border:1px solid #CCD5E2;border-radius:8px;background:#fbfcff;min-height:48px}.login-modern__form>input{font-size:14px;padding:12px 14px;margin-bottom:10px;color:var(--space)}.login-modern__form input::-moz-placeholder{color:#8390a5}.login-modern__form input::placeholder{color:#8390a5}.login-modern__password{position:relative;display:flex;align-items:center;margin-bottom:8px}.login-modern__password:focus-within{outline:2px solid var(--electric);outline-offset:1px}.login-modern__password input{background:transparent;border:0;box-shadow:none;border-radius:8px;padding:12px 48px 12px 14px;min-height:46px;font-size:14px;color:var(--space);outline:none}.login-modern__password input:focus-visible{outline:none}.login-modern__password button{position:absolute;right:5px;width:38px;height:38px;display:grid;place-items:center;color:#5d6d86;border-radius:5px;background:transparent;border:0}.login-modern__password button:hover{background:#eaf0fa}.login-modern__submit{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--electric);color:#fff;padding:14px 20px;min-height:50px;border:1px solid var(--electric);border-radius:8px;font-size:13px;font-weight:700;box-shadow:0 6px 16px #1e40ff20;margin-top:14px;transition:background .15s,transform .15s}.login-modern__submit:hover{background:var(--ui-primary-hover);transform:translateY(-1px)}.login-modern__submit:disabled{opacity:.65;transform:none}.login-modern__access-note{font-size:11px;line-height:1.6;color:#748198;text-align:center;margin:20px 0 0}.login-modern__footer{display:flex;justify-content:space-between;gap:16px;color:#748198;font-size:9px;letter-spacing:.06em}.login-modern__visual{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:740px;overflow:hidden;padding:42px clamp(36px,4vw,70px) 34px;color:var(--starlight);background:radial-gradient(ellipse at 85% 58%,#222D6B80,transparent 55%),radial-gradient(ellipse at 10% 100%,#442A7380,transparent 60%),#060a22}.login-modern__visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.25;background-image:radial-gradient(#A2B8E8 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(transparent,#0008);mask-image:linear-gradient(transparent,#0008)}.login-modern__visual-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:9px;color:#91a2c5;letter-spacing:.1em}.login-modern__suite-label{display:flex;align-items:center;gap:9px;color:#cad6ef}.login-modern__suite-label>span{width:5px;height:5px;border-radius:50%;background:var(--ion);box-shadow:0 0 12px #3de0ff99}.login-modern__story{margin:50px 0 0;position:relative;z-index:1}.login-modern__story .login-modern__eyebrow{color:#8fa5d0;font-size:9px;margin-bottom:15px}.login-modern__story h2{font-size:clamp(36px,4.1vw,62px);line-height:1.06;font-weight:800;letter-spacing:-.025em;margin:0 0 20px}.login-modern__story h2 span{background:linear-gradient(100deg,#3de0ff,#b899ff);background-clip:text;-webkit-background-clip:text;color:transparent}.login-modern__story>p:last-child{font-size:12px;line-height:1.8;color:#b2bed8;margin:0}.engineering-visual{position:relative;width:100%;max-width:600px;margin:24px auto 32px;padding:0 0 42px}.engineering-visual__orbit{position:absolute;top:0;right:-20%;bottom:0;left:-20%;border:1px solid #4C6DD51A;border-radius:50%;transform:rotate(-22deg)}.engineering-visual__sheet{position:relative;background:linear-gradient(130deg,#172546c9,#0b152fc9);border:1px solid #7C9FE34D;border-radius:12px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 22px 70px #0005;transform:perspective(1000px) rotateY(-7deg) rotateX(4deg) rotate(-3deg);overflow:hidden}.engineering-visual__sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:8px;font-weight:700;letter-spacing:.11em;color:#a3b7df;border-bottom:1px solid #7C9FE326}.engineering-visual__sheet-header>span:first-child{display:flex;gap:7px;align-items:center;color:#d8e4ff}.engineering-visual__sheet-header i{display:block;width:4px;height:4px;background:var(--ion);border-radius:50%}.engineering-visual__sheet>svg{display:block;width:100%;height:auto}.engineering-visual__sheet-footer{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.08em;padding:12px 18px;border-top:1px solid #7C9FE326;color:#92a7ce}.engineering-visual__circuit{position:absolute;width:76%;right:-3%;bottom:8px;border:1px solid #8A88FF66;border-radius:10px;overflow:hidden;background:linear-gradient(120deg,#1c2542f5,#131a36f0);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 36px #0006;transform:rotate(2deg)}.engineering-visual__circuit .engineering-visual__sheet-header{padding:10px 14px;font-size:7px}.engineering-visual__circuit>svg{display:block;width:100%;padding:0 10px}.engineering-visual__caption{position:absolute;bottom:-19px;left:0;color:#899bbc;font-size:8px;letter-spacing:.02em}.login-modern__capabilities{display:flex;gap:24px;padding-top:22px;border-top:1px solid #7C9FE333;color:#becce6;flex-wrap:wrap}.login-modern__capabilities>span{display:flex;align-items:center;gap:8px;font-size:10px}.login-modern__capabilities svg{color:#8cabe4;stroke-width:1.5}.is-spinning{animation:n3-spin 1s linear infinite}@keyframes n3-spin{to{transform:rotate(360deg)}}@media (min-height:1000px){.login-modern__story{margin-top:80px}.engineering-visual{margin-top:45px;margin-bottom:60px}}@media (max-width:1100px){.login-modern{grid-template-columns:minmax(360px,.9fr) minmax(400px,1.1fr)}.login-modern__auth{padding:34px}.login-modern__visual{padding:34px 30px;min-height:700px}.login-modern__visual-top>span:last-child{display:none}.login-modern__story h2{font-size:44px}.login-modern__capabilities{gap:16px}.schedule-heading{flex-wrap:wrap}}@media (max-width:800px){.login-modern{display:flex;flex-direction:column;min-height:100%;height:auto}.login-modern__auth{min-height:100dvh;padding:28px}.login-modern__form-wrap{padding:56px 0}.login-modern__visual,.shell-header .command-trigger span,.shell-header .command-trigger kbd{display:none}.shell-header__actions .text-btn{font-size:11px;padding:6px 8px}.source-status{align-items:flex-start}.source-status__reference{display:none}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.schedule-density,.run-details svg,.source-status,.issue-queue,.pdf-export-review,.finalize-sheet-actions{display:none!important}.schedule-scroll{overflow:visible;border:0}.schedule-scroll table{min-width:0!important;width:100%;color:#000;background:#fff}.schedule-scroll :is(th,td){position:static!important;font-size:8px;background:#fff!important;color:#000!important}.schedule-scroll th{background:#eef1f5!important}.schedule-scroll .run-details{color:#000}.schedule-panel{padding:0}.schedule-warnings>div{-moz-column-break-inside:avoid;break-inside:avoid}.login-modern{height:auto}}.enterprise-shell>.side-rail{position:relative;z-index:220;overflow:visible!important}.enterprise-shell>.side-rail .user-dropdown{position:relative;z-index:225}.enterprise-shell>.side-rail .user-dropdown__menu{z-index:2500;left:calc(100% + 8px);top:0;min-width:210px;max-width:min(78vw,300px);background:#fff;color:#15223b;box-shadow:0 16px 50px #0006}.enterprise-shell>.side-rail .user-dropdown__trigger{color:var(--ui-text)}.enterprise-shell>.side-rail .user-dropdown__name{color:var(--ui-text)!important;opacity:1;font-size:12px;text-transform:none}.enterprise-shell:not(.enterprise-shell--editor)>.side-rail .user-dropdown__name{display:block}.enterprise-shell>.side-rail .user-dropdown__trigger:hover{background:var(--ui-raised)}.enterprise-shell>.side-rail .user-dropdown__trigger[aria-expanded=true]{background:var(--ui-selected);border-color:#5c7bab}.enterprise-shell>.side-rail .user-dropdown__menu button{color:#15223b}.login-modern__visual--photo{background:#101d30;isolation:isolate}.login-modern__hero-photo,.login-modern__photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.login-modern__hero-photo{-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;z-index:-2;filter:saturate(.88)}.login-modern__photo-overlay{z-index:-1;background:linear-gradient(180deg,#050b1cb0,#050d244d 42%,#050c1fd9)}.login-modern__visual--photo:before{display:none}.login-modern__visual--photo .login-modern__story{margin-top:auto;margin-bottom:28px}.login-modern__visual--photo .login-modern__story h2 span{color:#a3f5ff;background:none;-webkit-text-fill-color:#a3f5ff}.login-modern__visual--photo .login-modern__story p:last-child{color:#e1e8f4}.login-modern__hero-select{width:100%;position:relative;margin:0 0 28px;z-index:1}.login-modern__hero-select>p{margin:0 0 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#e5edfc;font-weight:700}.login-modern__hero-options{display:flex;flex-wrap:wrap;gap:10px}.login-modern__hero-options button{display:flex;align-items:center;gap:9px;padding:6px 12px 6px 6px;border:1px solid #dce6f77a;border-radius:9px;color:#f4f8ff;background:#091a34bb;min-height:56px;cursor:pointer;font-size:12px}.login-modern__hero-options button[aria-pressed=true]{background:#163a68;border:2px solid #3de0ff;padding:5px 11px 5px 5px}.login-modern__hero-option-preview{display:block;width:56px;height:40px;border-radius:5px;background-size:cover;background-position:center;background-color:#233d5e}.login-modern__capabilities{background:#09162977;border-radius:8px;padding:13px 10px;color:#fff}.site-north-reset{display:none!important}.site-drafting-layout .konva-stage{touch-action:none}@media (hover:none) and (pointer:coarse){button,.text-btn,.icon-btn,select,.project-workspace{min-height:44px}.shell-header__actions{gap:5px}.shell-header .shell-icon,.shell-header .command-trigger{min-width:44px;min-height:44px}.project-workspaces{scrollbar-width:none;gap:18px;-webkit-overflow-scrolling:touch}.electrical-workspace [data-drawing-toolbar]{max-width:calc(100% - 20px);max-height:124px;overflow-x:auto;flex-wrap:nowrap;touch-action:pan-x;overscroll-behavior-x:contain}.electrical-workspace [data-drawing-toolbar] button{min-width:44px;min-height:44px;flex-shrink:0}.electrical-workspace .drawing-object-picker{flex:0 0 auto}.site-object-picker{left:8px;top:8px;width:min(210px,calc(100% - 25px))}.site-object-picker select{min-height:44px}.site-drafting-layout.has-inspector{grid-template-columns:minmax(0,1fr)!important}.site-inspector-dock{position:absolute;right:0;top:0;bottom:0;z-index:90;width:min(84vw,360px);max-height:100%;box-shadow:-15px 0 35px #0005;padding:14px!important}.site-drafting-layout .site-canvas-viewport{width:100%;height:100%}.finalize-pdf-embedded{overflow:hidden}.finalize-pdf-toolbar{overflow-x:auto;overscroll-behavior-x:contain;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch;min-height:58px}.finalize-pdf-toolbar__group{flex-shrink:0}.finalize-pdf-toolbar button{min-height:44px;white-space:nowrap}.finalize-pdf-body{display:grid;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr);position:relative}.finalize-pdf-pages{grid-row:1;grid-column:1;display:flex;flex-direction:row;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;max-width:100%;min-height:66px;padding:6px!important;scrollbar-width:thin}.finalize-pdf-pages__header{flex-shrink:0}.finalize-pdf-page-item{min-width:100px;flex-shrink:0}.finalize-pdf-stage-wrap{grid-row:2;grid-column:1;min-width:0;padding:12px!important;touch-action:pan-x pan-y}.finalize-pdf-properties{display:none;position:absolute;grid-column:1;grid-row:2;right:0;top:0;bottom:0;z-index:90;overflow:auto;width:min(85vw,340px);box-shadow:-14px 0 35px #0004}.finalize-pdf-embedded.mobile-inspector-open .finalize-pdf-properties{display:block}}@media (max-width:800px){.login-modern__visual--photo{display:flex;min-height:480px;padding:24px!important}.login-modern__auth{min-height:initial}.login-modern__form-wrap{padding:44px 0}.login-modern__visual--photo .login-modern__story{margin-top:32px}.login-modern__visual--photo .login-modern__story h2{font-size:35px}.login-modern__hero-options{gap:7px}.login-modern__hero-options button{font-size:11px;padding:4px 7px}.login-modern__hero-option-preview{width:40px;height:34px}.enterprise-shell--editor>.side-rail .user-dropdown__menu{left:calc(100% + 5px);top:0}}.mobile-site-touch-controls,.mobile-electrical-touch-btn,.mobile-permit-touch-btn{display:none!important}@media (hover:none) and (pointer:coarse){.mobile-site-touch-controls{display:flex!important;align-items:center;gap:4px;position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:22;padding:5px;background:#0c1731ed;border:1px solid #577199;border-radius:12px;box-shadow:0 6px 20px #0006;white-space:nowrap;max-width:calc(100% - 10px)}.mobile-site-touch-controls button{min-height:44px;min-width:40px;padding:5px 10px;border-radius:8px;color:#eaf2fc;background:#1a2f51;border:1px solid #536e95;cursor:pointer;font-size:12px}.mobile-site-touch-controls button[aria-pressed=true]{border-color:var(--ui-accent);background:var(--ui-primary);color:#fff}.mobile-electrical-touch-btn,.mobile-permit-touch-btn{display:inline-flex!important;gap:5px;align-items:center}.site-canvas-viewport,.electrical-workspace [data-drawing-viewport]{touch-action:none}.electrical-workspace [data-drawing-toolbar] .mobile-electrical-touch-btn[aria-pressed=true]{background:var(--ui-primary);color:#fff}.finalize-pdf-stage-wrap{touch-action:none!important}}@media (max-width:1100px){.enterprise-shell:not(.enterprise-shell--editor)>.side-rail .user-dropdown__name{display:none}}.workspace-loading-page{width:100%;height:100%;min-height:0;background:var(--ui-bg)}.design-page .top-panel{min-height:44px;box-sizing:border-box;padding:3px 10px;background:var(--space-panel);border-bottom:1px solid var(--space-line)}.electrical-page,.electrical-page__body,.electrical-workspace .app-shell{min-width:0}.electrical-page__body{display:flex;flex-direction:column;overflow:hidden}.electrical-subnav{min-height:44px;height:44px;box-sizing:border-box;padding:0 10px!important;flex-wrap:nowrap;overflow:visible}.electrical-subnav>nav,.electrical-subnav>.electrical-view-actions{height:100%;min-height:0;align-items:center}.electrical-subnav>nav{min-width:0;white-space:nowrap}.electrical-subnav>nav button{min-height:44px!important;height:44px;box-sizing:border-box;padding:0 12px!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.electrical-subnav .electrical-view-actions{padding:0!important;flex-shrink:0;max-width:58%;min-width:0}.electrical-view-actions button{min-height:32px!important;height:32px;white-space:nowrap;padding:4px 9px!important}.electrical-workspace .app-shell>.source-status,.electrical-workspace .app-shell>.electrical-generation-warnings,.electrical-workspace .app-shell>.save-error-banner,.electrical-workspace .app-shell>.recovery-banner,.electrical-workspace .app-shell>.workspace-notice{flex:0 0 auto;max-width:100%;min-width:0;box-sizing:border-box;overflow-wrap:anywhere}.electrical-workspace .app-shell>.save-error-banner{margin:0!important;padding:10px 18px!important;display:block;border-radius:0!important;border-width:0 0 1px!important;white-space:normal!important;text-overflow:clip!important}.electrical-workspace .app-shell>.workspace-notice{padding:10px 18px;gap:12px;align-items:flex-start;line-height:1.4}.electrical-workspace .app-shell>.workspace-notice span{min-width:0;overflow-wrap:anywhere;white-space:normal}.electrical-workspace .app-shell>.workspace-notice button{flex-shrink:0}.permit-pack-page--finalize .permit-pack-finalize-page{padding:0!important;gap:0!important}.permit-pack-page--finalize .permit-pack-finalize-editor-shell{border:0!important;border-radius:0!important;min-width:0}.permit-pack-page--finalize .finalize-pdf-toolbar{background:var(--space-panel)!important;color:var(--ui-text)!important;border:0!important;border-bottom:1px solid var(--space-line)!important;box-shadow:none!important;box-sizing:border-box;min-height:44px!important;height:44px;flex:0 0 44px;padding:3px 10px!important;gap:7px!important;flex-wrap:nowrap!important}.permit-pack-page--finalize .finalize-pdf-toolbar__group{gap:5px;flex-wrap:nowrap;flex-shrink:0}.permit-pack-page--finalize .finalize-pdf-toolbar__group--settings{margin-left:auto}.permit-pack-page--finalize .finalize-pdf-toolbar__group--right{margin-left:3px}.permit-pack-page--finalize .finalize-pdf-toolbar label{color:var(--space-muted);font-size:11px}.permit-pack-page--finalize .finalize-pdf-toolbar button.text-btn{min-height:32px;height:32px;box-sizing:border-box;padding:5px 10px;background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border);white-space:nowrap;font-size:11px}.permit-pack-page--finalize .finalize-pdf-toolbar button.text-btn.active,.permit-pack-page--finalize .finalize-pdf-toolbar button.text-btn[aria-pressed=true]{color:var(--ion);background:var(--ui-selected);border-color:var(--ion)}.permit-pack-page--finalize .finalize-pdf-toolbar__group--right>.text-btn:last-child{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}.permit-pack-page--finalize .finalize-pdf-toolbar .icon-btn{width:32px;min-width:32px;height:32px;min-height:32px;border-color:var(--ui-border);color:var(--ui-text);background:var(--ui-surface)}.permit-pack-page--finalize .finalize-pdf-toolbar .icon-btn:disabled{opacity:.45}.permit-pack-page--finalize .finalize-pdf-toolbar input[type=number],.permit-pack-page--finalize .finalize-pdf-toolbar .finalize-pdf-delta-character input[type=text]{min-height:30px;height:30px;background:#fff;color:#111f38;border-color:#7282a3}@media (max-width:1350px){.permit-pack-page--finalize .finalize-pdf-toolbar{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.permit-pack-page--finalize .finalize-pdf-toolbar__group--settings{margin-left:0}}@media (max-width:800px){.electrical-subnav{height:auto;min-height:44px;overflow-x:auto;flex-wrap:nowrap!important;gap:8px;overscroll-behavior-x:contain}.electrical-subnav>nav{width:auto!important;overflow:visible;flex:0 0 auto}.electrical-subnav .electrical-view-actions{width:auto;max-width:none;flex:0 0 auto}.electrical-subnav>div{padding:0!important}}@media (hover:none) and (pointer:coarse){.electrical-subnav>nav button{min-height:44px!important}.electrical-view-actions button{height:44px;min-height:44px!important}.permit-pack-page--finalize .finalize-pdf-toolbar{height:50px;min-height:50px!important;flex-basis:50px}.permit-pack-page--finalize .finalize-pdf-toolbar button.text-btn,.permit-pack-page--finalize .finalize-pdf-toolbar .icon-btn{height:44px;min-height:44px}}.login-modern__visual--photo{justify-content:space-between;align-items:flex-start;padding:40px clamp(34px,4vw,68px) 34px!important}.login-modern__visual--photo .login-modern__visual-top{width:100%;position:relative;z-index:1}.login-modern__story--hero{margin-top:auto!important;margin-bottom:18px;max-width:560px;padding:22px 24px 20px;border-radius:18px;background:linear-gradient(180deg,#070e1f4d,#070e1f8f);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 18px 40px #040a1c2e}.login-modern__story--hero .login-modern__eyebrow{margin-bottom:12px;color:#c8d7f4}.login-modern__story--hero h2{margin-bottom:16px;max-width:8.5ch;text-wrap:balance}.login-modern__story--hero>p:last-child{max-width:46ch;color:#e8eef9;font-size:13px;line-height:1.72}.login-modern__visual--photo .login-modern__capabilities{position:relative;z-index:1;margin-top:0;width:min(560px,100%);background:#09162985;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-modern__hero-select,.login-modern__hero-options,.login-modern__hero-option-preview{display:none!important}@media (max-width:800px){.login-modern__story--hero{padding:18px 18px 16px;border-radius:14px}.login-modern__story--hero h2{max-width:none}}.smart-roof-card{gap:10px!important;background:linear-gradient(180deg,#0b1530,#091126)!important;border:1px solid #32446b!important;color:var(--ui-text)!important;box-shadow:0 18px 42px #060a2242!important}.smart-roof-card>strong{font-size:13px;letter-spacing:.06em;color:var(--ui-text)}.smart-roof-card>span,.smart-roof-card small{display:block;color:var(--ui-muted);line-height:1.45;font-size:11px}.smart-roof-card .text-btn{width:100%;justify-content:center}.smart-roof-card .text-btn--ghost{background:var(--ui-surface);color:#eef4ff;border-color:#31486f}.smart-roof-card .text-btn--ghost:hover:not(:disabled){background:var(--ui-raised);color:#fff;border-color:#4e6897}.smart-roof-card .text-btn--danger{background:#4f1924;color:#ffe7eb;border-color:#8d3b4d}.smart-roof-card__history{display:grid;grid-template-columns:1fr 1fr;gap:8px}.design-page .roof-span-check,.structural-workspace .roof-span-check{display:grid;gap:8px;margin:12px 0 14px;padding:12px;border:1px solid #3a537d;border-radius:9px;background:linear-gradient(180deg,#13213c,#0b1730);box-shadow:0 6px 18px #050c2030;color:#eaf1ff;font-size:11px;min-width:0}.design-page .roof-span-check>div,.structural-workspace .roof-span-check>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.design-page .roof-span-check>div span,.structural-workspace .roof-span-check>div span{font-size:10px;letter-spacing:.025em;color:#b5c6e5;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.design-page .roof-span-check>div strong,.structural-workspace .roof-span-check>div strong{font-size:13px;color:#f8fbff;font-variant-numeric:tabular-nums}.design-page .roof-span-check>b,.structural-workspace .roof-span-check>b{display:block;margin-top:2px;padding:9px 10px;text-align:left;border-radius:6px;border:1px solid #8a672e44;background:#5f481b3d;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.design-page .roof-span-check.ok>b,.structural-workspace .roof-span-check.ok>b{color:#8befcb;background:#064e3b40;border-color:#16a34a66}.design-page .roof-span-check.fail>b,.structural-workspace .roof-span-check.fail>b{color:#ffb6c4;background:#69233844;border-color:#e25c7166}.design-page .roof-span-check.pending>b,.structural-workspace .roof-span-check.pending>b{color:#ffcd87}.design-page .roof-span-check p,.structural-workspace .roof-span-check p{color:#bbcae3;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.finalize-pdf-workspace-notices{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;max-height:30vh;overflow:auto;background:#fff;position:relative;z-index:2}.finalize-pdf-workspace-notices:empty{display:none}.finalize-pdf-workspace-notices :is(.form-error,.electrical-generation-warnings,.source-status){border-radius:0!important;margin:0!important;max-width:100%;width:100%;box-sizing:border-box;overflow-wrap:anywhere}.finalize-pdf-sheet-error{font-size:12px;line-height:1.45;margin:6px 0 8px;white-space:normal;overflow-wrap:anywhere}.bom-modal{display:flex;flex-direction:column;background:var(--surface);font-family:Arial,sans-serif;border-color:var(--border)}.bom-modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;background:var(--panel);border-bottom:1px solid var(--border)}.bom-modal-header h2{margin:0;font-size:1.1rem;color:var(--navy)}.bom-modal-header p{margin:.25rem 0 0;font-size:.78rem;color:var(--muted)}.bom-modal-header .bom-close{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--navy)}.bom-modal-header .bom-close:hover:not(:disabled),.bom-modal-header .bom-close:focus-visible{color:var(--brand);background:var(--cyan-soft);border-color:var(--brand)}.bom-modal-header .bom-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.bom-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;padding:.75rem 1.2rem;border-bottom:1px solid var(--border)}.bom-actions>span{margin-right:auto;font-size:.75rem;color:var(--muted)}.bom-scroll{flex:1;min-height:0;overflow:auto;padding:1rem 1.2rem}.bom-table{border-collapse:separate;border-spacing:0;min-width:1100px;width:100%;table-layout:fixed;font-size:.75rem;background:#fff}.bom-table th{position:sticky;top:0;z-index:1;background:var(--navy);padding:.5rem;vertical-align:top}.bom-table th>div{display:flex;align-items:center;gap:.15rem}.bom-table th textarea{border:0;border-radius:3px;padding:.35rem;width:100%;min-width:0;font:700 .7rem Arial,sans-serif;background:transparent;color:#fff}.bom-table th textarea:focus{outline:2px solid var(--cyan);background:#ffffff18}.bom-table .bom-section-col{width:180px;color:#fff;text-align:left}.bom-table th:last-child{width:35px}.bom-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:.25rem;vertical-align:top}.bom-table td:first-child{border-left:1px solid var(--border)}.bom-table tbody tr:nth-child(2n){background:var(--surface)}.bom-table textarea,.bom-table select{width:100%;min-width:0;border:1px solid transparent;background:transparent;border-radius:4px;padding:.35rem;color:var(--text);font:inherit}.bom-table textarea{resize:vertical;min-height:42px}.bom-table textarea:focus,.bom-table select:focus{border-color:var(--brand);outline:1px solid var(--brand);background:#fff}.bom-table select{font-size:.63rem}.bom-remove{display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:.4rem;border-radius:4px}.bom-table th .bom-remove{color:#fff}.bom-remove:hover{background:#b52c4915;color:var(--danger)}.bom-remove:disabled{opacity:.35;cursor:default}.bom-add-row{margin:.7rem 0}.bom-notes{font-size:.75rem;color:var(--muted);margin-top:.7rem}.bom-notes summary{cursor:pointer}.bom-modal .load-calc-footer{background:var(--panel);color:var(--muted);border-color:var(--border);padding:.85rem 1.2rem}.structural-page{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;overflow:hidden;background:var(--surface)}.structural-content.content-page{flex:1;min-height:0;height:auto;max-width:1450px;margin:0 auto;width:100%;overflow:auto;padding:24px}.structural-toolbar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:16px;min-height:48px;padding:0 16px;background:var(--space-panel,var(--ui-surface));border-bottom:1px solid var(--space-line,var(--ui-border));color:var(--starlight,var(--ui-bg))}.structural-tabs{display:flex;align-items:stretch;gap:6px;min-width:0;overflow-x:auto}.structural-tabs button{flex-shrink:0;border:0;border-bottom:3px solid transparent;color:var(--space-muted,#B2BED8);background:transparent;white-space:nowrap;min-height:48px;padding:13px 10px;font:700 12px Arial,sans-serif;cursor:pointer}.structural-tabs button:hover{background:#3de0ff0d;color:var(--starlight,var(--ui-bg))}.structural-tabs button.active{color:var(--ion,var(--ui-accent));border-bottom-color:var(--ion,var(--ui-accent));background:#3de0ff0d}.structural-tabs button:focus-visible{outline:2px solid var(--ion,var(--ui-accent));outline-offset:-3px}.structural-toolbar-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;padding:6px 0}.structural-toolbar-status .structural-notice{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-success);font-size:11px}.structural-toolbar .structural-status{flex-shrink:0;white-space:nowrap;background:var(--ui-raised);color:var(--space-muted,#B2BED8)}.structural-toolbar .structural-status.is-review{background:#6d4f253d;color:var(--ui-warning)}.structural-toolbar .structural-status.is-pass{background:#16734c3d;color:var(--ui-success)}.structural-toolbar .structural-status.is-fail{background:#b52c4933;color:var(--ui-danger)}.structural-card{padding:1.15rem 1.25rem;margin:0 0 1rem;background:var(--panel);border:1px solid var(--border);border-radius:12px}.structural-card h2{margin:0 0 .7rem;font-size:.95rem;color:var(--navy)}.structural-card>p,.structural-section-title p{font-size:.77rem;color:var(--muted);margin:.3rem 0 .85rem}.structural-section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.structural-section-title h2{margin:0}.structural-section-title small{color:var(--muted);font-size:.72rem}.structural-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.structural-metrics article{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.55rem;align-items:flex-start}.structural-metrics article>small{color:var(--muted);font-size:.73rem}.structural-metrics article>strong{font-size:.85rem;color:var(--navy)}.structural-status{display:inline-block;border-radius:5px;padding:.3rem .5rem;font-size:.65rem;font-weight:700;line-height:1.5;color:var(--muted);background:var(--surface)}.structural-status.is-pass{background:#16734c13;color:var(--success)}.structural-status.is-fail{background:#b52c4911;color:var(--danger)}.structural-status.is-review{background:#92540010;color:var(--warning)}.structural-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem 1rem}.structural-field{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;font-size:.74rem;color:var(--navy)}.structural-field>span{font-weight:600}.structural-field input,.structural-field select,.structural-field textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:6px;padding:.55rem .6rem;background:#fff;color:var(--text);font:400 .8rem Arial,sans-serif}.structural-field input[readonly]{background:var(--surface);color:var(--muted)}.structural-field input:focus,.structural-field select:focus{outline:2px solid var(--brand);outline-offset:1px}.structural-field small{color:var(--muted);font-size:.63rem}.structural-input-detail{line-height:1.5}.structural-load-source{align-self:flex-start;line-height:1.45}.structural-load-source.is-estimated{border-radius:4px;padding:.15rem .4rem;background:#9254000d;color:var(--warning)}.structural-load-source.is-confirmed{border-radius:4px;padding:.15rem .4rem;background:#16734c13;color:var(--success)}.structural-input-confirmation{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.25rem}.structural-input-confirmation>.text-btn{font-size:.7rem;min-height:32px;padding:.4rem .6rem}.structural-input-confirmation>small{flex-basis:100%;font-size:.66rem;line-height:1.5}.structural-input-confirmation .structural-input-confirmed{display:inline-flex;align-items:center;gap:.35rem;color:var(--success);flex-basis:auto;font-weight:600}.structural-review-items>li{margin-bottom:.85rem}.structural-review-items p{margin:0 0 .3rem}.structural-review-items b{color:var(--navy)}.structural-field-wide{grid-column:1/-1}.structural-field-input{display:flex;align-items:stretch;gap:.3rem}.structural-reset{flex-shrink:0;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--muted);padding:.35rem;font-size:.6rem;cursor:pointer}.structural-reset:hover{color:var(--brand)}.structural-card details{margin-top:.85rem;font-size:.76rem}.structural-card summary{cursor:pointer;padding:.3rem 0 .8rem;font-weight:600;color:var(--navy)}.structural-card details>.text-btn{margin-top:.7rem}.structural-roof-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.6rem;margin:.85rem 0;padding:.65rem .75rem;background:var(--surface);border-radius:7px;color:var(--muted);font-size:.73rem}.structural-roof-summary b{color:var(--navy)}.structural-roof-picker{max-width:650px;margin:.5rem 0}.structural-check-name{border:0;background:transparent;padding:.25rem;font:600 .9rem Arial,sans-serif;color:var(--navy);width:75%}.structural-verifications{display:grid;gap:.6rem;padding-top:.85rem}.structural-verifications label{display:flex;align-items:flex-start;gap:.6rem;color:var(--muted);font-size:.75rem;line-height:1.5}.structural-verifications input{margin-top:2px;flex-shrink:0;accent-color:var(--brand)}.structural-issues{margin:.4rem 0;padding-left:1.3rem;font-size:.77rem;line-height:1.8;color:var(--muted)}.structural-help{font-size:.73rem!important;color:var(--muted);line-height:1.6}.structural-alert{margin:.5rem 0 1rem;border-left:3px solid var(--warning);background:#92540008;padding:.85rem 1rem;color:var(--warning);font-size:.78rem}.structural-notice{font-size:.75rem;color:var(--success)}.structural-table-scroll{overflow:auto}.structural-results-table{width:100%;border-collapse:collapse;font-size:.73rem;min-width:850px}.structural-results-table th{background:var(--surface);color:var(--navy);text-align:left;font-size:.68rem}.structural-results-table th,.structural-results-table td{padding:.7rem;border-bottom:1px solid var(--border)}.structural-report-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.structural-report-actions a.disabled{opacity:.45;pointer-events:none}.structural-report-preview{display:block;width:100%;height:76vh;border:1px solid var(--border);border-radius:10px;background:var(--surface)}@media (max-width:900px){.structural-grid,.structural-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.structural-tabs button{padding:.65rem .7rem}}@media (max-width:800px){.structural-toolbar{flex-wrap:wrap;gap:0 12px;padding:0 8px}.structural-tabs{flex:1 1 100%}.structural-toolbar-status{width:100%}.structural-toolbar-status .structural-notice{max-width:none;margin-right:auto}.structural-content.content-page{padding:16px}}@media (max-width:600px){.structural-grid,.structural-metrics{grid-template-columns:1fr}.structural-card{padding:.85rem}.bom-actions>span{flex-basis:100%}.bom-modal .load-calc-footer{flex-wrap:wrap}.structural-section-title{align-items:flex-start}.structural-toolbar .structural-status{white-space:normal}}.bom-domestic{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--muted)}.bom-domestic input{accent-color:var(--brand)}.bom-table th,.bom-table td{width:auto;text-align:left;white-space:normal}.bom-table th textarea{resize:none;height:38px;line-height:1.3;color:#fff}.bom-table th:last-child,.bom-table td:last-child{width:35px}.bom-table th textarea{box-sizing:border-box}:root{color-scheme:light;--ui-text:#18354e;--ui-muted:#5b6b7c;--ui-bg:#f4f6f8;--ui-surface:#fff;--ui-raised:#edf1f5;--ui-border:#d6dee6;--ui-primary:#18354e;--ui-primary-hover:#10283e;--ui-accent:#9c5e36;--ui-accent-border:#d5b9a4;--ui-selected:#f8eee6;--ui-danger:#b42338;--ui-danger-bg:#fdf0f2;--ui-warning:#805215;--ui-warning-bg:#fff5dc;--ui-success:#166447;--ui-success-bg:#eaf6ef;--ui-info-bg:#eef4fa;--ui-radius:6px;--ui-control:32px;--ui-toolbar:44px;--ui-header:56px;--ui-panel:290px;--navy:var(--ui-text);--slate:var(--ui-muted);--cream:var(--ui-bg);--surface:var(--ui-bg);--text:var(--ui-text);--panel:var(--ui-surface);--border:var(--ui-border);--muted:var(--ui-muted);--brand:var(--ui-primary);--accent:var(--ui-accent);--copper:var(--ui-accent);--cyan:var(--ui-accent);--cyan-soft:var(--ui-selected);--amber:var(--ui-accent);--danger:var(--ui-danger);--warning:var(--ui-warning);--success:var(--ui-success);--space:var(--ui-text);--space-panel:var(--ui-surface);--space-line:var(--ui-border);--space-muted:var(--ui-muted);--electric:var(--ui-primary);--ion:var(--ui-accent);--nova:var(--ui-accent);--starlight:var(--ui-bg);--control-radius:var(--ui-radius);--focus-ring:0 0 0 3px #9c5e3626;--shadow:0 8px 28px #18354e14}body{background:var(--ui-bg);color:var(--ui-text)}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px;box-shadow:var(--focus-ring)}:is(.text-btn,.icon-btn,.tool-button){border-radius:var(--ui-radius);box-shadow:none;font:600 12px Arial,sans-serif;min-height:var(--ui-control)}.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);line-height:20px;white-space:nowrap;flex-shrink:0}.tool-button svg,.text-btn>svg{flex:0 0 auto;stroke-width:1.8}.tool-button--icon{width:var(--ui-control);min-width:var(--ui-control);padding:5px}.tool-button:hover:not(:disabled),.tool-button--secondary:hover:not(:disabled){background:var(--ui-raised);border-color:#adbcca}.tool-button--primary,.text-btn:not(.text-btn--ghost):not(.text-btn--danger):not(.danger){background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}.tool-button--primary:hover:not(:disabled),.text-btn:not(.text-btn--ghost):not(.text-btn--danger):not(.danger):hover:not(:disabled){background:var(--ui-primary-hover);color:#fff}.tool-button--danger,.text-btn--danger,.text-btn.danger{background:var(--ui-danger-bg);color:var(--ui-danger);border-color:#edbdc5}.tool-button.active,.tool-button[aria-pressed=true],.icon-btn.active{background:var(--ui-selected);color:var(--ui-accent);border-color:var(--ui-accent-border)}.icon-btn{width:var(--ui-control);height:var(--ui-control);min-width:var(--ui-control);padding:0}.icon-btn svg,.tools-strip .icon-btn svg{width:19px;height:19px;stroke-width:1.8}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--ui-toolbar);height:var(--ui-toolbar);flex:0 0 var(--ui-toolbar);padding:0 12px;margin:0;border:0;border-bottom:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);min-width:0;box-sizing:border-box;position:relative;z-index:30}.workspace-tabs{display:flex;align-items:stretch;gap:2px;height:100%;min-width:0;overflow:auto;scrollbar-width:thin}.workspace-tabs>button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:44px;padding:0 12px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;font:600 12px Arial,sans-serif;color:var(--ui-muted);white-space:nowrap}.workspace-tabs>button:hover{background:var(--ui-raised);color:var(--ui-text)}.workspace-tabs>button.active{color:var(--ui-accent);border-bottom-color:var(--ui-accent);background:var(--ui-selected)}.enterprise-shell .side-rail,.enterprise-shell .shell-header,.enterprise-shell .shell-project-nav{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}.enterprise-shell .side-rail :is(a,.user-dropdown__trigger,.user-dropdown__name){color:var(--ui-text)!important}.enterprise-shell .side-rail a.active{color:var(--ui-accent)!important;background:var(--ui-selected);box-shadow:inset 3px 0 var(--ui-accent);border-color:transparent}.enterprise-shell .side-rail .user-dropdown__trigger:hover{background:var(--ui-raised)}.enterprise-shell .side-rail .user-dropdown__trigger[aria-expanded=true]{background:var(--ui-selected);border-color:var(--ui-accent-border)}.enterprise-shell .shell-header{min-height:var(--ui-header);height:var(--ui-header);padding:6px 16px;flex:0 0 var(--ui-header)}.shell-header__actions{flex-shrink:0;gap:8px}.enterprise-shell .shell-breadcrumb button{color:var(--ui-text)}.shell-breadcrumb{min-width:0;gap:8px}.shell-project-identity{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:min(430px,34vw)}.enterprise-shell .shell-project-address{font-size:12px;font-weight:700;color:var(--ui-text);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-project-address:before{display:none}.shell-project-name{max-width:100%;padding:0!important;font-size:11px!important;line-height:16px;color:var(--ui-muted)!important}.shell-design-select{min-height:32px;font-size:12px;border:1px solid var(--ui-border);background:var(--ui-surface);padding:4px 24px 4px 8px;color:var(--ui-text);width:auto;max-width:170px;border-radius:var(--ui-radius)}.shell-design-crumb{flex-shrink:1;max-width:190px;min-width:90px}.enterprise-shell .save-state{display:inline-flex;align-items:center;gap:5px;color:var(--ui-muted);font-size:11px;max-width:190px}.enterprise-shell .save-state.is-dirty{color:var(--ui-warning)}.enterprise-shell .command-trigger{color:var(--ui-muted);background:var(--ui-surface);border-color:var(--ui-border);min-height:32px}.enterprise-shell .command-trigger kbd{color:var(--ui-muted);border-color:var(--ui-border);background:var(--ui-bg)}.enterprise-shell .shell-project-nav{min-height:44px;padding:0 12px;gap:8px;flex-wrap:nowrap}.project-workspaces{gap:4px;min-width:0;overflow:auto;scrollbar-width:thin;align-self:stretch}.enterprise-shell .shell-project-nav a{padding:0 12px;font-size:12px;min-height:44px;display:flex;align-items:center;color:var(--ui-muted);white-space:nowrap}.enterprise-shell .shell-project-nav a.active{background:var(--ui-selected);color:var(--ui-accent);border-color:var(--ui-accent)}#workspace-actions{min-width:0;flex-shrink:0;gap:6px;padding:5px 0}.design-page .top-panel{display:flex;min-height:44px;height:44px;padding:0 12px;gap:12px}.top-panel__left{flex-shrink:0;gap:12px}.top-panel__left .metric{gap:4px}@media (max-width:1100px){.top-panel__left .metric:nth-last-child(1){display:none}}.top-panel__left .metric strong{font-size:12px}.top-panel__right{min-width:0;gap:8px;flex:1;justify-content:flex-end;flex-wrap:nowrap}.top-panel__draft-actions{display:flex;gap:3px;flex-shrink:0}.design-page .tools-strip .icon-btn{width:32px;min-width:32px;height:32px;min-height:32px;color:var(--ui-text)}.tools-strip{gap:2px}.tool-button-wrap{flex-shrink:0}.tool-menu-indicator{color:var(--ui-muted)}.electrical-view-content{display:flex;flex:1;min-height:0;min-width:0}.electrical-view-content>main{flex:1;min-width:0;min-height:0}.electrical-workspace .electrical-subnav{gap:8px}.electrical-subnav .electrical-view-actions{max-width:none;gap:4px}.electrical-workspace .electrical-view-actions .tool-button{background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;color:var(--ui-text)!important}.electrical-workspace .electrical-view-actions .tool-button[aria-pressed=true]{background:var(--ui-selected)!important;color:var(--ui-accent)!important;border-color:var(--ui-accent-border)!important}.structural-toolbar{padding:0 12px;background:var(--ui-surface);border-color:var(--ui-border)}.structural-toolbar .structural-status{color:var(--ui-muted);background:var(--ui-raised)}.structural-toolbar .structural-notice{color:var(--ui-success)}.structural-toolbar .structural-status.is-pass{color:var(--ui-success);background:var(--ui-success-bg)}.structural-toolbar .structural-status.is-fail{color:var(--ui-danger);background:var(--ui-danger-bg)}.structural-toolbar .structural-status.is-review{color:var(--ui-warning);background:var(--ui-warning-bg)}.structural-toolbar .structural-tabs>button{color:var(--ui-muted)}.structural-toolbar .structural-tabs>button.active{color:var(--ui-accent);border-color:var(--ui-accent);background:var(--ui-selected)}.structural-card,.structural-metrics article,.account-card{border-radius:8px;box-shadow:none}.structural-card{padding:16px;margin-bottom:12px}.structural-content{padding:16px!important}.structural-metrics article{padding:12px}:is(.project-properties-modal,.structural-page,.account-page,.site-inspector-dock) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),select:not([multiple]),textarea){min-height:34px;border-radius:var(--ui-radius);font-size:12px}:is(.project-properties-modal,.structural-page,.account-page,.site-inspector-dock) label>span{text-transform:none;letter-spacing:0;font-size:12px}:is(.project-properties-modal,.structural-page,.account-page) input[readonly]{background:var(--ui-bg);color:var(--ui-muted)}:is(.project-properties-modal,.structural-page) input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--ui-primary)}.modal-card{border-radius:10px}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#18354e52}.command-dialog{width:min(520px,calc(100vw - 32px))}.command-dialog .modal-card__header h2{display:flex;align-items:center;gap:8px;font-size:15px}.command-dialog>input{min-height:40px}.command-empty{margin:16px;color:var(--ui-muted);font-size:13px}.workspace-feedback{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;font-size:12px;line-height:1.45;background:var(--ui-info-bg);color:var(--ui-text);border-bottom:1px solid var(--ui-border);flex:0 0 auto;min-width:0}.workspace-feedback>svg{margin-top:1px;flex-shrink:0}.workspace-feedback>div{min-width:0;flex:1;overflow-wrap:anywhere}.workspace-feedback>button{display:grid;place-items:center;border:0;background:transparent;color:inherit;padding:0;min-width:24px;min-height:24px;flex-shrink:0}.workspace-feedback--error{background:var(--ui-danger-bg);color:var(--ui-danger);border-color:#edbdc5}.workspace-feedback--warning{background:var(--ui-warning-bg);color:var(--ui-warning);border-color:#e6d1a8}.workspace-feedback--success{background:var(--ui-success-bg);color:var(--ui-success);border-color:#b8dccb}.save-toast:has(.workspace-feedback){padding:0;background:transparent;border:0;box-shadow:var(--shadow);overflow:hidden;border-radius:6px}.loading-state{display:flex;flex-direction:column;gap:16px;padding:24px;color:var(--ui-muted)}.loading-state__label{display:flex;align-items:center;gap:10px;font-size:13px}.project-skeletons{display:grid;gap:10px}.project-skeleton{display:flex;align-items:center;gap:20px;padding:18px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px}.project-skeleton i{width:54px;height:54px;border-radius:50%;background:var(--ui-raised)}.project-skeleton span{height:14px;width:25%;background:var(--ui-raised);border-radius:4px}.dashboard-project-list-page,.project-details-page{padding:24px!important}.dashboard-project-list-topbar{margin-bottom:16px!important}.project-count{color:var(--ui-muted);font-size:12px;margin:6px 0 0}.dashboard-create-project{display:inline-flex;align-items:center;gap:7px}.dashboard-project-row,.project-design-row{box-shadow:none!important;border-radius:8px!important}.dashboard-project-row{content-visibility:auto;contain-intrinsic-size:auto 100px}.dashboard-project-row :is(button,input){touch-action:manipulation}.dashboard-list-footer{gap:12px;display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:14px 0;color:var(--ui-muted)}.dashboard-list-footer>div{display:flex;gap:6px}.project-list-thumb img{aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.finalize-pdf-toolbar .tool-button--primary{color:#fff;background:var(--ui-primary)}.finalize-pdf-toolbar .tool-button.active{color:var(--ui-accent);background:var(--ui-selected)}.finalize-pdf-pages,.finalize-pdf-properties{font-size:12px}.finalize-pdf-properties label>span{text-transform:none;letter-spacing:0}.finalize-sheet-actions button:last-child{color:var(--ui-danger)}.smart-roof-card{background:var(--ui-surface)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;box-shadow:var(--shadow)!important}.smart-roof-card>strong,.smart-roof-card small,.smart-roof-card>span{color:var(--ui-text)}.design-page .roof-span-check,.structural-workspace .roof-span-check{background:var(--ui-bg);border-color:var(--ui-border);box-shadow:none;color:var(--ui-text)}.design-page .roof-span-check :is(strong,p,span),.structural-workspace .roof-span-check :is(strong,p,span){color:var(--ui-text)!important}.design-page .roof-span-check.ok>b{color:var(--ui-success);background:var(--ui-success-bg)}.design-page .roof-span-check.fail>b{color:var(--ui-danger);background:var(--ui-danger-bg)}.design-page .roof-span-check.pending>b{color:var(--ui-warning);background:var(--ui-warning-bg)}.site-north-reset,.site-object-picker select{box-shadow:var(--shadow);background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}.app-loading-overlay__card{box-shadow:var(--shadow);border-color:var(--ui-border);border-radius:8px;font-size:13px}.login-modern__submit{box-shadow:none}@media (max-width:1280px){.shell-header .command-trigger :is(span,kbd){display:none}.shell-header .save-state{max-width:130px}.shell-project-identity{max-width:29vw}.structural-toolbar .structural-notice{display:none}}@media (max-width:1000px){.top-panel__left .metric:nth-last-child(2){display:none}.top-panel__left{gap:6px}.top-panel__right{gap:4px}.design-page .tools-strip .icon-btn{min-width:28px;width:28px}.shell-project-nav .project-workspaces a{padding:0 8px}#workspace-actions .tool-button{padding-inline:7px;font-size:11px}.shell-design-select{max-width:128px}}@media (max-width:800px){.enterprise-shell .shell-header{padding-inline:10px}.shell-header .save-state{display:none}.shell-breadcrumb>button,.shell-breadcrumb>svg{display:none}.shell-project-identity{max-width:35vw}.shell-project-name{font-size:10px!important}.enterprise-shell .shell-project-nav{overflow-x:auto;scrollbar-width:thin}.project-workspaces{flex-shrink:0}.workspace-toolbar,.design-page .top-panel{height:auto;min-height:44px;flex-basis:auto;flex-wrap:wrap}.workspace-tabs{height:44px}.electrical-workspace .electrical-subnav{flex-wrap:wrap!important;overflow:visible}.electrical-subnav .electrical-view-actions{height:38px;margin-left:auto}.structural-toolbar-status{padding:4px 0}.top-panel__left{display:none}.top-panel__right{justify-content:flex-start}.tools-strip{flex-wrap:wrap}.dashboard-project-list-page,.project-details-page{padding:16px!important}}@media (hover:none) and (pointer:coarse){.tool-button,.icon-btn{min-height:40px;min-width:40px}.workspace-toolbar{min-height:48px}}@media print{.workspace-toolbar,.shell-header,.shell-project-nav,.workspace-feedback,.loading-state{display:none!important}}@media (max-width:1250px){.finalize-pdf-toolbar button:has(.toolbar-label){padding-inline:7px!important}.finalize-pdf-toolbar .toolbar-label{display:none}}.save-state>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:900px){.permit-pack-page--finalize .finalize-pdf-toolbar{height:auto;min-height:44px!important;flex-basis:auto;flex-wrap:wrap!important;overflow:visible;padding-block:4px!important}.permit-pack-page--finalize .finalize-pdf-toolbar__group--right{margin-left:auto}}.standard-modal-backdrop{z-index:1100}.standard-modal{width:min(920px,calc(100vw - 40px));max-height:88vh;display:flex;flex-direction:column;overflow:hidden;padding:0}.standard-modal-header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--ui-border)}.standard-modal-header h2{margin:0;color:var(--ui-text);font-size:18px;line-height:1.4}.standard-modal-header p{margin:4px 0 0;color:var(--ui-muted);font-size:12px}.standard-modal-body{overflow:auto;min-height:0;padding:18px 22px}.standard-modal .modal-card__actions{display:flex;flex:none;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0;padding:14px 22px;border-top:1px solid var(--ui-border)}.standard-modal h3,.preset-manager h3{margin:20px 0 10px;font-size:14px}.review-scope-note{color:var(--ui-muted);font-size:12px;line-height:1.65}.review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.review-summary button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);font-size:12px;color:var(--ui-muted)}.review-summary button[aria-pressed=true]{border-color:var(--ui-accent);background:var(--ui-selected)}.review-summary strong{color:var(--ui-text);font-size:24px;font-weight:600}.review-filter,.preset-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.review-filter label{display:flex;align-items:center;gap:8px}.review-issue-list{display:flex;flex-direction:column;gap:8px}.review-issue{display:grid;grid-template-columns:76px 1fr 18px;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);text-align:left;font-size:13px;line-height:1.5}.review-issue:hover{background:var(--ui-bg);border-color:var(--ui-accent)}.review-issue small{display:block;margin-bottom:2px;color:var(--ui-muted);font-size:11px}.review-issue__kind{font-size:11px;color:var(--ui-warning)}.review-issue.is-error .review-issue__kind{color:var(--ui-danger)}.revision-list,.preset-list{display:flex;flex-direction:column;gap:8px}.revision-list article,.preset-list article{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--ui-border);border-radius:7px}.revision-list article>div,.preset-list article>div{flex:1;min-width:0}.revision-list strong,.preset-list strong{display:block;font-size:13px;overflow-wrap:anywhere}.revision-list small,.preset-list small{display:block;margin-top:4px;font-size:11px;color:var(--ui-muted)}.revision-preview{padding:0 16px 16px;margin-top:12px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-bg)}.preset-manager fieldset{margin:16px 0;padding:16px;border:1px solid var(--ui-border);border-radius:7px}.preset-manager legend{padding:0 6px;color:var(--ui-text);font-size:12px;font-weight:600}.preset-manager label{display:flex;flex-direction:column;gap:6px;font-size:12px}.preset-groups,.preset-optional-pages{display:flex;flex-wrap:wrap;gap:12px 20px;margin:14px 0}.preset-groups label,.preset-optional-pages label,.selection-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-size:12px}.preset-manager input[type=checkbox],.selection-check input,.affected-sheet-list input{width:16px!important;height:16px!important;min-height:0;flex:none;accent-color:var(--ui-accent)}.affected-sheet-list{display:flex;flex-direction:column;margin:16px 0;border:1px solid var(--ui-border);border-radius:7px;overflow:hidden}.affected-sheet-list>label{display:flex;gap:12px;align-items:center;padding:13px;border-bottom:1px solid var(--ui-border);cursor:pointer}.affected-sheet-list>label:last-child{border-bottom:0}.affected-sheet-list>label>span{flex:1;min-width:0}.affected-sheet-list strong{display:block;font-size:13px}.affected-sheet-list small{display:block;color:var(--ui-muted);font-size:11px;margin-top:4px}.affected-sheet-list b{font-weight:500;color:var(--ui-muted);font-size:11px}.affected-sheet-list .is-affected b{color:var(--ui-warning)}.selection-toolbar{position:absolute;z-index:10;top:58px;left:12px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:5px 8px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);box-shadow:0 3px 12px #18202a12;font-size:12px}.selection-toolbar select{height:30px;border:1px solid var(--ui-border);border-radius:4px;font-size:12px;padding:0 5px}.selection-properties{height:100%;overflow:auto;padding:18px;font-size:12px}.selection-properties h2{font-size:15px;font-weight:600;margin-bottom:12px}.selection-properties ul{padding-left:16px;color:var(--ui-muted);max-height:150px;overflow:auto;margin-bottom:18px}.selection-properties>label{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.selection-properties :is(input:not([type=checkbox]),select,textarea){width:100%;min-height:34px;padding:7px;border:1px solid var(--ui-border);border-radius:5px;background:#fff}.selection-properties textarea{min-height:100px}@media (max-width:1150px){.shell-header .save-state{display:none}.shell-header__actions{gap:5px}}@media (max-width:650px){.standard-modal{width:calc(100vw - 20px);max-height:92vh}.standard-modal-body,.standard-modal-header{padding:14px}.review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.review-issue{grid-template-columns:58px 1fr 14px;gap:8px}.selection-toolbar{top:94px;right:12px}}.review-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.review-filter select{min-width:160px;min-height:34px;padding:6px 8px;border:1px solid var(--ui-border);border-radius:5px;background:var(--ui-surface)}.selective-update-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.selective-update-summary>strong{display:block;padding:12px;border:1px solid var(--ui-border);border-radius:7px;font-size:22px}.selective-update-summary span{display:block;margin-top:4px;font-size:11px;font-weight:400;color:var(--ui-muted)}.selective-update-section{margin:20px 0}.selective-update-section h3>span{color:var(--ui-muted);font-weight:400}.selective-update-list{display:flex;flex-direction:column;gap:7px;margin:10px 0}.selective-update-list article{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid var(--ui-border);border-radius:6px}.selective-update-list strong{display:block;font-size:12px;font-weight:600}.selective-update-list small{display:block;margin-top:4px;color:var(--ui-muted);font-size:11px;line-height:1.55;overflow-wrap:anywhere}.selective-update-action{color:var(--ui-accent);font-size:11px}.selective-update-list .needs-review{border-color:var(--ui-accent-border);background:var(--ui-warning-bg)}.selective-update-section .selection-check{margin:14px 0}@media (max-width:650px){.selective-update-summary{grid-template-columns:1fr}.selective-update-list article{grid-template-columns:90px minmax(0,1fr)}}.electrical-code-fields output{display:flex;align-items:center;min-height:38px;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.bom-rail-stock{flex-shrink:0;padding:.65rem 1.2rem;border-bottom:1px solid var(--border);font-size:.8rem;max-height:30vh;overflow:auto}.bom-rail-stock summary{font-weight:600;cursor:pointer}.bom-rail-stock>div{display:flex;gap:1rem;flex-wrap:wrap;padding-top:.7rem}.bom-rail-stock label{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.bom-rail-stock small{color:var(--muted)}.bom-stock-input{display:inline-flex;align-items:center;gap:.4rem}.bom-stock-input input{width:95px;padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text)}
