html.laudo-editor-open,body.laudo-editor-open{overscroll-behavior-y:none}.laudos-page{max-width:1400px;margin:0 auto;padding-bottom:32px}.laudos-page.editor{overscroll-behavior:none}.project-back{margin-bottom:12px}.laudos-title,.editor-head,.panel-title,.repeat-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.laudos-title h1{margin:0 0 4px;font-size:28px}.laudos-title p{margin:0;color:var(--gray-500)}.connection{margin:18px 0;padding:12px 16px;border-radius:10px;font-weight:600}.connection.online{background:#dcfce7;color:#166534}.connection.offline{background:#fef3c7;color:#92400e}.connection.compact{margin:8px 0;padding:8px 12px}.report-section{margin-top:28px}.report-section h2{font-size:19px}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.report-card-wrap{position:relative}.report-card{width:100%;padding:18px 52px 18px 18px;text-align:left;border:1px solid #dbe3ef;background:#fff;border-radius:12px;display:flex;flex-direction:column;gap:7px;cursor:pointer;color:#0f172a}.report-card:hover{border-color:#2563eb;box-shadow:0 4px 14px #0f172a12}.report-card span,.report-card small,.empty{color:#64748b}.discard-report{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:8px;background:#fee2e2;color:#b91c1c}.editor-head{position:sticky;top:0;z-index:8;background:#f1f5f9;padding:8px 0}.editor-head>div{display:flex;flex-direction:column;flex:1}.editor-head small{color:#64748b}.laudo-tabs{display:flex;gap:6px;overflow-x:auto;background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:6px;position:sticky;top:68px;z-index:7}.laudo-tabs button{white-space:nowrap;min-height:44px;padding:0 18px;border:0;border-radius:8px;background:transparent;color:#475569;font-weight:600}.laudo-tabs button.active{background:#1d4ed8;color:#fff}.laudo-panel{margin-top:14px;background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:22px}.laudo-panel h2{margin:0 0 20px;font-size:21px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.block{display:flex;flex-direction:column;gap:7px}.form-grid label span,.block span{font-weight:600;color:#334155}.form-grid .wide{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea,.block textarea,.block select,.photo-capture input,.photo-capture select{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;font:inherit;background:#fff}.form-grid textarea,.block textarea{resize:vertical}.block{margin-bottom:18px}.field-help{color:#64748b;font-size:.82rem;line-height:1.35}.form-grid label[data-field-help]:after,.block[data-field-help]:after,.photo-capture label[data-field-help]:after{content:attr(data-field-help);color:#64748b;font-size:.82rem;font-weight:400;line-height:1.35}.laudo-panel input,.laudo-panel select,.laudo-panel textarea{color:#1d4ed8;font-weight:600}.laudo-panel input::placeholder,.laudo-panel textarea::placeholder{color:#94a3b8;font-weight:400}.input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px}.measurement-camera{margin-top:14px}.check-list{display:flex;flex-direction:column;gap:10px}.check-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.55fr) minmax(240px,1fr);gap:10px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:10px}.check-row select,.check-row input{min-height:44px;border:1px solid #cbd5e1;border-radius:8px;padding:8px}.check-row:after{content:"Classifique o item e registre uma observação quando houver desvio, limitação ou condição relevante.";grid-column:1 / -1;color:#64748b;font-size:.82rem;line-height:1.35}.repeat-card{border:1px solid #dbe3ef;border-radius:12px;padding:16px;margin-top:14px}.repeat-card.compact{padding:12px 16px}.repeat-title{margin-bottom:14px}.repeat-title button,.photo-card>button{border:0;background:#fee2e2;color:#b91c1c;border-radius:8px;width:40px;height:40px}.panel-title h2,.panel-title h3{margin:0}.laudo-panel h3{margin:24px 0 14px}.section-help{color:#64748b;margin:-10px 0 18px}.ups-card{border-color:#bfdbfe;box-shadow:0 4px 14px #1d4ed80d}.ups-card>h3:first-of-type{margin-top:8px}.ups-contingency{border-top:2px solid #dbeafe;margin-top:26px;padding-top:4px}.panel-title>div>.section-help{margin:4px 0 0}.photo-capture{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.photo-capture label{display:flex;flex-direction:column;gap:7px}.photo-capture label span{font-weight:600;color:#334155}.photo-capture .wide{grid-column:1 / -1}.btn.camera{min-height:48px;font-size:16px;justify-self:start}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:20px}.photo-card{position:relative;border:1px solid #dbe3ef;border-radius:12px;overflow:hidden;background:#fff}.photo-card img{width:100%;height:180px;object-fit:cover;background:#e2e8f0}.photo-card div{padding:10px;display:flex;flex-direction:column;gap:3px}.photo-card span,.photo-card small{color:#64748b}.photo-card>button{position:absolute;top:8px;right:8px}.status-field{max-width:360px}.pending-box,.complete-box{border-radius:10px;padding:16px;margin-top:20px}.pending-box{background:#fff7ed;color:#9a3412}.complete-box{background:#dcfce7;color:#166534}.pending-box ul{margin:8px 0 0;padding-left:22px}.laudos-page.editor.is-readonly .laudo-panel input,.laudos-page.editor.is-readonly .laudo-panel select,.laudos-page.editor.is-readonly .laudo-panel textarea,.laudos-page.editor.is-readonly .laudo-panel button{pointer-events:none;opacity:.72}.laudos-page.editor.no-photo-management .photo-capture,.laudos-page.editor.no-photo-management .photo-card>button{display:none}@media(max-width:800px){.form-grid,.check-row,.photo-capture{grid-template-columns:1fr}.form-grid .wide,.photo-capture .wide{grid-column:auto}.laudo-panel{padding:14px}.laudos-title{align-items:flex-start}.editor-head .btn{padding:10px}.editor-head .btn i{margin:0}.editor-head .btn{font-size:0}.editor-head .btn i{font-size:16px}.laudo-tabs{top:64px}.photo-card img{height:220px}}@media print{.laudo-panel input,.laudo-panel select,.laudo-panel textarea{color:#000;font-weight:400}}.lot-network-page{display:flex;flex-direction:column;gap:16px;padding-bottom:28px}.lot-network-page.is-standalone{position:fixed;z-index:1500;top:0;right:0;bottom:0;left:0;min-width:0;min-height:0;gap:8px;padding:8px;overflow:hidden;background:#e8eef6}.lot-network-page.is-standalone>.lot-summary-grid,.lot-network-page.is-standalone>.lot-plant-controls,.lot-network-page.is-standalone>.lot-parameters,.lot-network-page.is-standalone>.lot-transformer-planning,.lot-network-page.is-standalone>.lot-results-grid{display:none}.lot-network-page.is-standalone .lot-network-header{flex:0 0 auto;padding:4px 8px}.lot-network-page.is-standalone .lot-network-header h1{display:inline-block;margin:0 0 0 8px;font-size:1.05rem}.lot-network-page.is-standalone .lot-network-header p{display:inline-block;margin-left:8px;font-size:.75rem}.lot-network-page.is-standalone>.lot-message{flex:0 0 auto;padding:7px 11px}.lot-network-header,.lot-network-actions,.lot-toolbar,.lot-legend,.lot-summary-card,.lot-validation{display:flex;align-items:center}.lot-network-header{justify-content:space-between;gap:20px}.lot-network-header h1{margin:10px 0 3px;color:#0f172a;font-size:1.55rem}.lot-network-header p,.lot-properties>p{color:#64748b}.lot-network-actions,.lot-toolbar,.lot-legend{gap:8px;flex-wrap:wrap}.lot-report-menu{position:relative}.lot-report-menu>summary{list-style:none;cursor:pointer}.lot-report-menu>summary::-webkit-details-marker{display:none}.lot-report-chevron{margin-left:2px;font-size:.7em;transition:transform .16s ease}.lot-report-menu[open] .lot-report-chevron{transform:rotate(180deg)}.lot-report-menu-options{position:absolute;z-index:1800;top:calc(100% + 7px);right:0;display:grid;width:min(330px,calc(100vw - 24px));padding:7px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 16px 38px #0f172a2e}.lot-report-menu-options button{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:10px;border:0;border-radius:7px;background:transparent;color:#172033;text-align:left;cursor:pointer}.lot-report-menu-options button:hover:not(:disabled){background:#eff6ff}.lot-report-menu-options button:disabled{cursor:not-allowed;opacity:.55}.lot-report-menu-options button>i{margin-top:2px;color:#2563eb;font-size:1.15rem;text-align:center}.lot-report-menu-options span{display:grid;gap:3px}.lot-report-menu-options small{color:#64748b;font-size:.72rem;font-weight:400;line-height:1.35}.lot-message{padding:11px 14px;border:1px solid #86efac;border-radius:9px;background:#f0fdf4;color:#166534}.lot-message.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.lot-backup-panel{display:grid;gap:12px;padding:16px;border:1px solid #93c5fd;border-radius:12px;background:#f8fafc;box-shadow:0 10px 30px #0f172a1a}.lot-network-page.is-standalone>.lot-backup-panel{position:fixed;z-index:1750;top:8px;right:8px;bottom:8px;left:8px;align-content:start;overflow:auto}.lot-backup-heading,.lot-backup-heading>div,.lot-backup-version-heading,.lot-backup-confirmation{display:flex;align-items:center;gap:10px}.lot-backup-heading{justify-content:space-between}.lot-backup-heading>div>i{color:#1d4ed8;font-size:1.4rem}.lot-backup-heading span,.lot-backup-version-heading>span,.lot-backup-confirmation>span{display:grid;flex:1;gap:2px}.lot-backup-heading strong{color:#1e3a8a}.lot-backup-heading small,.lot-backup-version-heading small,.lot-backup-confirmation small{color:#64748b;line-height:1.35}.lot-backup-create{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:8px 12px;padding:12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.lot-backup-create label{display:grid;gap:4px;color:#334155;font-size:.75rem;font-weight:700}.lot-backup-create>small{grid-column:1 / -1;color:#475569}.lot-backup-list{display:grid;gap:9px;max-height:430px;overflow:auto;padding-right:3px}.lot-backup-list article{display:grid;gap:8px;padding:12px;border:1px solid #dbe4f0;border-radius:10px;background:#fff}.lot-backup-list article.is-confirming{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b24}.lot-backup-version-heading{justify-content:space-between}.lot-backup-version-heading strong{color:#1e293b;font-size:.82rem}.lot-backup-summary{display:flex;flex-wrap:wrap;gap:7px}.lot-backup-summary span{padding:4px 7px;border-radius:999px;background:#eef2ff;color:#475569;font-size:.7rem}.lot-backup-summary b{color:#3730a3}.lot-backup-confirmation{flex-wrap:wrap;padding:9px;border-radius:8px;background:#fffbeb;color:#92400e}.lot-backup-confirmation>i{color:#d97706}.lot-backup-confirmation strong{color:#92400e}.lot-backup-empty{display:grid;min-height:90px;place-items:center;align-content:center;gap:5px;color:#64748b;text-align:center}.lot-backup-empty>i{color:#2563eb;font-size:1.25rem}.lot-circuit-check{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid #fca5a5;border-left:5px solid #dc2626;border-radius:9px;background:#fef2f2;color:#7f1d1d}.lot-circuit-check>i{margin-top:2px;color:#dc2626;font-size:1.25rem}.lot-circuit-check>.lot-circuit-check-content{flex:1;min-width:280px}.lot-circuit-check strong{color:#991b1b}.lot-circuit-check ul{margin:6px 0 0;padding-left:20px;font-size:.8rem;line-height:1.45}.lot-circuit-check .btn{flex:0 0 auto}.lot-circuit-check li{padding:1px 0}.lot-circuit-check li>button{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:10px;padding:3px 6px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.lot-circuit-check li>button:hover,.lot-circuit-check li>button.is-active{background:#fee2e2;color:#991b1b}.lot-circuit-check li>button i{margin-top:3px}.lot-circuit-check-navigation,.lot-circuit-check-navigation>div,.lot-circuit-check-actions{display:flex;align-items:center;gap:8px}.lot-circuit-check-navigation{justify-content:space-between;margin-top:9px;padding-top:9px;border-top:1px solid #fecaca}.lot-circuit-check-navigation>span{color:#991b1b;font-size:.78rem}.lot-circuit-check-actions{flex:0 0 auto;align-items:flex-start}.lot-circuit-focus-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;border-block:1px solid #fca5a5;background:#fef2f2;color:#7f1d1d}.lot-circuit-focus-navigation>div:first-child{display:grid;gap:2px;min-width:0}.lot-circuit-focus-navigation>div:first-child span{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.lot-circuit-focus-navigation>div:last-child{display:flex;flex:0 0 auto;gap:8px}.lot-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}.lot-summary-card{gap:12px;min-height:76px;padding:14px;border:1px solid #dbe4f0;border-radius:12px;background:#fff}button.lot-summary-card{width:100%;font:inherit;text-align:left}.lot-summary-link:disabled{cursor:default;opacity:1}.lot-summary-link.has-pending{cursor:pointer;border-color:#fbbf24;transition:transform .18s,box-shadow .18s}.lot-summary-link.has-pending:hover{transform:translateY(-2px);box-shadow:0 7px 18px #92400e21}.lot-summary-link.has-pending>i:first-child{background:#fff7ed;color:#d97706}.lot-summary-arrow{margin-left:auto;color:#d97706;font-size:.78rem}.lot-summary-card>i{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:#eff6ff;color:#1d4ed8}.lot-summary-card span,.lot-summary-card strong{display:block}.lot-summary-card span{color:#64748b;font-size:.78rem}.lot-summary-card strong{margin-top:2px;color:#0f172a;font-size:1.15rem}.lot-parameters h2,.lot-plant-controls h2,.lot-properties h2,.lot-results-grid h2{margin-bottom:14px;font-size:1.05rem}.lot-section-title,.lot-plant-settings,.lot-plant-file,.lot-empty-plant,.lot-scale-status{display:flex;align-items:center}.lot-section-title{justify-content:space-between;gap:16px}.lot-section-title h2{margin:0 0 3px}.lot-section-title small{color:#64748b}.lot-file-button{cursor:pointer}.lot-file-button input{display:none}.lot-plant-settings{gap:12px;margin-top:16px;flex-wrap:wrap}.lot-plant-settings>label{display:grid;gap:5px;color:#475569;font-size:.78rem;font-weight:600}.lot-plant-settings select,.lot-plant-settings input[type=number]{min-width:105px;padding:8px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}.lot-plant-settings input[type=range]{width:130px}.lot-plant-file{gap:10px;min-width:240px;margin-right:auto}.lot-plant-file>i{color:#dc2626;font-size:1.5rem}.lot-plant-file div,.lot-scale-status{display:grid;gap:2px}.lot-plant-file strong,.lot-plant-file span,.lot-scale-status strong,.lot-scale-status span{display:block}.lot-plant-file strong{color:#1e293b;font-size:.82rem}.lot-plant-file span,.lot-scale-status span{color:#64748b;font-size:.74rem}.lot-scale-status{padding:6px 10px;border-radius:7px;background:#eff6ff}.lot-scale-status strong{color:#1e40af;font-size:.75rem}.lot-scale-check{display:grid;gap:2px;min-width:270px;padding:7px 10px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#334155;font-size:.72rem}.lot-scale-check strong{color:#1e3a8a;font-size:.75rem}.lot-scale-check span{display:block}.lot-scale-check.is-ok{border-color:#86efac;background:#f0fdf4}.lot-scale-check.is-ok strong{color:#166534}.lot-scale-check.has-difference{border-color:#fdba74;background:#fff7ed}.lot-scale-check.has-difference strong{color:#9a3412}.lot-remove-plant{color:#b91c1c}.lot-empty-plant{justify-content:center;gap:10px;min-height:74px;margin-top:14px;border:1px dashed #94a3b8;border-radius:9px;color:#64748b}.lot-calibration-markers circle{fill:#f59e0b;stroke:#fff;stroke-width:1.5}.lot-calibration-markers line{stroke:#f59e0b;stroke-width:2;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.lot-calibration-markers text{fill:#92400e;font-size:9px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:2px}.lot-parameters small{display:block;margin-top:10px;color:#64748b}.lot-form-grid{display:grid;gap:12px}.lot-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.lot-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.lot-form-grid.five{grid-template-columns:repeat(5,minmax(130px,1fr))}.lot-form-grid label{color:#334155;font-size:.82rem;font-weight:600}.lot-form-grid input,.lot-form-grid select,.lot-toolbar input{width:100%;margin-top:5px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a}.lot-form-grid input:disabled,.lot-form-grid select:disabled{background:#f8fafc;color:#64748b}.lot-switch{display:flex;align-items:center;gap:9px;min-height:58px}.lot-switch input{width:18px;height:18px;margin:0}.lot-workspace{display:grid;grid-template-columns:minmax(700px,3.2fr) minmax(300px,.8fr);gap:16px;align-items:start}.lot-workspace.is-expanded{position:fixed;z-index:1200;top:10px;right:10px;bottom:10px;left:10px;grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:stretch;padding:10px;border-radius:14px;background:#e8eef6;box-shadow:0 18px 70px #0f172a52}.lot-network-page.is-standalone .lot-workspace{display:grid;flex:1 1 auto;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:stretch;gap:8px}.lot-network-page.is-standalone.properties-hidden .lot-workspace{grid-template-columns:minmax(0,1fr)}.lot-network-page.is-standalone.properties-hidden .lot-properties{display:none}.lot-network-page.is-standalone .lot-canvas-card{display:flex;min-width:0;min-height:0;flex-direction:column}.lot-network-page.is-standalone .lot-network-canvas{flex:1 1 auto;width:100%;min-height:0;height:100%;max-height:none}.lot-network-page.is-standalone .lot-properties{position:static;min-height:0;max-height:none;overflow:auto}.lot-network-page.is-standalone .lot-legend{flex:0 0 auto}.lot-canvas-card,.lot-properties{padding:0;overflow:hidden}.lot-toolbar{padding:10px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.lot-toolbar button{padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;cursor:pointer}.lot-toolbar button.active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.lot-toolbar button.delete-active{border-color:#dc2626;background:#dc2626}.lot-toolbar button.lot-restart-button{border-color:#fecaca;color:#b91c1c}.lot-toolbar button.lot-restart-button:hover:not(:disabled){background:#fef2f2}.lot-restart-confirmation{display:flex;align-items:center;gap:12px;padding:12px 14px;border:2px solid #ef4444;border-bottom-width:3px;background:#fff1f2;box-shadow:inset 0 0 0 1px #ffffffbf}.lot-restart-confirmation>i{color:#dc2626;font-size:1.35rem}.lot-restart-confirmation>div{display:grid;min-width:320px}.lot-restart-confirmation>div strong{color:#991b1b}.lot-restart-confirmation>div span{color:#7f1d1d;font-size:.75rem;line-height:1.35}.lot-restart-confirmation .btn-secondary{margin-left:auto}.lot-restart-confirmation .btn-danger{border-color:#b91c1c;background:#b91c1c;color:#fff;font-weight:800}.lot-transformer-transfer-panel,.lot-circuit-reassignment-panel{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid #a5b4fc;background:#eef2ff}.lot-transformer-transfer-heading,.lot-circuit-reassignment-heading{display:grid;min-width:310px}.lot-transformer-transfer-panel strong,.lot-circuit-reassignment-heading strong{color:#3730a3}.lot-transformer-transfer-panel span,.lot-circuit-reassignment-heading span{color:#4338ca;font-size:.72rem;line-height:1.35}.lot-transformer-transfer-panel .btn-primary{margin-left:auto}.lot-transformer-transfer-error{display:flex;align-items:flex-start;gap:7px;max-width:520px;padding:7px 9px;border:1px solid #fca5a5;border-radius:8px;background:#fef2f2;color:#991b1b;font-size:.72rem;line-height:1.35}.lot-transformer-transfer-error span{color:#991b1b}.lot-transformer-transfer-error i{margin-top:2px;color:#dc2626}.lot-transformer-transfer-warning{display:flex;align-items:flex-start;gap:7px;max-width:520px;padding:7px 9px;border:1px solid #fbbf24;border-radius:8px;background:#fffbeb;color:#92400e;font-size:.72rem;line-height:1.35}.lot-transformer-transfer-warning span{color:#92400e}.lot-transformer-transfer-warning i{margin-top:2px;color:#d97706}.lot-circuit-reassignment-panel{align-items:flex-end;flex-wrap:wrap}.lot-circuit-reassignment-heading{max-width:330px}.lot-circuit-source-list{display:grid;gap:4px;min-width:310px;max-height:126px;padding:7px 9px;overflow-y:auto;border:1px solid #c7d2fe;border-radius:7px;background:#fff}.lot-circuit-source-list label{display:flex;align-items:flex-start;gap:7px;color:#334155;font-size:.74rem;cursor:pointer}.lot-circuit-source-list label.is-orphaned{color:#b91c1c}.lot-circuit-source-list input{margin-top:2px}.lot-circuit-target{display:grid;gap:4px;min-width:220px;color:#3730a3;font-size:.72rem;font-weight:700}.lot-circuit-target select{margin:0}.lot-toolbar button:disabled{cursor:not-allowed;opacity:.45}.lot-toolbar-spacer{flex:1}.lot-toolbar input{width:88px;margin:0;padding:7px}.lot-review-filter-panel{display:flex;align-items:flex-end;gap:10px;padding:10px 12px;border-bottom:1px solid #93c5fd;background:#eff6ff}.lot-review-filter-heading{display:grid;min-width:245px;max-width:310px}.lot-review-filter-heading strong{color:#1e3a8a}.lot-review-filter-heading span{color:#1d4ed8;font-size:.72rem;line-height:1.35}.lot-review-filter-panel fieldset{display:flex;align-items:flex-end;gap:8px;min-width:0;margin:0;padding:5px 8px 8px;border:1px solid #bfdbfe;border-radius:8px;background:#ffffffb8}.lot-review-filter-panel legend{padding:0 4px;color:#1e40af;font-size:.7rem;font-weight:800}.lot-review-filter-panel label{display:grid;gap:3px;min-width:105px;color:#1e40af;font-size:.7rem;font-weight:700}.lot-review-filter-panel select{min-width:105px;margin:0;padding:6px 7px}.lot-review-filter-count{margin-left:auto;align-self:center;color:#1d4ed8;font-size:.76rem;font-weight:800;white-space:nowrap}.lot-post-search{display:inline-flex;align-items:center;gap:5px;padding:3px 4px 3px 8px;border:1px solid #93c5fd;border-radius:8px;background:#eff6ff}.lot-post-search label{display:inline-flex;align-items:center;gap:5px;color:#1e40af;font-size:.72rem;font-weight:700;white-space:nowrap}.lot-post-search input{width:86px;border-color:#bfdbfe;background:#fff}.lot-post-search button{padding:6px 8px;border-color:#2563eb;background:#2563eb;color:#fff}.lot-label-control{display:inline-flex;align-items:center;gap:6px;padding:2px 7px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569}.lot-label-control select{width:150px;padding:5px 2px;border:0;background:transparent;color:#334155;font-size:.75rem}.lot-zoom-controls{display:inline-flex;align-items:center;gap:3px;padding:2px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.lot-zoom-controls button{padding:5px 7px;border:0}.lot-zoom-controls strong{min-width:45px;color:#334155;font-size:.74rem;text-align:center}.lot-canvas-help{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 13px;background:#eff6ff;color:#1e40af;font-size:.78rem}.lot-focused-transformer-summary{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid #93c5fd;border-radius:7px;background:#fff;color:#1e3a8a}.lot-focused-transformer-summary b{color:#0f172a}.lot-focused-transformer-summary small{color:#475569}.lot-canvas-help button{margin-left:auto;padding:4px 8px;border:1px solid #93c5fd;border-radius:6px;background:#fff;color:#1d4ed8;font:inherit;cursor:pointer}.lot-network-canvas{display:block;width:100%;min-height:min(620px,72vh);height:auto;max-height:78vh;border-bottom:1px solid #e2e8f0;background:#fff;cursor:crosshair;overscroll-behavior:contain;touch-action:none}.lot-workspace.is-expanded .lot-canvas-card{display:flex;min-width:0;min-height:0;flex-direction:column}.lot-workspace.is-expanded .lot-network-canvas{flex:1;width:100%;min-height:0;height:100%;max-height:none}.lot-workspace.is-expanded .lot-properties{position:static;max-height:calc(100vh - 40px);overflow:auto}.lot-workspace.is-expanded .lot-legend{flex:0 0 auto}.lot-expand-workspace{border-color:#93c5fd!important;color:#1d4ed8!important}.lot-open-workspace{border-color:#2563eb!important;background:#eff6ff!important;color:#1d4ed8!important}.lot-network-canvas.mode-select{cursor:default}.lot-network-canvas.mode-pan{cursor:grab;touch-action:none}.lot-network-canvas.mode-pan.is-panning{cursor:grabbing}.lot-network-canvas.mode-calibrate,.lot-network-canvas.mode-trace,.lot-network-canvas.mode-lot{cursor:crosshair}.lot-network-canvas.mode-auto-roads{cursor:pointer}.lot-network-canvas.mode-auto-roads .lot-segment-group,.lot-network-canvas.mode-auto-roads .lot-post-group{pointer-events:none}.lot-network-canvas.mode-mt-source{cursor:crosshair}.lot-network-canvas.mode-move-post .lot-post-group{cursor:grab}.lot-network-canvas.mode-move-post .lot-post-group.is-dragging{cursor:grabbing}.lot-network-canvas.mode-move-post .lot-post-group.is-dragging circle{filter:drop-shadow(0 0 5px rgba(37,99,235,.75))}.lot-network-canvas.mode-move-post .lot-post-group.is-dragging .lot-post-symbol{opacity:1;filter:drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 5px rgba(37,99,235,.95))}.lot-network-canvas.mode-insert-post .lot-segment-group{cursor:copy}.lot-network-canvas.mode-delete,.lot-network-canvas.mode-assign-segments-transformer .lot-segment-group{cursor:pointer}.lot-network-canvas.mode-assign-segments-transformer .lot-post-group{cursor:not-allowed;opacity:.72}.lot-detection-panel{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid #a5b4fc;border-radius:9px;background:#eef2ff;color:#3730a3}.lot-detection-panel>div{display:grid;gap:2px;margin-right:auto}.lot-detection-panel span{color:#475569;font-size:.75rem}.lot-lot-group{pointer-events:none}.lot-circuit-area{fill-opacity:.16;stroke-opacity:.9;stroke-width:1.2;vector-effect:non-scaling-stroke}.lot-circuit-area.is-transformer-muted,.lot-segment-group.is-transformer-muted,.lot-post-footprints .is-transformer-muted,.lot-post-group.is-transformer-muted{opacity:.08}.lot-segment-group.is-review-filter-muted,.lot-post-footprints .is-review-filter-muted,.lot-post-group.is-review-filter-muted{opacity:.035;pointer-events:none}.lot-segment-group.is-review-filter-match,.lot-post-footprints .is-review-filter-match,.lot-post-group.is-review-filter-match{filter:drop-shadow(0 0 2px rgba(37,99,235,.9))}.lot-post-anchor circle{fill:#000;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.lot-post-anchor line{stroke:#2563eb;stroke-width:1.4;vector-effect:non-scaling-stroke}.lot-lot-group.is-reviewing{pointer-events:all;cursor:pointer}.lot-lot-group.is-reviewing:hover .lot-lot-marker{fill:#fff1f2;stroke:#ef4444;stroke-width:3}.lot-lot-group.is-review-selected .lot-lot-marker{fill:#fee2e2;stroke:#dc2626;stroke-width:3;filter:drop-shadow(0 0 2px rgba(220,38,38,.8))}.lot-lot-group.is-review-selected .lot-lot-label{fill:#b91c1c;font-weight:700}.lot-lot-group.is-assigning{pointer-events:all;cursor:pointer}.lot-lot-group.is-assigning:hover .lot-lot-marker{fill:#fff7ed;stroke-width:3}.lot-lot-group.is-moving-information{pointer-events:all;cursor:grab}.lot-lot-group.is-moving-information:hover .lot-lot-marker,.lot-lot-group.is-moving-information.is-dragging .lot-lot-marker{stroke:#2563eb;stroke-width:3;filter:drop-shadow(0 0 2px rgba(37,99,235,.8))}.lot-lot-group.is-moving-information.is-dragging{cursor:grabbing}.lot-lot-group.is-transformer-muted{opacity:.12}.lot-lot-group.is-transformer-focused .lot-lot-marker{fill:color-mix(in srgb,var(--lot-color) 16%,white);stroke-width:3;filter:drop-shadow(0 0 2px var(--lot-color))}.lot-lot-group.is-transformer-focused .lot-lot-label{font-weight:700}.lot-assignment-selection{fill:#2563eb1f;stroke:#2563eb;stroke-width:1.5;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.lot-lot-marker{fill:#fff;fill-opacity:1;stroke:#111827;stroke-width:1.7;vector-effect:non-scaling-stroke}.lot-lot-group.is-circuit-assigned .lot-lot-marker{fill:#fff;fill-opacity:1}.lot-lot-service-terminal line{stroke:#111827;stroke-width:1.25;stroke-linecap:square;vector-effect:non-scaling-stroke}.lot-lot-circuit-label{pointer-events:none}.lot-lot-label{fill:var(--lot-color, #9a3412);font-size:3.8px;font-weight:400;paint-order:stroke;stroke:#fff;stroke-width:.4px}.lot-selected-transformer{display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:.78rem;font-weight:800}.lot-selected-transformer i{width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--selected-transformer-color, #ea580c);box-shadow:0 0 0 1px #64748b}.lot-post-rotation-field{grid-column:1 / -1}.lot-post-rotation-control{display:grid;grid-template-columns:auto minmax(80px,1fr) auto;gap:6px}.lot-post-rotation-control button,.lot-post-rotation-auto{border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#334155;cursor:pointer;font-size:.72rem;font-weight:700}.lot-post-rotation-control button{padding:6px 9px}.lot-post-rotation-auto{width:100%;margin-top:5px;padding:5px 8px}.lot-post-rotation-control button:disabled,.lot-post-rotation-auto:disabled{cursor:not-allowed;opacity:.5}.lot-delete-panel{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #fecaca;background:#fef2f2}.lot-delete-panel>div{display:grid;min-width:280px}.lot-delete-panel>div strong{color:#991b1b}.lot-delete-panel>div span{color:#7f1d1d;font-size:.72rem}.lot-delete-count{margin-left:auto;color:#b91c1c;font-size:.78rem;font-weight:800;white-space:nowrap}.lot-delete-panel .btn-danger{border-color:#dc2626;background:#dc2626;color:#fff}.lot-segment-transformer-panel{display:flex;align-items:flex-end;gap:10px;padding:10px 12px;border-bottom:1px solid #c4b5fd;background:#f5f3ff}.lot-segment-transformer-panel>div{display:grid;min-width:310px}.lot-segment-transformer-panel>div strong{color:#5b21b6}.lot-segment-transformer-panel>div span{color:#6d28d9;font-size:.72rem;line-height:1.35}.lot-segment-transformer-panel>label{display:grid;gap:4px;min-width:230px;color:#5b21b6;font-size:.72rem;font-weight:700}.lot-segment-transformer-panel select{margin:0}.lot-segment-transformer-count{margin-left:auto;align-self:center;color:#6d28d9;font-size:.78rem;font-weight:800;white-space:nowrap}.lot-review-panel{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #fed7aa;background:#fff7ed}.lot-review-selection{fill:#dc26261a;stroke:#dc2626;stroke-width:1.5;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.lot-review-panel>div{display:grid;min-width:300px}.lot-review-panel>div strong{color:#9a3412}.lot-review-panel>div span{color:#9a3412;font-size:.72rem}.lot-review-count{margin-left:auto;color:#c2410c;font-size:.78rem;font-weight:800;white-space:nowrap}.lot-review-panel .btn-danger{border-color:#dc2626;background:#dc2626;color:#fff}.lot-auto-road-panel{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #93c5fd;background:#eff6ff}.lot-auto-road-panel>div{display:grid;min-width:320px}.lot-auto-road-panel>div strong{color:#1e3a8a}.lot-auto-road-panel>div span{color:#1d4ed8;font-size:.72rem}.lot-auto-road-count{margin-left:auto;color:#1d4ed8;font-size:.78rem;font-weight:800;white-space:nowrap}.lot-auto-road-preview polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke;transition:opacity .15s,stroke-width .15s}.lot-auto-road-preview polyline.is-selected{stroke:#2563eb;stroke-width:4;opacity:.9;filter:drop-shadow(0 0 2px rgba(37,99,235,.65))}.lot-auto-road-preview polyline.is-muted{stroke:#94a3b8;stroke-width:2;stroke-dasharray:5 5;opacity:.48}.lot-auto-road-preview polyline:hover{stroke:#0ea5e9;stroke-width:6;opacity:1}.lot-alignment-panel{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #67e8f9;background:#ecfeff}.lot-alignment-panel>div{display:grid;min-width:300px}.lot-alignment-panel>div strong{color:#155e75}.lot-alignment-panel>div span{color:#0e7490;font-size:.72rem}.lot-alignment-option{display:grid;gap:3px;color:#155e75;font-size:.72rem;font-weight:800;white-space:nowrap}.lot-alignment-option select{min-width:190px;border-color:#67e8f9;background:#fff;color:#164e63}.lot-alignment-count{margin-left:auto;color:#0e7490;font-size:.78rem;font-weight:800;white-space:nowrap}.lot-alignment-target-line{stroke:#22d3ee;stroke-linecap:round;opacity:.55;pointer-events:none}.lot-alignment-path-ring{fill:none;stroke:#06b6d4;stroke-width:3;stroke-dasharray:4 3;pointer-events:none}.lot-alignment-endpoint-ring{fill:none;stroke:#0891b2;stroke-width:4;pointer-events:none}.lot-trace-panel{display:flex;align-items:end;gap:10px;padding:10px 12px;border-bottom:1px solid #bfdbfe;background:#eff6ff}.lot-trace-panel>div{display:grid;min-width:180px}.lot-trace-panel>div span{color:#475569;font-size:.72rem}.lot-trace-panel label{display:grid;gap:3px;color:#334155;font-size:.72rem}.lot-trace-panel select{min-width:110px;padding:7px}.lot-trace-count{align-self:center;color:#1d4ed8;font-size:.76rem;font-weight:700}.lot-trace-preview{pointer-events:none}.lot-trace-preview polyline{fill:none;stroke:var(--trace-color, #f97316);stroke-width:2;stroke-dasharray:7 5}.lot-trace-preview circle{fill:#fff;stroke:var(--trace-color, #f97316);stroke-width:1.5}.lot-trace-preview text{fill:var(--trace-color, #f97316);font-size:8px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:2px}.lot-transformer-planning{display:grid;gap:12px}.lot-mt-source-panel{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #fca5a5;border-radius:8px;background:#fff7f7;color:#991b1b}.lot-mt-source-panel>div{display:grid;gap:2px;margin-right:auto}.lot-mt-source-panel span{color:#64748b;font-size:.76rem}.lot-unit-totals{max-width:900px}.lot-demand-memory{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#334155;font-size:.79rem}.lot-demand-memory strong{flex:0 0 auto;color:#1e3a8a}.lot-mt-missing-warning{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #fdba74;border-radius:8px;background:#fff7ed;color:#9a3412}.lot-mt-missing-warning>div{display:grid;gap:2px}.lot-mt-missing-warning span{font-size:.76rem}.lot-road-optimization-info{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #86efac;border-radius:8px;background:#f0fdf4;color:#166534}.lot-road-optimization-info>div{display:grid;gap:2px}.lot-road-optimization-info span{font-size:.76rem}.lot-scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lot-scenario-card{padding:14px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}.lot-scenario-card.recommended{border-color:#22c55e;background:#f0fdf4;box-shadow:inset 4px 0 #22c55e}.lot-scenario-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.lot-scenario-heading>div{display:grid;gap:4px}.lot-scenario-heading span{width:max-content;padding:2px 7px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.7rem;font-weight:800;text-transform:uppercase}.lot-scenario-card p{margin:10px 0;color:#475569;font-size:.8rem}.lot-mt-position-rule,.lot-scenario-warning{display:flex;align-items:center;gap:6px;margin:8px 0;padding:7px 9px;border-radius:6px;font-size:.74rem;font-weight:700}.lot-mt-position-rule{background:#ede9fe;color:#6d28d9}.lot-scenario-warning{background:#fff7ed;color:#c2410c}.lot-location-list{display:grid;gap:6px}.lot-location-list span{padding:7px 9px;border-radius:6px;background:#fff;color:#334155;font-size:.76rem}.lot-circuit-detail,.lot-circuit-incomplete{display:block;margin-top:3px;font-size:.68rem;font-weight:600}.lot-circuit-detail{color:#475569}.lot-circuit-incomplete{color:#b91c1c}.lot-automatic-load-note{display:block;padding:8px;border:1px solid #93c5fd;border-radius:7px;background:#eff6ff;color:#1e40af;font-weight:600}.lot-neutral-link-option{display:flex!important;grid-column:1 / -1;align-items:flex-start;gap:9px!important;padding:10px 11px;border:1px solid #5eead4;border-radius:8px;background:#f0fdfa;color:#115e59!important;cursor:pointer}.lot-neutral-link-option input{width:auto!important;margin:2px 0 0}.lot-neutral-link-option span{display:grid;gap:2px}.lot-neutral-link-option b{color:#115e59}.lot-neutral-link-option small{color:#0f766e;font-size:.7rem;font-weight:500}.lot-neutral-note{display:block;padding:9px 10px;border:1px solid #5eead4;border-radius:7px;background:#f0fdfa;color:#115e59;font-weight:600}.lot-neutral-status{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px;padding:10px 12px;border:1px solid;border-radius:8px}.lot-neutral-status>i{margin-top:2px}.lot-neutral-status>div{display:grid;gap:2px}.lot-neutral-status span{font-size:.74rem}.lot-neutral-status.is-continuous{border-color:#5eead4;background:#f0fdfa;color:#115e59}.lot-neutral-status.is-disconnected{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.lot-result-box.neutral{border-color:#5eead4;background:#f0fdfa;color:#115e59}.lot-circuit-compliant,.lot-circuit-warning{display:block;margin-top:3px;font-size:.68rem;font-weight:700}.lot-circuit-compliant{color:#15803d}.lot-circuit-warning{color:#b45309}.lot-circuit-locate{display:flex;width:max-content;margin-top:5px;padding:3px 7px;font-size:.68rem}.lot-result-box.pending{border-color:#f59e0b;background:#fffbeb;color:#92400e}.lot-post-group,.lot-segment-group{cursor:pointer}.lot-transformer-focus-ring{fill:none;stroke:#2563eb;stroke-width:2;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.lot-transformer-move-ring{fill:none;stroke-width:5;stroke-dasharray:6 3;vector-effect:non-scaling-stroke;pointer-events:none}.lot-transformer-move-ring.source{stroke:#f97316}.lot-transformer-move-ring.target{stroke:#16a34a}.lot-transformer-move-ring.target.invalid{stroke:#dc2626}.lot-transformer-move-ring.target.warning{stroke:#d97706}.lot-segment-transformer-highlight{stroke:#7c3aed;stroke-linecap:round;opacity:.42;pointer-events:none;filter:drop-shadow(0 0 2px rgba(124,58,237,.75))}.lot-post-hit-area{pointer-events:all}.lot-transformer-post-symbol{pointer-events:none}.lot-transformer-post-symbol path,.lot-transformer-post-symbol ellipse{fill:none;stroke:var(--transformer-color, #7c3aed);stroke-width:.42;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.lot-transformer-post-symbol path.is-body,.lot-transformer-post-symbol ellipse{fill:color-mix(in srgb,var(--transformer-color, #7c3aed) 12%,white)}.lot-bt-anchoring line{fill:none;stroke:#f97316;stroke-width:1.7px;stroke-linecap:square;vector-effect:non-scaling-stroke}.lot-bt-anchoring text,.lot-neutral-post-label{fill:#0f766e;stroke:#fff;stroke-width:.55px;paint-order:stroke;font-size:3.8px;font-weight:400;text-anchor:middle;dominant-baseline:central}.lot-bt-anchoring.is-neutral-interconnection line{stroke:#0f766e}.lot-post-footprint-shape{fill:#000;stroke:#000;stroke-width:.16px;vector-effect:non-scaling-stroke}.lot-post-footprint-detail,.lot-post-footprint-outline,.lot-post-footprint-outline-detail{fill:none;stroke:#0f172a;stroke-width:.16px;vector-effect:non-scaling-stroke;pointer-events:none}.lot-post-footprint-detail{stroke:#000}.lot-post-group.is-selected .lot-post-footprint-outline,.lot-post-group.is-selected .lot-post-footprint-outline-detail,.lot-post-group.is-selected .lot-post-footprint-shape{stroke:#1d4ed8;stroke-width:.28px}.lot-post-group.is-marked-for-deletion .lot-post-footprint-outline,.lot-post-group.is-marked-for-deletion .lot-post-footprint-outline-detail,.lot-post-group.is-marked-for-deletion .lot-post-footprint-shape{stroke:#dc2626;stroke-width:.3px}.lot-post-selection-ring{fill:#2563eb14;stroke:#2563eb;stroke-width:3px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 2px rgba(37,99,235,.8))}.lot-grounding-symbol,.lot-service-connection{pointer-events:none}.lot-export-hidden{display:none}.lot-validation-target-ring{fill:none;stroke:#dc2626;stroke-width:4px;pointer-events:none;animation:lot-validation-pulse 1s ease-in-out infinite}.lot-validation-target-lot{vector-effect:non-scaling-stroke}.lot-validation-target-line{stroke:#dc2626;stroke-linecap:round;opacity:.35;pointer-events:none;animation:lot-validation-line-pulse 1s ease-in-out infinite}.lot-critical-post-ring,.lot-suggested-post-ring{fill:none;stroke-width:5px;pointer-events:none;vector-effect:non-scaling-stroke;animation:lot-validation-pulse 1s ease-in-out infinite}.lot-critical-post-ring{stroke:#dc2626}.lot-suggested-post-ring{stroke:#16a34a}.lot-circuit-path-line{stroke:#dc2626;stroke-linecap:round;opacity:.5;pointer-events:none;animation:lot-validation-line-pulse 1s ease-in-out infinite}.lot-circuit-path-line.suggested{stroke:#16a34a}@keyframes lot-validation-pulse{0%,to{opacity:.35;stroke-width:3px}50%{opacity:1;stroke-width:7px}}@keyframes lot-validation-line-pulse{0%,to{opacity:.2}50%{opacity:.75}}.lot-post-label{font-size:12px;font-weight:800;fill:#0f172a;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.lot-structure-label{font-size:9px;font-weight:700;fill:#475569;paint-order:stroke;stroke:#fff;stroke-width:2px}.lot-transformer-label{font-size:10px;font-weight:700;fill:#92400e}.lot-segment-label,.lot-segment-distance-label{font-size:5.5px;font-weight:800;fill:#0f172a;paint-order:stroke;stroke:#fff;stroke-width:1.35px;stroke-linejoin:round}.lot-segment-spacer-label{font-size:4.5px;font-weight:800;fill:#d600a9;paint-order:stroke;stroke:#fff;stroke-width:1px;stroke-linejoin:round}.lot-segment-cable-pill{fill:#fffffff5;stroke-width:.9px}.lot-segment-cable-pill.mt{stroke:#d600a9}.lot-segment-cable-pill.bt{stroke:#f97316}.lot-segment-cable-text{font-size:4.2px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:.5px;stroke-linejoin:round}.lot-segment-cable-text.mt{fill:#d600a9}.lot-segment-cable-text.bt{fill:#c2410c}.lot-post-callout-box{fill:none;stroke:#0f172a;stroke-width:2px}.lot-post-callout-leader{stroke:#0f172a}.lot-post-callout-header,.lot-post-callout-mt,.lot-post-callout-bt{font-weight:800;fill:#0f172a}.lot-post-callout-header{font-size:9px}.lot-post-callout-mt,.lot-post-callout-bt{font-size:8.5px}.lot-network-canvas.mode-move-label .lot-post-callout{cursor:grab}.lot-network-canvas.mode-move-label .lot-post-callout.is-dragging{cursor:grabbing}.lot-network-canvas.mode-move-label .lot-segment-information{cursor:grab}.lot-network-canvas.mode-move-label .lot-segment-information.is-dragging{cursor:grabbing}.lot-post-callout-hit{pointer-events:all}.lot-segment-information-hit{pointer-events:none}.lot-network-canvas.mode-move-label .lot-segment-information-hit{pointer-events:all}.lot-legend{padding:9px 13px;color:#64748b;font-size:.76rem}.lot-legend span{display:inline-flex;align-items:center;gap:5px}.lot-legend i{width:24px;height:0;display:inline-block;border-top:3px dashed currentColor}.lot-legend i.road{color:#64748b;border-top-width:2px;border-top-style:dotted}.lot-legend i.bt{color:#f97316}.lot-legend i.mt{color:#d600a9}.lot-legend i.dual{position:relative;color:#f97316}.lot-legend i.dual:after{content:"";position:absolute;left:0;right:0;top:-7px;border-top:3px dashed #d600a9}.lot-legend i.bt-anchor{position:relative;width:19px;height:10px;border:0;color:#f97316}.lot-legend i.bt-anchor:before,.lot-legend i.bt-anchor:after{content:"";position:absolute;left:7px;width:11px;border-top:2px solid currentColor;transform-origin:left center}.lot-legend i.bt-anchor:before{top:5px;transform:rotate(28deg)}.lot-legend i.bt-anchor:after{top:5px;transform:rotate(-28deg)}.lot-legend i.neutral-link{width:22px;height:16px;border:1px dashed #0f766e;border-radius:3px;color:#0f766e;font-style:normal;font-size:8px;font-weight:400;line-height:14px;text-align:center}.lot-transformer-color{width:11px;height:11px;display:inline-block;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #94a3b8}.lot-transformer-color-editor{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.lot-transformer-color-heading{display:flex;align-items:center;gap:9px}.lot-transformer-color-heading>i{width:28px;height:28px;flex:0 0 auto;border:3px solid #fff;border-radius:50%;background:var(--circuit-color);box-shadow:0 0 0 1px #64748b}.lot-transformer-color-heading>div{display:grid;flex:1;gap:2px}.lot-transformer-color-heading strong{color:#1e3a8a;font-size:.82rem}.lot-transformer-color-heading span{color:#475569;font-size:.7rem;line-height:1.3}.lot-transformer-color-heading code{color:#334155;font-size:.7rem}.lot-transformer-color-palette{display:grid;grid-template-columns:repeat(6,minmax(28px,1fr));gap:7px}.lot-transformer-color-palette button{position:relative;display:grid;min-width:0;height:34px;place-items:center;padding:3px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer}.lot-transformer-color-palette button:disabled{cursor:default;opacity:.65}.lot-transformer-color-palette button>i{width:19px;height:19px;border-radius:50%;background:var(--circuit-color);box-shadow:0 0 0 1px #0f172a40}.lot-transformer-color-palette button.is-selected{border-color:#1d4ed8;box-shadow:0 0 0 2px #2563eb40}.lot-transformer-color-palette button.is-used:not(.is-selected){background:#f8fafc}.lot-transformer-color-palette button small{position:absolute;right:2px;bottom:1px;color:#475569;font-size:.48rem;font-weight:800}.lot-transformer-color-controls{display:flex;align-items:end;gap:8px}.lot-transformer-color-controls label{display:grid;gap:4px;color:#334155;font-size:.7rem;font-weight:700}.lot-transformer-color-controls input[type=color]{width:54px;height:34px;padding:2px;cursor:pointer}.lot-transformer-color-controls .btn{flex:1;min-height:34px;white-space:normal}.lot-transformer-color-warning{display:flex;align-items:flex-start;gap:6px;color:#b45309;font-weight:700;line-height:1.35}.lot-transformer-color-note{color:#475569;line-height:1.35}.lot-properties{padding:18px;position:sticky;top:74px}.lot-properties h3{margin:18px 0 10px;color:#334155;font-size:.9rem}.lot-result-box{display:grid;gap:5px;margin-top:16px;padding:12px;border:1px solid #bfdbfe;border-radius:9px;background:#eff6ff;color:#334155;font-size:.8rem}.lot-result-box strong{color:#1e3a8a}.lot-results-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.lot-results-toolbar{display:none}.lot-network-page.is-standalone>.lot-results-grid.is-visible{display:grid;position:fixed;z-index:1700;top:8px;right:8px;bottom:8px;left:8px;align-content:start;padding:16px;overflow:auto;border-radius:12px;background:#e8eef6;box-shadow:0 18px 70px #0f172a52}.lot-network-page.is-standalone .lot-results-toolbar{display:flex;position:sticky;z-index:2;top:0;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fffffff7;box-shadow:0 4px 16px #0f172a1a}.lot-results-toolbar>div{display:grid;gap:2px}.lot-results-toolbar span{color:#475569;font-size:.8rem}.lot-results-grid table{width:100%}.lot-results-grid th,.lot-results-grid td{padding:10px 8px;text-align:left}.lot-validation-list{display:grid;gap:8px}.lot-validation{align-items:flex-start;gap:9px;padding:9px;border-radius:8px}button.lot-validation{width:100%;border:0;font:inherit;text-align:left}button.lot-validation:disabled{cursor:default;opacity:1}button.lot-validation.locatable{cursor:pointer;transition:transform .16s,box-shadow .16s}button.lot-validation.locatable:hover{transform:translate(3px);box-shadow:0 3px 10px #0f172a1f}.lot-validation>div{display:grid;gap:2px}.lot-validation strong{font-size:.78rem}.lot-validation span{color:#475569;font-size:.78rem}.lot-validation.erro{background:#fef2f2;color:#b91c1c}.lot-validation.aviso{background:#fffbeb;color:#b45309}.lot-validation.ok{background:#f0fdf4;color:#15803d}.lot-validation-locate{margin-left:auto;align-self:center}.lot-validations-card{scroll-margin-top:84px;transition:box-shadow .25s,border-color .25s}.lot-validations-card.highlight{border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b38}@media(max-width:1250px){.lot-summary-grid,.lot-form-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.lot-workspace{grid-template-columns:1fr}.lot-properties{position:static}.lot-trace-panel,.lot-delete-panel,.lot-segment-transformer-panel{align-items:stretch;flex-wrap:wrap}.lot-segment-transformer-panel>div{width:100%;min-width:0}.lot-segment-transformer-count{margin-left:0;align-self:center}.lot-restart-confirmation{align-items:stretch;flex-wrap:wrap}.lot-restart-confirmation>div{width:calc(100% - 40px);min-width:0}.lot-restart-confirmation .btn-secondary{margin-left:0}.lot-circuit-check{flex-wrap:wrap}.lot-circuit-check>.lot-circuit-check-content{flex-basis:calc(100% - 42px)}.lot-circuit-check-navigation{align-items:stretch;flex-direction:column}.lot-circuit-check-actions{width:100%;flex-wrap:wrap}.lot-circuit-focus-navigation{align-items:stretch;flex-direction:column}.lot-circuit-focus-navigation>div:first-child span{white-space:normal}.lot-circuit-focus-navigation>div:last-child{flex-wrap:wrap}.lot-transformer-transfer-panel,.lot-circuit-reassignment-panel{align-items:stretch;flex-wrap:wrap}.lot-transformer-transfer-heading,.lot-transformer-transfer-error,.lot-transformer-transfer-warning,.lot-circuit-reassignment-heading,.lot-circuit-source-list{width:100%;min-width:0}.lot-transformer-transfer-panel .btn-primary{margin-left:0}.lot-review-panel{align-items:stretch;flex-wrap:wrap}.lot-review-count{margin-left:0;align-self:center}.lot-auto-road-panel{align-items:stretch;flex-wrap:wrap}.lot-auto-road-count{margin-left:0;align-self:center}.lot-alignment-panel{align-items:stretch;flex-wrap:wrap}.lot-alignment-count{margin-left:0;align-self:center}.lot-detection-panel{align-items:stretch;flex-wrap:wrap}.lot-detection-panel>div{width:100%}.lot-mt-source-panel{align-items:stretch;flex-wrap:wrap}.lot-mt-source-panel>div{width:calc(100% - 30px)}.lot-delete-count{margin-left:0;align-self:center}}@media(max-width:760px){.lot-network-header{align-items:flex-start;flex-direction:column}.lot-summary-grid,.lot-results-grid,.lot-form-grid.two,.lot-form-grid.four,.lot-form-grid.five{grid-template-columns:1fr}.lot-workspace{display:block}.lot-properties{margin-top:16px}.lot-network-canvas{min-height:390px}.lot-backup-heading,.lot-backup-version-heading{align-items:stretch;flex-direction:column}.lot-backup-create{grid-template-columns:1fr}.lot-backup-create>small{grid-column:auto}.lot-backup-confirmation>span{flex-basis:calc(100% - 35px)}.lot-scenario-grid{grid-template-columns:1fr}.lot-network-page.is-standalone .lot-results-toolbar{align-items:stretch;flex-direction:column}.lot-demand-memory{align-items:flex-start;flex-direction:column}}:root{--primary: #1e40af;--primary-light: #3b82f6;--primary-dark: #1e3a5f;--secondary: #0ea5e9;--accent: #06b6d4;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #6366f1;--dark: #0f172a;--dark-light: #1e293b;--dark-lighter: #334155;--menu-bg: #0f172a;--menu-accent: #1e40af;--menu-text: #cbd5e1;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--sidebar-width: 260px;--sidebar-collapsed: 72px;--header-height: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--gray-100);color:var(--dark);overflow-x:hidden}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:linear-gradient(135deg,var(--dark) 0%,var(--primary-dark) 50%,var(--primary) 100%);display:flex;align-items:center;justify-content:center}.login-container{display:flex;width:900px;max-width:95vw;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 25px 50px -12px #0006}.login-left{flex:1;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:48px;color:#fff;display:flex;flex-direction:column;justify-content:center}.login-left h1{font-size:2.5rem;margin-bottom:16px}.login-logo-frame{width:100%;max-width:310px;min-height:112px;margin-bottom:24px;padding:18px;border-radius:var(--radius-md);background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.login-logo{display:block;max-width:100%;max-height:90px;object-fit:contain}.login-left p{font-size:1.1rem;opacity:.9;margin-bottom:32px}.login-feature{display:flex;align-items:center;gap:12px;margin-bottom:16px}.login-feature i{font-size:1.2rem}.login-right{flex:1;padding:48px;display:flex;flex-direction:column;justify-content:center}.login-right h2{font-size:1.75rem;margin-bottom:8px;color:var(--dark)}.login-right p{color:var(--gray-500);margin-bottom:32px}.login-options{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f61a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.btn-ghost{background:transparent;color:var(--gray-600)}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-lg{padding:14px 28px;font-size:1rem}.btn-block{width:100%}.auth-message{padding:10px 12px;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:14px}.auth-message.success{background:#d1fae5;color:#065f46}.auth-message.error{background:#fee2e2;color:#991b1b}.auth-local-link{display:flex;flex-direction:column;gap:5px;padding:12px;margin-bottom:14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-sm);color:#1e3a8a;font-size:.85rem}.auth-local-link a{color:var(--primary);font-weight:600}.auth-back-link{display:inline-flex;align-items:center;gap:7px;margin-top:20px;color:var(--primary);text-decoration:none;font-size:.9rem}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--menu-bg);color:var(--menu-text);position:fixed;height:100vh;overflow-y:auto;z-index:100;transition:width .3s}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;border:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-header{height:var(--header-height);display:flex;align-items:center;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h1{font-size:1.25rem;font-weight:700}.sidebar-header h1 span{color:var(--accent)}.sidebar-nav{padding:16px 0}.nav-section{margin-bottom:8px}.nav-section-title{padding:8px 20px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--menu-text);opacity:.65;font-weight:600}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 20px;color:var(--menu-text);text-decoration:none;font-size:.9rem;transition:all .2s;cursor:pointer;border:none;background:none;width:100%}.nav-item:hover{background:color-mix(in srgb,var(--menu-accent) 38%,transparent);color:var(--menu-text)}.nav-item.active{background:var(--menu-accent);color:var(--menu-text)}.nav-item i{width:20px;text-align:center;font-size:1rem}.nav-group-toggle{justify-content:flex-start}.nav-group-chevron{margin-left:auto;font-size:.72rem!important;opacity:.8}.nav-submenu{padding:3px 0 6px;background:color-mix(in srgb,var(--menu-bg) 82%,black)}.nav-subitem{display:block;padding:8px 20px 8px 52px;color:var(--menu-text);text-decoration:none;font-size:.84rem;opacity:.9;border-left:3px solid transparent;transition:all .2s}.nav-subitem:hover{background:color-mix(in srgb,var(--menu-accent) 24%,transparent);opacity:1}.nav-subitem.active{background:color-mix(in srgb,var(--menu-accent) 38%,transparent);border-left-color:var(--menu-accent);color:var(--menu-text);opacity:1;font-weight:600}.nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:600}.main-content{flex:1;min-width:0;margin-left:var(--sidebar-width);min-height:100vh}.header{height:var(--header-height);background:#fff;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.header-left,.header-right{display:flex;align-items:center;gap:16px}.header-btn{width:40px;height:40px;border-radius:var(--radius-sm);border:none;background:var(--gray-100);color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.header-btn:hover{background:var(--gray-200)}.notification-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--danger);border-radius:50%;border:2px solid var(--gray-100)}.notification-wrapper{position:relative}.notification-count{position:absolute;top:-5px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--danger);color:#fff;border:2px solid white;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.notification-panel{position:absolute;top:48px;right:0;width:min(380px,calc(100vw - 32px));max-height:480px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:200}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--gray-200)}.notification-panel-header button{border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:.75rem}.notification-list{max-height:420px;overflow-y:auto}.notification-item{width:100%;display:flex;gap:10px;padding:13px 16px;border:0;border-bottom:1px solid var(--gray-100);background:#fff;color:var(--dark);text-align:left;cursor:pointer}.notification-item:hover{background:var(--gray-100)}.notification-item.unread{background:#eff6ff}.notification-icon{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#dbeafe;color:var(--primary);display:flex;align-items:center;justify-content:center}.notification-content{display:flex;flex-direction:column;gap:3px;min-width:0}.notification-content strong{font-size:.84rem}.notification-content span{color:var(--gray-600);font-size:.78rem;white-space:normal}.notification-content small{color:var(--gray-400);font-size:.7rem}.notification-empty{padding:28px 16px;text-align:center;color:var(--gray-500);font-size:.85rem}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.page-content{width:100%;min-width:0;max-width:100%;padding:24px}.page-header{margin-bottom:24px}.page-header h1{font-size:1.5rem;font-weight:700;color:var(--dark)}.page-header p{color:var(--gray-500);margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.stat-card-link{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.stat-card-link:hover{border-color:var(--primary);transform:translateY(-2px)}.stat-card-link:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat-card-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.stat-card-icon.blue{background:#dbeafe;color:var(--primary)}.stat-card-icon.red{background:#fee2e2;color:var(--danger)}.stat-card-icon.green{background:#d1fae5;color:var(--success)}.stat-card-icon.amber{background:#fef3c7;color:#d97706}.stat-card-value{font-size:1.75rem;font-weight:700;color:var(--dark)}.stat-card-label{font-size:.85rem;color:var(--gray-500);margin-top:4px}.stat-card-change{font-size:.8rem;margin-top:8px;font-weight:500}.stat-card-change.up{color:var(--success)}.stat-card-change.down{color:var(--danger)}.card{background:#fff;border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);margin-bottom:20px;min-width:0;max-width:100%;overflow-x:auto}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:1.1rem;font-weight:600;color:var(--dark)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:12px 16px;font-size:.8rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--gray-200);background:var(--gray-100)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--gray-200);font-size:.9rem}.data-table tr:hover{background:var(--gray-100)}.data-table tr{cursor:pointer}.project-link{color:var(--primary);text-decoration:none;display:inline-flex;flex-direction:column;gap:2px}.project-link:hover{text-decoration:underline}.project-link span{color:var(--gray-500);font-size:.8rem}.projects-table-card{padding:0;overflow:auto}.projects-table{min-width:1240px;table-layout:fixed}.projects-table thead{position:sticky;top:0;z-index:2}.projects-table th{padding:11px 12px;white-space:nowrap}.sortable-table-header{padding:0!important}.sortable-table-header>button{display:flex;width:100%;min-height:42px;align-items:center;justify-content:space-between;gap:7px;padding:11px 12px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer}.sortable-table-header>button:hover{background:var(--gray-200);color:var(--gray-700)}.sortable-table-header.active>button{color:var(--primary)}.sortable-table-header i{color:var(--gray-400);font-size:.72rem}.sortable-table-header.active i{color:var(--primary)}.projects-actions-header{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:7px}.projects-table td{padding:11px 12px;vertical-align:middle}.projects-table-row{transition:background-color .15s ease,box-shadow .15s ease}.projects-table-row:hover{background:#f8fafc;box-shadow:inset 3px 0 0 var(--primary)}.projects-col-code{width:92px}.projects-col-name{width:300px}.projects-col-client{width:220px}.projects-col-type{width:120px}.projects-col-status{width:240px}.projects-col-progress{width:115px}.projects-col-deadline{width:112px}.projects-col-owner{width:170px}.projects-col-actions{width:156px}.project-code{display:inline-flex;align-items:center;padding:5px 8px;border-radius:7px;background:#eff6ff;color:#1d4ed8;font-weight:700;font-size:.78rem;line-height:1.15}.project-name,.project-client{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.28}.project-name{color:var(--dark);font-weight:600}.project-condensed-details{display:none;flex-wrap:wrap;gap:4px 10px;margin-top:6px;color:var(--gray-500);font-size:.7rem;line-height:1.25}.project-condensed-details span{display:none;align-items:center;gap:4px}.project-client{font-size:.85rem}.project-partner{margin-top:4px;color:var(--gray-500);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-partner i{margin-right:3px}.project-status-select{width:100%;min-height:34px;padding:5px 28px 5px 10px;border:1px solid currentColor;border-radius:8px;cursor:pointer;font-size:.76rem;font-weight:700;text-transform:uppercase;box-shadow:0 1px 2px #0f172a17;transition:filter .15s ease,box-shadow .15s ease,transform .15s ease}.project-status-select:hover{filter:brightness(.96) saturate(1.12);box-shadow:0 2px 5px #0f172a29}.project-status-select:focus{outline:2px solid rgba(37,99,235,.22);outline-offset:2px}.project-status-select:disabled{opacity:.78;cursor:not-allowed}.project-status-select.badge-blue{background:#bfdbfe;color:#1e3a8a}.project-status-select.badge-green{background:#a7f3d0;color:#064e3b}.project-status-select.badge-yellow,.project-status-select.badge-amber{background:#fde68a;color:#78350f}.project-status-select.badge-red{background:#fecaca;color:#7f1d1d}.project-status-select.badge-gray{background:#e2e8f0;color:#334155}.project-status-select.badge-purple,.project-status-select.badge-indigo{background:#c7d2fe;color:#312e81}.project-status-select.badge-orange{background:#fed7aa;color:#7c2d12}.project-status-select.badge-cyan{background:#a5f3fc;color:#164e63}.project-status-select.badge-teal{background:#99f6e4;color:#134e4a}.project-status-select.badge-pink{background:#fbcfe8;color:#831843}.project-status-cell>div{overflow:hidden;text-overflow:ellipsis}.project-progress{display:flex;align-items:center;gap:8px}.project-progress .progress-bar{flex:1;min-width:54px}.project-progress>span{min-width:30px;color:var(--gray-500);font-size:.72rem;font-weight:600}.project-deadline{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:.8rem}.project-deadline.empty{color:var(--gray-400);font-size:.75rem}.project-owner{display:flex;align-items:center;gap:8px;min-width:0}.project-owner .user-avatar{width:30px;height:30px;flex:0 0 30px;font-size:.75rem}.project-owner>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.2;font-size:.8rem}.project-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.project-actions .btn{padding:6px 8px}@media(max-width:1400px){.projects-table{min-width:990px}.projects-table .projects-cell-type,.projects-table .projects-cell-progress,.projects-table .projects-cell-deadline{display:none}.project-condensed-details{display:flex}.project-condensed-details .condensed-type,.project-condensed-details .condensed-progress,.project-condensed-details .condensed-deadline{display:inline-flex}}@media(max-width:1100px){.projects-table{min-width:720px}.projects-table .projects-cell-client,.projects-table .projects-cell-owner{display:none}.project-condensed-details .condensed-client,.project-condensed-details .condensed-owner{display:inline-flex}.projects-col-code{width:86px}.projects-col-name{width:auto}.projects-col-status{width:220px}.projects-col-actions{width:152px}}.tasks-table-card{padding:0;overflow:auto}.tasks-table-card>.card-header{margin:0;padding:18px 20px 14px}.tasks-table{min-width:1490px;table-layout:fixed}.tasks-table thead{position:sticky;top:0;z-index:2}.tasks-table th,.tasks-table td{padding:11px 12px;vertical-align:middle}.tasks-col-title{width:230px}.tasks-col-project{width:210px}.tasks-col-type{width:130px}.tasks-col-unit{width:210px}.tasks-col-partner{width:170px}.tasks-col-owner{width:160px}.tasks-col-priority,.tasks-col-deadline{width:100px}.tasks-col-status{width:180px}.tasks-col-actions{width:116px}.task-title{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:var(--dark);font-weight:650;line-height:1.25}.task-description{margin-top:3px;color:var(--gray-500);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-condensed-details{display:none;flex-wrap:wrap;gap:4px 10px;margin-top:7px;color:var(--gray-600);font-size:.69rem;line-height:1.25}.task-condensed-details span{display:none;align-items:center;gap:4px}.task-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.task-actions .btn{width:31px;height:31px;padding:0;justify-content:center}@media(max-width:1500px){.tasks-table{min-width:1140px}.tasks-table .tasks-cell-unit,.tasks-table .tasks-cell-priority,.tasks-table .tasks-cell-deadline{display:none}.task-condensed-details{display:flex}.task-condensed-details .condensed-unit,.task-condensed-details .condensed-priority,.task-condensed-details .condensed-deadline{display:inline-flex}}@media(max-width:1200px){.tasks-table{min-width:920px}.tasks-table .tasks-cell-partner,.tasks-table .tasks-cell-owner{display:none}.task-condensed-details .condensed-partner,.task-condensed-details .condensed-owner{display:inline-flex}.tasks-col-title{width:auto}.tasks-col-project,.tasks-col-status{width:190px}}@media(max-width:900px){.tasks-table{min-width:640px}.tasks-table .tasks-cell-project,.tasks-table .tasks-cell-type{display:none}.task-condensed-details .condensed-project{display:inline-flex;width:100%}.task-condensed-details .condensed-type{display:inline-flex}.tasks-col-status{width:185px}.tasks-col-actions{width:112px}}.monitoring-table{min-width:1050px;table-layout:fixed}.monitoring-table th,.monitoring-table td{padding:11px 12px;vertical-align:middle}.monitoring-condensed-details{display:none;flex-wrap:wrap;gap:4px 10px;margin-top:6px;color:var(--gray-600);font-size:.69rem}.monitoring-condensed-details span{display:none;align-items:center;gap:4px}@media(max-width:1400px){.monitoring-table{min-width:790px}.monitoring-table .monitoring-cell-utility,.monitoring-table .monitoring-cell-frequency{display:none}.monitoring-condensed-details{display:flex}.monitoring-condensed-details .condensed-utility,.monitoring-condensed-details .condensed-frequency{display:inline-flex}}@media(max-width:1100px){.monitoring-table{min-width:600px}.monitoring-table .monitoring-cell-client,.monitoring-table .monitoring-cell-partner,.monitoring-table .monitoring-cell-owner{display:none}.monitoring-condensed-details .condensed-client,.monitoring-condensed-details .condensed-partner,.monitoring-condensed-details .condensed-owner{display:inline-flex}}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500}.badge-blue{background:#dbeafe;color:#1e40af}.badge-green{background:#d1fae5;color:#065f46}.badge-yellow{background:#fef3c7;color:#92400e}.badge-red{background:#fee2e2;color:#991b1b}.badge-gray{background:#f1f5f9;color:#475569}.badge-purple{background:#e0e7ff;color:#3730a3}.badge-orange{background:#ffedd5;color:#9a3412}.badge-amber{background:#fef3c7;color:#92400e}.badge-cyan{background:#cffafe;color:#155e75}.badge-teal{background:#ccfbf1;color:#115e59}.badge-indigo{background:#e0e7ff;color:#3730a3}.badge-pink{background:#fce7f3;color:#9d174d}.progress-bar{width:100%;height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:4px;transition:width .3s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{background:#fff;border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-content-wide{max-width:920px}.modal-content-extra-wide{max-width:1120px}.modal-header{padding:20px 24px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:1.1rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.2rem;color:var(--gray-400);cursor:pointer}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:8px}.permission-matrix{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:330px;border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;background:#fff}.permission-nav{padding:8px;background:var(--gray-100);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;gap:4px}.permission-nav-item{width:100%;border:0;border-radius:6px;background:transparent;color:var(--gray-700);padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.permission-nav-item>span{display:flex;align-items:center;gap:9px;min-width:0}.permission-nav-item i{width:16px;color:var(--gray-500);text-align:center}.permission-nav-item small{flex:0 0 auto;padding:2px 7px;border-radius:10px;background:var(--gray-200);color:var(--gray-600);font-size:.7rem}.permission-nav-item:hover{background:var(--gray-200)}.permission-nav-item.active{background:var(--primary);color:#fff}.permission-nav-item.active i{color:#fff}.permission-nav-item.active small{background:#fff3;color:#fff}.permission-panel{min-width:0;padding:18px 20px}.permission-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;margin-bottom:10px;border-bottom:1px solid var(--gray-200)}.permission-panel-header h4{margin:0 0 4px}.permission-panel-header p{margin:0;color:var(--gray-500);font-size:.82rem}.permission-select-all,.permission-option{display:flex;align-items:center;gap:8px;cursor:pointer}.permission-select-all{white-space:nowrap;font-size:.82rem;font-weight:600}.permission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}.permission-option{min-height:38px;padding:7px 9px;border-radius:6px;color:var(--gray-700)}.permission-option:hover{background:var(--gray-100)}.permission-option input,.permission-select-all input{flex:0 0 auto}.permission-matrix.is-disabled{opacity:.7}.permission-matrix.is-disabled .permission-option{cursor:not-allowed}.required-fields-matrix{min-height:360px}.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--gray-200);gap:4px}.tab{padding:10px 16px;font-size:.9rem;font-weight:500;color:var(--gray-500);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.kanban-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}.kanban-column{min-width:280px;background:var(--gray-100);border-radius:var(--radius-md);padding:12px}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:600;font-size:.9rem}.kanban-column-count{background:var(--gray-300);padding:2px 8px;border-radius:10px;font-size:.75rem}.kanban-card{background:#fff;border-radius:var(--radius-sm);padding:12px;margin-bottom:8px;box-shadow:var(--shadow-sm);cursor:pointer;border:1px solid var(--gray-200)}.kanban-card:hover{box-shadow:var(--shadow-md)}.kanban-card-title{font-weight:500;font-size:.9rem;margin-bottom:8px}.kanban-card-meta{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--gray-500)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.load-change-standard-details{margin:0 0 20px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.load-change-standard-details summary{cursor:pointer;padding:13px 15px;color:#1e3a8a;font-weight:700}.load-change-standard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 15px 15px}.load-change-standard-grid span{display:flex;flex-direction:column;gap:3px;min-width:0;padding:9px 10px;border-radius:7px;background:#fff;color:#1e3a8a;overflow-wrap:anywhere}.load-change-standard-grid strong{color:#475569;font-size:.78rem;text-transform:uppercase}.alert-warning{margin-bottom:16px;padding:12px 14px;border:1px solid #fbbf24;border-radius:8px;background:#fffbeb;color:#92400e}.homologation-field-group{display:grid;gap:8px;align-items:stretch}.homologation-field-group-location{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.homologation-field-group-utm{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.homologation-field-group>div{min-width:0}.photovoltaic-equipment-section{margin:18px 0;padding:18px;border:1px solid var(--gray-200);border-left:5px solid var(--primary);border-radius:10px;background:var(--gray-50)}.photovoltaic-equipment-section-module{border-left-color:#f59e0b}.photovoltaic-equipment-section-inverter{border-left-color:#2563eb}.photovoltaic-equipment-section-battery{border-left-color:#16a34a}.photovoltaic-equipment-section-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--gray-200)}.photovoltaic-equipment-section-header h4{margin:0 0 2px;font-size:1rem}.photovoltaic-equipment-section-header p{margin:0;color:var(--gray-500);font-size:.82rem}.photovoltaic-equipment-section-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;flex:0 0 36px;border-radius:8px;color:var(--primary);background:#fff;box-shadow:0 1px 3px #0f172a1f}.photovoltaic-total-power{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:16px 18px;border-radius:10px;color:#fff;background:var(--primary)}.photovoltaic-total-power strong{font-size:1.25rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.company-image-preview{width:100%;height:130px;margin:16px 0;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--gray-400);font-size:.85rem}.company-image-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.company-image-preview-login{background:var(--gray-100)}.company-colors{margin-bottom:16px}.company-colors label{padding:14px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-100);display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px}.company-colors label span{font-size:.85rem;font-weight:600;color:var(--gray-700)}.company-colors label small{font-size:.75rem;color:var(--gray-500)}.company-colors input[type=color]{grid-row:span 2;width:48px;height:42px;padding:2px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;cursor:pointer}.company-menu-preview{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:14px;border-radius:var(--radius-sm);background:var(--preview-menu-bg)}.company-menu-preview span{padding:9px 12px;border-radius:6px;color:var(--preview-menu-text);display:inline-flex;align-items:center;gap:8px;font-size:.85rem}.company-menu-preview span.active{background:var(--preview-menu-accent)}.filter-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filter-bar input,.filter-bar select{padding:8px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.9rem}.column-chooser{position:relative;margin-left:auto}.column-chooser>summary{list-style:none;cursor:pointer;height:100%}.column-chooser>summary::-webkit-details-marker{display:none}.column-chooser-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:230px;padding:14px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-lg);display:grid;gap:9px}.column-chooser-menu>strong{padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.column-chooser-menu>small{color:var(--gray-500);font-size:.75rem}.column-chooser-menu label{display:flex;align-items:center;gap:9px;cursor:pointer;flex:1}.column-chooser-item{display:flex;align-items:center;gap:8px;padding:5px 4px;border-radius:5px;cursor:grab}.column-chooser-item:hover{background:var(--gray-100)}.column-chooser-item.dragging{opacity:.45;background:var(--primary-50)}.column-chooser-item>i{color:var(--gray-400);width:10px}.column-chooser-menu .btn{margin-top:4px;justify-content:center}.column-chooser-compact{margin-left:0}.column-chooser-compact>summary{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;color:var(--gray-600);font-size:.72rem;font-weight:600;text-transform:none}.column-chooser-compact>summary:hover{background:var(--gray-50);color:var(--primary)}.quote-destination-toggle{display:flex;gap:8px;margin-bottom:18px}.quote-services-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:8px 0 12px;padding-top:16px;border-top:1px solid var(--gray-200)}.quote-services-header h4{margin-bottom:3px}.quote-services-header small{color:var(--gray-500)}.quote-service-add{display:flex;gap:8px;min-width:min(100%,480px)}.quote-service-add select{flex:1;min-width:220px;padding:9px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:#fff}.quote-items{display:flex;flex-direction:column;gap:12px}.quote-item{padding:16px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-100)}.quote-item-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.quote-item-details{margin:12px 0 16px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:#fff}.quote-item-details summary{cursor:pointer;color:var(--primary);font-weight:600}.quote-item-details[open] summary{margin-bottom:14px}.quote-empty{padding:30px;border:1px dashed var(--gray-300);border-radius:var(--radius-md);text-align:center;color:var(--gray-500)}.quote-total-card{min-height:72px;padding:13px 16px;border-radius:var(--radius-sm);background:#eff6ff;border:1px solid #bfdbfe;display:flex;flex-direction:column;justify-content:center;align-items:flex-end}.quote-total-card span{font-size:.78rem;color:var(--gray-500)}.quote-total-card strong{font-size:1.25rem;color:var(--primary)}.pwa-banner,.pwa-update{position:fixed;z-index:3000;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:12px;width:min(620px,calc(100vw - 24px));padding:12px 14px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-lg)}.pwa-banner-icon{flex:0 0 42px;width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--dark);color:#fbbf24;font-size:1.2rem}.pwa-banner-content{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.pwa-banner-content span,.pwa-update span{color:var(--gray-600);font-size:.82rem}.pwa-banner-actions{display:flex;align-items:center;gap:4px}.pwa-update{justify-content:space-between}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--gray-300)}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:before{content:"";position:absolute;left:-20px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--gray-400)}.timeline-item.completed:before{background:var(--success);border-color:var(--success)}.timeline-item.active:before{background:var(--primary);border-color:var(--primary)}.timeline-item-title{font-weight:500;font-size:.9rem}.timeline-item-date{font-size:.8rem;color:var(--gray-500);margin-top:2px}.document-hidden-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.document-capture-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}.document-capture-option{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff;color:var(--gray-700);cursor:pointer;transition:.2s ease}.document-capture-option:hover{border-color:var(--primary);background:#eff6ff}.document-capture-option>i{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:var(--gray-100);color:var(--primary);font-size:1.1rem}.document-capture-camera{border-color:#93c5fd;background:#eff6ff}.document-capture-option span{display:flex;min-width:0;flex-direction:column;gap:3px}.document-capture-option small,.document-upload-help{color:var(--gray-500);font-size:.78rem}.document-upload-help{display:block;margin-top:8px}.document-preview-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.document-preview-item{display:flex;align-items:center;gap:12px;padding:9px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50)}.document-preview-item img,.document-preview-file-icon{width:58px;height:58px;flex:0 0 58px;border-radius:7px}.document-preview-item img{object-fit:cover;background:#fff}.document-preview-file-icon{display:flex;align-items:center;justify-content:center;background:#fee2e2;color:var(--danger);font-size:1.35rem}.document-preview-info{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.document-preview-info small{overflow:hidden;color:var(--gray-500);text-overflow:ellipsis;white-space:nowrap}.equipment-list-header{display:grid;grid-template-columns:minmax(220px,auto) minmax(320px,620px);align-items:end;justify-content:space-between;gap:18px}.equipment-list-title h3{margin-bottom:2px}.equipment-search{position:relative;display:flex;align-items:center;width:min(100%,620px);justify-self:end}.equipment-search>i{position:absolute;left:14px;color:var(--gray-400);pointer-events:none}.equipment-search input{width:100%;min-height:42px;padding-left:40px;padding-right:42px;border-color:var(--gray-300);background:#fff}.equipment-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.equipment-search button{position:absolute;right:7px;width:30px;height:30px;border:0;border-radius:7px;background:var(--gray-100);color:var(--gray-500);cursor:pointer}.equipment-search button:hover{background:var(--gray-200);color:var(--gray-700)}@media(max-width:760px){.equipment-list-header{grid-template-columns:1fr;align-items:stretch}.equipment-search{width:100%;max-width:none;justify-self:stretch}}.string-calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.string-equipment-card{border-top:4px solid var(--gray-300)}.string-equipment-card.module{border-top-color:#f59e0b}.string-equipment-card.inverter{border-top-color:#0ea5e9}.string-option-heading{display:flex;flex-direction:column;gap:3px}.string-option-details{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:8px;color:var(--gray-600);font-size:.86rem}.string-option-details span{white-space:nowrap}.string-parallel-note{display:block;margin-top:9px;color:var(--gray-600)}.string-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.string-card-heading>i{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:var(--gray-100);color:var(--primary);font-size:1.05rem}.string-card-heading h3{margin:0 0 3px}.string-card-heading small{color:var(--gray-500)}.string-input-wrap{position:relative}.string-input-wrap input{padding-right:54px}.string-input-wrap span{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:var(--gray-500);font-size:.78rem;pointer-events:none}.string-results-card{margin-top:16px}.string-empty-result{display:flex;align-items:center;gap:10px;padding:18px;border-radius:var(--radius-md);background:var(--gray-50);color:var(--gray-600)}.string-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.string-result-stats>div{display:flex;min-height:84px;flex-direction:column;justify-content:center;gap:6px;padding:13px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50)}.string-result-stats small{color:var(--gray-500)}.string-result-stats strong{color:var(--gray-800);font-size:1rem}.string-options-title{margin:20px 0 10px}.string-options-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.string-option{display:flex;min-width:0;flex-direction:column;gap:9px;padding:14px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff}.string-option.recommended{border-color:#22c55e;background:#f0fdf4}.string-option>div{display:flex;flex-direction:column;gap:5px}.string-option span{width:fit-content;color:var(--primary);font-size:.75rem;font-weight:700;text-transform:uppercase}.string-option strong{line-height:1.4}.string-option small{color:var(--gray-500)}.string-no-options{padding:14px;border-radius:var(--radius-md);background:#fff7ed;color:#9a3412}.string-warnings{margin-top:14px;padding:10px 14px;border-radius:var(--radius-md);background:#fff7ed;color:#9a3412}.string-warnings p{margin:4px 0}.solar-calculator-tabs{display:flex;gap:6px;margin-bottom:16px;padding:6px;border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:#fff}.solar-calculator-tabs button{min-height:42px;padding:0 18px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--gray-600);cursor:pointer;font-weight:600}.solar-calculator-tabs button i{margin-right:7px}.solar-calculator-tabs button.active{background:var(--primary);color:#fff}.solar-tab-hidden{display:none}.energy-analysis{display:flex;flex-direction:column;gap:16px}.energy-upload-card,.energy-unit-card,.energy-parameters-card,.energy-results-card{margin:0}.energy-actions{display:flex;flex-wrap:wrap;gap:8px}.energy-pdf-password{max-width:460px;margin-top:12px}.energy-pdf-password .form-group{margin:0}.energy-group-choice{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:12px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50)}.energy-group-choice>div{min-width:250px;flex:1;display:flex;flex-direction:column;gap:3px}.energy-group-choice small{color:var(--gray-500)}.energy-group-choice button{min-height:40px;padding:0 14px;border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff;color:var(--gray-700);cursor:pointer;font-weight:600}.energy-group-choice button.active{border-color:var(--primary);background:var(--primary);color:#fff}.energy-messages,.energy-unit-warning{margin-top:12px;padding:10px 13px;border-radius:var(--radius-md);background:#fff7ed;color:#9a3412}.energy-messages p{margin:3px 0}.energy-unit-card{border-left:4px solid #0ea5e9}.energy-unit-card.excluded{border-left-color:var(--gray-300);opacity:.72}.energy-unit-heading{display:flex;align-items:center;gap:14px;margin-bottom:14px}.energy-unit-heading>div:first-child{flex:1}.energy-unit-heading h3{margin:0 0 3px}.energy-unit-heading small{color:var(--gray-500)}.energy-include{display:flex;align-items:center;gap:7px;color:var(--gray-700);font-weight:600}.energy-unit-heading .btn-icon{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;cursor:pointer}.energy-unit-identification{margin-bottom:12px}.energy-month-grid{display:grid;grid-template-columns:repeat(6,minmax(115px,1fr));gap:10px}.energy-month-grid label{text-transform:capitalize}.energy-month-grid.group-a{grid-template-columns:repeat(4,minmax(190px,1fr))}.energy-group-a-month{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50)}.energy-group-a-month>strong{color:var(--gray-700);text-transform:capitalize}.energy-group-a-month>label{display:flex;flex-direction:column;gap:4px;color:var(--gray-500);font-size:.78rem}.energy-subtitle{margin:18px 0 10px;color:var(--gray-700)}.energy-group-a-card .form-group>small{display:block;margin-top:5px;color:var(--gray-500);line-height:1.35}.energy-rule-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 13px;border-radius:var(--radius-md);background:#eff6ff;color:#1e40af;line-height:1.45}.energy-financial-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.energy-financial-summary>div{display:flex;min-height:88px;flex-direction:column;justify-content:center;gap:7px;padding:14px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50)}.energy-financial-summary small{color:var(--gray-500)}.energy-financial-summary strong{color:var(--gray-800);font-size:1.1rem}.energy-financial-summary .residual{border-color:#f59e0b;background:#fffbeb}.energy-financial-summary .residual strong{color:#92400e}.energy-residual-table td:last-child,.energy-residual-table th:last-child{text-align:right;white-space:nowrap}.energy-residual-table tfoot th{padding:12px;background:var(--gray-50);color:var(--gray-800)}.energy-minimum-toggle{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--gray-700)}.energy-consolidated-table-wrap{margin-top:16px;overflow-x:auto}.energy-consolidated-table{width:100%;border-collapse:collapse}.energy-consolidated-table th,.energy-consolidated-table td{padding:10px 12px;border-bottom:1px solid var(--gray-200);text-align:left}.energy-consolidated-table th{background:var(--gray-50);color:var(--gray-600);font-size:.82rem}.energy-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:700}.energy-status.complete{background:#dcfce7;color:#166534}.energy-status.incomplete{background:#fee2e2;color:#991b1b}.energy-apply-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.energy-apply-row small{color:var(--gray-500)}.energy-results-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.energy-results-heading .string-card-heading{margin-bottom:0}.energy-results-heading>.btn{flex:0 0 auto}.energy-client-report{display:none}@media print{@page{size:A4 portrait;margin:12mm}body.energy-client-print-mode{background:#fff!important}body.energy-client-print-mode *{visibility:hidden!important}body.energy-client-print-mode .energy-client-report,body.energy-client-print-mode .energy-client-report *{visibility:visible!important}body.energy-client-print-mode .energy-client-report{display:block!important;position:absolute;inset:0 auto auto 0;width:100%;color:#111827;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:9.5pt;line-height:1.35;-webkit-print-color-adjust:exact;print-color-adjust:exact}.energy-print-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:2px solid #1d4ed8}.energy-print-header>div:first-child>span{color:#1d4ed8;font-size:10pt;font-weight:800;letter-spacing:.12em}.energy-print-header h1{margin:4px 0 2px;color:#0f172a;font-size:17pt;line-height:1.15}.energy-print-header p{margin:0;color:#475569}.energy-print-meta{display:flex;min-width:145px;flex-direction:column;align-items:flex-end;gap:2px;color:#475569;text-align:right}.energy-print-meta strong{color:#0f172a;font-size:12pt}.energy-print-section{margin-top:16px;break-inside:avoid}.energy-print-section h2{margin:0 0 7px;color:#0f172a;font-size:11.5pt}.energy-client-report table{width:100%;border-collapse:collapse;font-size:8.5pt}.energy-client-report th,.energy-client-report td{padding:5px 7px;border:1px solid #cbd5e1;text-align:left}.energy-client-report th{color:#1e3a8a;background:#eff6ff;font-weight:700}.energy-print-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.energy-print-grid>div{display:flex;min-height:48px;flex-direction:column;justify-content:center;gap:3px;padding:8px;border:1px solid #cbd5e1;border-radius:5px}.energy-print-grid span{color:#475569;font-size:8pt}.energy-print-grid strong{color:#0f172a;font-size:10.5pt}.energy-print-grid .highlight{border-color:#2563eb;background:#eff6ff}.energy-print-grid .highlight strong{color:#1d4ed8;font-size:13pt}.energy-print-result{padding:10px;border:1px solid #93c5fd;border-radius:6px;background:#f8fbff}.energy-print-residual-table{margin-top:8px}.energy-print-residual-table td:last-child,.energy-print-residual-table th:last-child{text-align:right;white-space:nowrap}.energy-print-pending{margin:0;padding:9px;border:1px solid #fbbf24;background:#fffbeb;color:#92400e}.energy-print-footer{margin-top:18px;padding-top:9px;border-top:1px solid #94a3b8;color:#475569;font-size:7.8pt}.energy-print-footer p{margin:0}}@media(max-width:1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block}.main-content{margin-left:0}.grid-4{grid-template-columns:repeat(2,1fr)}.string-calculator-grid{grid-template-columns:1fr}.string-result-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.energy-month-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}.energy-month-grid.group-a{grid-template-columns:repeat(3,minmax(180px,1fr))}.energy-financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){:root{--header-height: 56px}.login-container{flex-direction:column}.login-left{display:none}.login-right{padding:32px 22px}.login-options{flex-wrap:wrap}.header{padding:0 12px}.header-left{gap:10px;min-width:0}.header-left h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{gap:8px}.user-info{gap:6px}.user-details{display:none}.solar-calculator-tabs{overflow-x:auto}.solar-calculator-tabs button{white-space:nowrap}.energy-unit-heading{align-items:flex-start;flex-wrap:wrap}.energy-month-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}.energy-month-grid.group-a{grid-template-columns:repeat(1,minmax(210px,1fr))}.energy-financial-summary{grid-template-columns:1fr}.energy-apply-row,.energy-results-heading{align-items:stretch;flex-direction:column}.page-content{padding:14px 12px calc(18px + env(safe-area-inset-bottom))}.page-header{flex-direction:column;align-items:stretch!important;gap:12px;margin-bottom:16px}.page-header>:last-child{flex-wrap:wrap}.page-header h1{font-size:1.3rem}.card{padding:14px;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:680px}.filter-bar>input,.filter-bar>select,.filter-bar>button{flex:1 1 100%;width:100%}.filter-bar>.column-chooser{flex:1 1 100%;width:100%;margin-left:0}.column-chooser>summary{width:100%;justify-content:center}.column-chooser-menu{left:0;right:auto;width:min(100%,280px)}.modal-overlay{padding:0;align-items:flex-end}.modal-content,.modal-content-wide,.modal-content-extra-wide{max-width:none;max-height:96dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header,.modal-body{padding:16px}.modal-footer{position:sticky;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff}.permission-matrix{grid-template-columns:1fr}.permission-nav{border-right:0;border-bottom:1px solid var(--gray-200);max-height:210px;overflow-y:auto}.permission-panel{padding:14px}.permission-panel-header{flex-direction:column}.permission-options{grid-template-columns:1fr}.notification-panel{position:fixed;top:var(--header-height);right:8px;left:8px;width:auto}.grid-2,.grid-3,.grid-4,.load-change-standard-grid,.stats-grid{grid-template-columns:1fr}.quote-services-header,.quote-service-add{flex-direction:column;align-items:stretch}.quote-service-add{min-width:0;width:100%}.pwa-banner,.pwa-update{align-items:flex-start;flex-wrap:wrap}.pwa-banner-actions{width:100%;justify-content:flex-end}.document-capture-actions{grid-template-columns:1fr}.string-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
