:root{--primary: #126af3;--primary-dark: #0b58d0;--primary-light: #85b4ff;--secondary: #0ea5e9;--success: #39841f;--warning: #e28d03;--danger: #e22749;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--gray-100);min-height:100vh;color:var(--gray-800);line-height:1.6}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner-lg{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.sidebar{position:fixed;left:0;top:0;bottom:0;width:220px;background:var(--gray-900);padding:24px 14px;display:flex;flex-direction:column;z-index:100}.logo{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid var(--gray-700);margin-bottom:24px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.logo-text{color:#fff;font-weight:600;font-size:16px}.logo-text span{display:block;font-size:11px;color:var(--gray-400);font-weight:400}.nav-section{margin-bottom:24px}.nav-section-title{color:var(--gray-500);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:0 12px;margin-bottom:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px;color:var(--gray-400);text-decoration:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;font-size:14px}.nav-item:hover{background:var(--gray-800);color:#fff}.nav-item.active{background:var(--primary);color:#fff}.nav-item i{width:20px;text-align:center}.main{margin-left:220px;min-height:100vh}.topbar{background:#fff;padding:16px 32px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50}.topbar h1{font-size:20px;font-weight:600;color:var(--gray-900)}.topbar-actions{display:flex;gap:16px;align-items:center}.content{padding:32px}@media (max-width: 1024px){.sidebar{width:80px;padding:16px 8px}.logo-text,.nav-section-title,.nav-item span{display:none}.logo{justify-content:center;padding-bottom:16px}.nav-item{justify-content:center;padding:12px}.nav-item i{width:auto}.main{margin-left:80px}}@media (max-width: 768px){.sidebar{display:none}.main{margin-left:0}.topbar{padding:16px;flex-wrap:wrap;gap:12px}.topbar-actions{width:100%;flex-wrap:wrap;gap:12px}.content{padding:16px}}.hidden{display:none!important}.toast-banner{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 20px;border-radius:8px;font-size:14px;box-shadow:0 4px 12px #00000026;animation:toastSlideIn .3s ease;max-width:min(90vw,800px);word-break:break-word}.toast-banner.success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.toast-banner.error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.toast-banner.warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.toast-banner .toast-close{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:0 0 0 8px;color:inherit;opacity:.6}.toast-banner .toast-close:hover{opacity:1}.toast-fade-out{animation:toastFadeOut .3s ease forwards}:where(.cooling-portal) .auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-800) 100%)}:where(.cooling-portal) .auth-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:40px}:where(.cooling-portal) .auth-logo{text-align:center;margin-bottom:32px}:where(.cooling-portal) .auth-logo-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:28px;margin-bottom:16px}:where(.cooling-portal) .auth-logo h1{font-size:24px;font-weight:700;color:var(--gray-900);margin-bottom:4px}:where(.cooling-portal) .auth-logo p{color:var(--gray-500);font-size:14px}:where(.cooling-portal) .auth-form h2{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:24px;text-align:center}:where(.cooling-portal) .form-group{margin-bottom:20px}:where(.cooling-portal) .form-group label{display:block;margin-bottom:6px;color:var(--gray-700);font-weight:500;font-size:13px}:where(.cooling-portal) .form-group label .required{color:var(--danger)}:where(.cooling-portal) .form-control{width:100%;padding:12px 14px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:14px;transition:all .2s;background:#fff}:where(.cooling-portal) .form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #126af31a}:where(.cooling-portal) .form-control::placeholder{color:var(--gray-400)}:where(.cooling-portal) .form-control:disabled{background:var(--gray-100);cursor:not-allowed}:where(.cooling-portal) select.form-control{cursor:pointer}:where(.cooling-portal) .form-hint{font-size:12px;color:var(--gray-500);margin-top:4px}:where(.cooling-portal) .form-row{display:flex;gap:12px;align-items:center}:where(.cooling-portal) .checkbox-group{display:flex;align-items:center;gap:8px}:where(.cooling-portal) .checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}:where(.cooling-portal) .checkbox-group label{margin:0;font-size:14px;color:var(--gray-600);cursor:pointer}:where(.cooling-portal) .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;text-decoration:none}:where(.cooling-portal) .btn-primary{background:var(--primary);color:#fff}:where(.cooling-portal) .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow)}:where(.cooling-portal) .btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}:where(.cooling-portal) .btn-secondary:hover{background:var(--gray-200)}:where(.cooling-portal) .btn-success{background:var(--success);color:#fff}:where(.cooling-portal) .btn-success:hover{background:#059669}:where(.cooling-portal) .btn-danger{background:var(--danger);color:#fff}:where(.cooling-portal) .btn-danger:hover{background:#dc2626}:where(.cooling-portal) .btn-block{width:100%}:where(.cooling-portal) .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}:where(.cooling-portal) .btn-sm{padding:8px 14px;font-size:13px}:where(.cooling-portal) .user-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}:where(.cooling-portal) .user-info-item{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm)}:where(.cooling-portal) .user-info-item label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}:where(.cooling-portal) .user-info-item span{font-size:15px;font-weight:600;color:var(--gray-800);word-break:break-word}:where(.cooling-portal) .btn-group{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--gray-200)}@media (max-width: 600px){:where(.cooling-portal) .user-info-grid{grid-template-columns:1fr}}:where(.cooling-portal) .alert{padding:14px 16px;border-radius:var(--radius-sm);display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;font-size:14px}:where(.cooling-portal) .alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}:where(.cooling-portal) .alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}:where(.cooling-portal) .alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}:where(.cooling-portal) .alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}:where(.cooling-portal) .alert-icon{font-size:18px;margin-top:1px}:where(.cooling-portal) .alert-content{flex:1}:where(.cooling-portal) .auth-links{text-align:center;margin-top:24px}:where(.cooling-portal) .auth-links a{color:var(--primary);text-decoration:none;font-size:14px}:where(.cooling-portal) .auth-links a:hover{text-decoration:underline}:where(.cooling-portal) .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}:where(.cooling-portal) .spinner-dark{border-color:#0000001a;border-top-color:var(--primary)}:where(.cooling-portal) .card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}:where(.cooling-portal) .card-header{padding:20px 24px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}:where(.cooling-portal) .card-header h2{font-size:16px;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:10px}:where(.cooling-portal) .card-header h2 i{color:var(--primary)}:where(.cooling-portal) .card-body{padding:24px}:where(.cooling-portal) .report-export-actions{display:flex;gap:8px}:where(.cooling-portal) .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:24px}:where(.cooling-portal) .kpi-card{container-type:inline-size;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}:where(.cooling-portal) .kpi-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}:where(.cooling-portal) .kpi-top{display:flex;align-items:center;gap:clamp(7px,2.5cqi,11px);min-width:0}:where(.cooling-portal) .kpi-icon{flex-shrink:0;width:clamp(30px,11cqi,38px);height:clamp(30px,11cqi,38px);border-radius:clamp(8px,2.5cqi,10px);display:inline-flex;align-items:center;justify-content:center;font-size:clamp(13px,4.5cqi,16px)}:where(.cooling-portal) .kpi-icon.efficiency{background:#dbeafe;color:#2563eb}:where(.cooling-portal) .kpi-icon.power{background:#fef3c7;color:#d97706}:where(.cooling-portal) .kpi-icon.cooling{background:#d1fae5;color:#059669}:where(.cooling-portal) .kpi-icon.temperature{background:#fee2e2;color:#dc2626}:where(.cooling-portal) .kpi-label{min-width:0;font-size:clamp(9px,3.3cqi,11px);font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1.3;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:where(.cooling-portal) .kpi-now{margin-left:auto;flex-shrink:0;padding:3px clamp(7px,2.8cqi,10px);border-radius:999px;background:var(--gray-50);border:1px solid var(--gray-200);font-size:clamp(9.5px,3.4cqi,12px);color:var(--gray-500);white-space:nowrap;font-variant-numeric:tabular-nums}:where(.cooling-portal) .kpi-now strong{font-weight:700;color:var(--gray-800)}:where(.cooling-portal) .kpi-metric{display:flex;align-items:center;justify-content:space-between;gap:10px}:where(.cooling-portal) .kpi-value{display:flex;align-items:baseline;gap:5px;font-size:clamp(21px,8cqi,30px);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--gray-900);font-variant-numeric:tabular-nums}:where(.cooling-portal) .kpi-unit{font-size:13px;font-weight:600;color:var(--gray-400)}:where(.cooling-portal) .kpi-caption{font-size:12px;color:var(--gray-500)}:where(.cooling-portal) .kpi-delta{position:relative;margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:3px clamp(7px,2.8cqi,10px);border-radius:999px;font-size:clamp(9.5px,3.4cqi,12px);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:help}:where(.cooling-portal) .kpi-delta.good{background:#dcfce7;color:#15803d}:where(.cooling-portal) .kpi-delta.bad{background:#fee2e2;color:#b91c1c}:where(.cooling-portal) .kpi-delta.flat{background:var(--gray-50);color:var(--gray-500);border:1px solid var(--gray-200)}:where(.cooling-portal) .kpi-delta-info{font-size:.82em;opacity:.6}:where(.cooling-portal) .kpi-delta:hover .kpi-delta-info,:where(.cooling-portal) .kpi-delta:focus-visible .kpi-delta-info{opacity:1}:where(.cooling-portal) .kpi-delta[data-tip]:hover:after,:where(.cooling-portal) .kpi-delta[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);right:0;background:var(--gray-900);color:#fff;font-size:11px;font-weight:600;letter-spacing:.01em;white-space:nowrap;padding:6px 9px;border-radius:6px;box-shadow:var(--shadow);z-index:20;pointer-events:none}:where(.cooling-portal) .kpi-delta[data-tip]:hover:before,:where(.cooling-portal) .kpi-delta[data-tip]:focus-visible:before{content:"";position:absolute;bottom:calc(100% + 3px);right:12px;border:5px solid transparent;border-top-color:var(--gray-900);z-index:20;pointer-events:none}:where(.cooling-portal) .seg{position:relative;display:inline-flex;align-items:center;gap:2px;padding:4px;background:#eaf2ff;border:1px solid rgba(18,106,243,.12);border-radius:9999px}:where(.cooling-portal) .seg-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:0;border-radius:9999px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);box-shadow:0 2px 10px #126af359;transition:left .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1);z-index:0}:where(.cooling-portal) .seg.no-anim .seg-thumb{transition:none}:where(.cooling-portal) .seg-btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;border:none;background:transparent;padding:8px 18px;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--gray-500);border-radius:9999px;cursor:pointer;white-space:nowrap;transition:color .25s ease}:where(.cooling-portal) .seg-btn i{font-size:11px;opacity:.9}:where(.cooling-portal) .seg-btn:hover:not(.active){color:var(--primary)}:where(.cooling-portal) .seg-btn.active{color:#fff}:where(.cooling-portal) .seg-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){:where(.cooling-portal) .seg-thumb{transition:none}}:where(.cooling-portal) .filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px}:where(.cooling-portal) .range-group{display:inline-flex;align-items:center;gap:2px;height:40px;padding:0 14px;background:#fff;border:1px solid var(--gray-300);border-radius:9999px;transition:border-color .2s,box-shadow .2s}:where(.cooling-portal) .range-group:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #126af31f}:where(.cooling-portal) .range-input{border:none;background:transparent;outline:none;font-family:inherit;font-size:14px;color:var(--gray-800);width:152px;height:100%;padding:0 2px}:where(.cooling-portal) .range-input::-webkit-datetime-edit{padding:0}:where(.cooling-portal) #baselineStartDate,:where(.cooling-portal) #baselineEndDate{width:138px}:where(.cooling-portal) #baselineTime{width:96px}:where(.cooling-portal) .baseline-at{display:inline-flex;align-items:center;color:var(--gray-400);font-size:13px;padding:0 6px}:where(.cooling-portal) .range-sep{display:inline-flex;align-items:center;color:var(--gray-400);font-size:11px;padding:0 4px}:where(.cooling-portal) .range-select{height:40px;padding:0 38px 0 16px;background-color:#fff;border:1px solid var(--gray-300);border-radius:9999px;font-family:inherit;font-size:14px;color:var(--gray-800);cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:border-color .2s,box-shadow .2s}:where(.cooling-portal) .range-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #126af31f}:where(.cooling-portal) .btn-apply{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 22px;border:none;border-radius:9999px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);box-shadow:0 2px 10px #126af359;color:#fff;font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}:where(.cooling-portal) .btn-apply i{font-size:12px}:where(.cooling-portal) .btn-apply:hover{transform:translateY(-1px);box-shadow:0 5px 16px #126af373}:where(.cooling-portal) .btn-apply:active{transform:translateY(0);box-shadow:0 2px 8px #126af359}:where(.cooling-portal) .btn-apply:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:where(.cooling-portal) .btn-baseline{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;margin-left:auto;border:1.5px solid var(--primary);border-radius:9999px;background:transparent;color:var(--primary);font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .15s ease,color .15s ease}:where(.cooling-portal) .btn-baseline i{font-size:12px}:where(.cooling-portal) .btn-baseline:hover{background:#126af312}:where(.cooling-portal) .btn-baseline:disabled{opacity:.55;cursor:not-allowed}:where(.cooling-portal) .btn-baseline:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:where(.cooling-portal) .baseline-meta{font-size:12px;color:var(--gray-500);margin-bottom:12px}:where(.cooling-portal) .baseline-empty{font-size:13px;color:var(--gray-500)}:where(.cooling-portal) .baseline-values{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}:where(.cooling-portal) .baseline-val{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--gray-50);border:1px solid var(--gray-100)}:where(.cooling-portal) .baseline-val-num{display:flex;align-items:baseline;gap:4px;font-size:18px;font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}:where(.cooling-portal) .baseline-val-unit{font-size:11px;font-weight:600;color:var(--gray-400)}:where(.cooling-portal) .baseline-val-label{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em}:where(.cooling-portal) .baseline-components{margin-top:18px}:where(.cooling-portal) .baseline-components h4{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}:where(.cooling-portal) .baseline-comp-row{display:flex;align-items:baseline;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--gray-100);font-size:13px}:where(.cooling-portal) .baseline-comp-row:last-child{border-bottom:none}:where(.cooling-portal) .baseline-comp-name{color:var(--gray-600)}:where(.cooling-portal) .baseline-comp-val{font-weight:600;color:var(--gray-800);font-variant-numeric:tabular-nums}:where(.cooling-portal) .baseline-recalc{margin-top:22px;padding-top:18px;border-top:1px solid var(--gray-200)}:where(.cooling-portal) .baseline-recalc h4{font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:10px}:where(.cooling-portal) .range-notice{margin-top:8px;font-size:12px;color:var(--warning, #d97706)}:where(.cooling-portal) .baseline-time-note{margin-top:8px;font-size:12px;color:var(--gray-500)}:where(.cooling-portal) .site-selector{display:flex;align-items:center;gap:12px}:where(.cooling-portal) .site-select{position:relative;display:inline-flex;align-items:center;gap:10px;height:42px;min-width:220px;padding:0 16px;background:#fff;border:1px solid var(--gray-200);border-radius:9999px;box-shadow:var(--shadow-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:border-color .2s ease,box-shadow .2s ease}:where(.cooling-portal) .site-select.is-static{cursor:default}:where(.cooling-portal) .site-select:not(.is-static):hover{border-color:var(--gray-300);box-shadow:var(--shadow)}:where(.cooling-portal) .site-select:focus-visible,:where(.cooling-portal) .site-select.is-open{border-color:var(--primary);box-shadow:0 0 0 3px #126af31f}:where(.cooling-portal) .site-select-icon{flex-shrink:0;font-size:14px;color:var(--primary)}:where(.cooling-portal) .site-select-value,:where(.cooling-portal) .site-select-name{flex:1;font-size:14px;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:where(.cooling-portal) .site-select-caret{flex-shrink:0;font-size:12px;color:var(--gray-400);transition:transform .2s ease}:where(.cooling-portal) .site-select.is-open .site-select-caret{transform:rotate(180deg)}:where(.cooling-portal) .site-select-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:max(100%,320px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:var(--shadow-lg);z-index:50;max-height:340px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}:where(.cooling-portal) .site-select.is-open .site-select-menu{opacity:1;visibility:visible;transform:translateY(0)}:where(.cooling-portal) .site-select-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border-radius:9px;font-size:14px;color:var(--gray-700);white-space:nowrap;cursor:pointer}:where(.cooling-portal) .site-select-option:hover{background:var(--gray-50)}:where(.cooling-portal) .site-select-option .fa-check{flex-shrink:0;font-size:12px;color:var(--primary);opacity:0}:where(.cooling-portal) .site-select-option.is-selected{font-weight:600;color:var(--gray-900);background:#126af30f}:where(.cooling-portal) .site-select-option.is-selected .fa-check{opacity:1}:where(.cooling-portal) .site-access-list{display:flex;flex-direction:column;gap:10px}:where(.cooling-portal) .site-access-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm)}:where(.cooling-portal) .site-access-info{min-width:0}:where(.cooling-portal) .site-id{font-size:14px;font-weight:600;color:var(--gray-800)}:where(.cooling-portal) .site-role{margin-top:2px;font-size:12px;color:var(--gray-500)}:where(.cooling-portal) .site-tz-label{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;color:var(--gray-500);white-space:nowrap}:where(.cooling-portal) .site-tz-label:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900}:where(.cooling-portal) .user-menu{position:relative}:where(.cooling-portal) .user-menu-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--gray-100);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--gray-700)}:where(.cooling-portal) .user-menu-trigger:hover{background:var(--gray-200)}:where(.cooling-portal) .user-avatar{width:32px;height:32px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}:where(.cooling-portal) .user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:180px;display:none;z-index:100;border:1px solid var(--gray-200)}:where(.cooling-portal) .user-menu-dropdown.show{display:block}:where(.cooling-portal) .user-menu-dropdown a,:where(.cooling-portal) .user-menu-dropdown button{display:flex;align-items:center;gap:8px;padding:10px 16px;color:var(--gray-700);text-decoration:none;font-size:14px;width:100%;border:none;background:none;cursor:pointer;text-align:left}:where(.cooling-portal) .user-menu-dropdown a:hover,:where(.cooling-portal) .user-menu-dropdown button:hover{background:var(--gray-50)}:where(.cooling-portal) .user-menu-dropdown hr{border:none;border-top:1px solid var(--gray-200);margin:4px 0}:where(.cooling-portal) .chart-container{position:relative;height:300px}:where(.cooling-portal) .chart-baseline-note{display:flex;align-items:center;gap:6px;margin:10px 0 0;font-size:12px;color:var(--gray-500);text-align:left}:where(.cooling-portal) .chart-baseline-note i{color:var(--primary)}:where(.cooling-portal) .charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:24px}:where(.cooling-portal) .chart-toolbar{display:flex;align-items:center;gap:6px;margin-left:auto}:where(.cooling-portal) .chart-toolbar-btn{background:none;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;padding:4px 10px;font-size:12px;transition:all .15s}:where(.cooling-portal) .chart-toolbar-btn:hover{background:#f3f4f6;color:#374151;border-color:#d1d5db}:where(.cooling-portal) .chart-toolbar-btn.chart-reset-zoom{color:#126af3;border-color:#dbe9ff;background:#eaf2ff}:where(.cooling-portal) .chart-toolbar-btn.chart-reset-zoom:hover{background:#dbe9ff}:where(.cooling-portal) .plant-status{display:flex;flex-direction:column;gap:18px}:where(.cooling-portal) .plant-vitals{display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(180deg,var(--gray-50) 0%,#fff 100%);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}:where(.cooling-portal) .vital{display:flex;flex-direction:column;gap:6px;padding:18px 22px}:where(.cooling-portal) .vital+.vital{border-left:1px solid var(--gray-200)}:where(.cooling-portal) .vital-value{display:flex;align-items:baseline;gap:5px;font-size:28px;font-weight:700;line-height:1;letter-spacing:-.015em;color:var(--gray-900);font-variant-numeric:tabular-nums}:where(.cooling-portal) .vital-unit{font-size:13px;font-weight:600;letter-spacing:0;color:var(--gray-400)}:where(.cooling-portal) .vital-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}:where(.cooling-portal) .equip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}:where(.cooling-portal) .equip-card{container-type:inline-size;display:flex;flex-direction:column;gap:14px;padding:clamp(13px,6cqi,16px);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);transition:border-color .2s ease,box-shadow .2s ease}:where(.cooling-portal) .equip-card.is-active{border-color:#10b98159;box-shadow:0 1px 2px #10b9810d,0 8px 20px -12px #10b98173}:where(.cooling-portal) .equip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}:where(.cooling-portal) .equip-ident{display:inline-flex;align-items:center;gap:clamp(7px,3.5cqi,10px);min-width:0}:where(.cooling-portal) .equip-icon{flex-shrink:0;width:clamp(28px,13cqi,34px);height:clamp(28px,13cqi,34px);display:inline-flex;align-items:center;justify-content:center;border-radius:clamp(7px,3cqi,9px);background:#126af317;color:var(--primary);font-size:clamp(12px,5.5cqi,15px)}:where(.cooling-portal) .equip-title{min-width:0;font-size:clamp(11px,5cqi,13px);font-weight:600;letter-spacing:.01em;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:where(.cooling-portal) .equip-total{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}:where(.cooling-portal) .equip-total-value{display:flex;align-items:baseline;gap:4px;font-size:clamp(17px,8cqi,22px);font-weight:700;line-height:1;color:var(--gray-900);font-variant-numeric:tabular-nums}:where(.cooling-portal) .equip-total-unit{font-size:11px;font-weight:600;color:var(--gray-400)}:where(.cooling-portal) .equip-total-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-400)}:where(.cooling-portal) .equip-units{display:flex;flex-direction:column;gap:clamp(6px,3cqi,8px)}:where(.cooling-portal) .unit{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(8px,4cqi,12px);padding:clamp(9px,4.5cqi,11px) clamp(9px,5cqi,12px);border-radius:var(--radius-sm);background:var(--gray-50);border:1px solid var(--gray-100);overflow:hidden}:where(.cooling-portal) .unit.is-running{background:#10b9810f;border-color:#10b98138}:where(.cooling-portal) .unit.is-running:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--success)}:where(.cooling-portal) .unit-top{display:inline-flex;align-items:center;gap:8px}:where(.cooling-portal) .unit-name{font-size:clamp(10.5px,5cqi,12px);font-weight:600;color:var(--gray-600)}:where(.cooling-portal) .unit-value{display:flex;align-items:baseline;gap:3px;font-size:clamp(13px,6.5cqi,16px);font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums}:where(.cooling-portal) .unit.is-stopped .unit-value{font-weight:600;color:var(--gray-400)}:where(.cooling-portal) .unit-u{font-size:10px;font-weight:600;color:var(--gray-400)}:where(.cooling-portal) .lamp{flex-shrink:0;width:11px;height:11px;border-radius:50%;background:var(--gray-200);box-shadow:inset 0 0 0 1px var(--gray-300)}:where(.cooling-portal) .unit.is-running .lamp{background:var(--success);box-shadow:0 0 0 3px #10b98129,0 0 8px 1px #10b98199;animation:lampPulse 2.6s ease-in-out infinite}@keyframes lampPulse{0%,to{box-shadow:0 0 0 3px #10b98129,0 0 7px 1px #10b98180}50%{box-shadow:0 0 0 4px #10b9811a,0 0 13px 2px #10b981d9}}@media (prefers-reduced-motion: reduce){:where(.cooling-portal) .unit.is-running .lamp{animation:none}}@media (max-width: 600px){:where(.cooling-portal) .plant-vitals{grid-template-columns:1fr}:where(.cooling-portal) .vital+.vital{border-left:none;border-top:1px solid var(--gray-200)}}:where(.cooling-portal) .table-container{overflow-x:auto;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}:where(.cooling-portal) .data-table{width:100%;border-collapse:collapse;font-size:13px}:where(.cooling-portal) .data-table th{background:var(--gray-50);padding:12px 16px;text-align:left;font-weight:600;color:var(--gray-700);border-bottom:1px solid var(--gray-200);white-space:nowrap}:where(.cooling-portal) .data-table td{padding:12px 16px;border-bottom:1px solid var(--gray-100);color:var(--gray-600)}:where(.cooling-portal) .data-table tr:hover td{background:var(--gray-50)}:where(.cooling-portal) .data-table tr:last-child td{border-bottom:none}:where(.cooling-portal) .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0}:where(.cooling-portal) .pagination-info{font-size:14px;color:var(--gray-600)}:where(.cooling-portal) .pagination-controls{display:flex;gap:8px}:where(.cooling-portal) .page-btn{padding:8px 12px;border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--gray-700)}:where(.cooling-portal) .page-btn:hover:not(:disabled){background:var(--gray-50)}:where(.cooling-portal) .page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}:where(.cooling-portal) .page-btn:disabled{opacity:.5;cursor:not-allowed}:where(.cooling-portal) .badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500}:where(.cooling-portal) .badge-success{background:#d1fae5;color:#065f46}:where(.cooling-portal) .badge-error{background:#fee2e2;color:#991b1b}:where(.cooling-portal) .badge-warning{background:#fef3c7;color:#92400e}:where(.cooling-portal) .badge-info{background:#dbeafe;color:#1e40af}:where(.cooling-portal) .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:none;align-items:center;justify-content:center;z-index:1000;padding:20px}:where(.cooling-portal) .modal-overlay.show{display:flex}:where(.cooling-portal) .modal-content{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .2s ease}:where(.cooling-portal) .modal-header{padding:20px 24px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}:where(.cooling-portal) .modal-header h3{font-size:18px;font-weight:600;color:var(--gray-900)}:where(.cooling-portal) .modal-close{background:none;border:none;font-size:24px;color:var(--gray-400);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}:where(.cooling-portal) .modal-close:hover{background:var(--gray-100);color:var(--gray-700)}:where(.cooling-portal) .modal-body{padding:24px}:where(.cooling-portal) .modal-footer{padding:16px 24px;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:12px}:where(.cooling-portal) .empty-state{text-align:center;padding:48px 24px}:where(.cooling-portal) .empty-state i{font-size:48px;color:var(--gray-300);margin-bottom:16px}:where(.cooling-portal) .empty-state h3{font-size:18px;font-weight:600;color:var(--gray-700);margin-bottom:8px}:where(.cooling-portal) .empty-state p{color:var(--gray-500);font-size:14px}:where(.cooling-portal) .page-section{display:none}:where(.cooling-portal) .page-section.active{display:block}:where(.cooling-portal) .refresh-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-600)}:where(.cooling-portal) .refresh-toggle input[type=checkbox]{width:36px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--gray-300);border-radius:10px;position:relative;cursor:pointer;transition:all .2s}:where(.cooling-portal) .refresh-toggle input[type=checkbox]:checked{background:var(--success)}:where(.cooling-portal) .refresh-toggle input[type=checkbox]:before{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:all .2s}:where(.cooling-portal) .refresh-toggle input[type=checkbox]:checked:before{left:18px}:where(.cooling-portal) .last-updated{font-size:12px;color:var(--gray-500)}:where(.cooling-portal) .dashboard-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px 16px;margin-top:16px}:where(.cooling-portal) .dashboard-meta .site-tz-label{margin-top:0}@media (max-width: 1024px){:where(.cooling-portal) .charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){:where(.cooling-portal) .site-selector{flex:1 1 100%}:where(.cooling-portal) .site-select{width:100%;min-width:0}:where(.cooling-portal) .user-menu{margin-left:auto}:where(.cooling-portal) .refresh-toggle label{white-space:nowrap}:where(.cooling-portal) .filter-bar{flex-direction:column;align-items:stretch}:where(.cooling-portal) .seg{align-self:center}:where(.cooling-portal) .range-group{width:100%}:where(.cooling-portal) .range-input{width:auto;flex:1 1 0;min-width:0}:where(.cooling-portal) .btn-apply{width:100%;justify-content:center}:where(.cooling-portal) .kpi-grid{grid-template-columns:1fr 1fr}:where(.cooling-portal) .equip-grid{grid-template-columns:1fr 1fr}:where(.cooling-portal) .charts-grid{grid-template-columns:1fr}}@media (max-width: 480px){:where(.cooling-portal) .kpi-grid{grid-template-columns:1fr}:where(.cooling-portal) .equip-grid{grid-template-columns:1fr}}:where(.cooling-portal) .text-center{text-align:center}:where(.cooling-portal) .text-right{text-align:right}:where(.cooling-portal) .mt-4{margin-top:16px}:where(.cooling-portal) .mb-4{margin-bottom:16px}:where(.cooling-portal) .mr-2{margin-right:8px}:where(.cooling-portal) .ml-2{margin-left:8px}:where(.cooling-portal) .fade-in{animation:fadeIn .3s ease}:where(.cooling-portal) #toastContainer{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:100000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}@media (max-width: 768px){.sidebar{display:flex;position:fixed;top:0;left:0;height:100vh;height:100dvh;width:260px;padding:20px 16px;transform:translate(-100%);visibility:hidden;transition:transform .25s ease,visibility .25s ease;z-index:1001;overflow-y:auto}.sidebar-slot.mobile-open .sidebar{transform:translate(0);visibility:visible;box-shadow:4px 0 24px #0000004d}.logo-text,.nav-item span{display:inline}.nav-section-title{display:block}.logo{justify-content:flex-start}.nav-item{justify-content:flex-start;padding:12px 14px;min-height:44px}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:none}.mobile-nav-overlay.visible{display:block}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:4px;border:none;background:transparent;color:inherit;font-size:18px;cursor:pointer}.topbar h1{min-width:0;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (min-width: 768.02px){.mobile-menu-btn{display:none}}@media (max-width: 768px){:where(.cooling-portal) .modal-overlay{padding:0;align-items:flex-end}:where(.cooling-portal) .modal-content{max-width:100%;width:100%;max-height:92vh;max-height:92dvh;border-radius:var(--radius) var(--radius) 0 0;display:flex;flex-direction:column;overflow:hidden}:where(.cooling-portal) .modal-body{flex:1 1 auto;overflow-y:auto;min-height:0;padding:16px}:where(.cooling-portal) .modal-header{flex:0 0 auto;padding:14px 16px}:where(.cooling-portal) .modal-header h3{font-size:15px;min-width:0}:where(.cooling-portal) .modal-footer{flex:0 0 auto;flex-direction:column-reverse;align-items:stretch;gap:8px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}:where(.cooling-portal) .modal-footer .btn-baseline,:where(.cooling-portal) .modal-footer .btn-apply{width:100%;justify-content:center}:where(.cooling-portal) .modal-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:-6px -6px -6px 0}:where(.cooling-portal) .modal-content input,:where(.cooling-portal) .modal-content select,:where(.cooling-portal) .modal-content textarea{font-size:16px;min-height:44px}:where(.cooling-portal) table.mobile-cards,:where(.cooling-portal) table.mobile-cards tbody,:where(.cooling-portal) table.mobile-cards tr,:where(.cooling-portal) table.mobile-cards td{display:block;width:auto}:where(.cooling-portal) table.mobile-cards thead{display:none}:where(.cooling-portal) table.mobile-cards tr{border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:12px;padding:4px 0;background:#fff}:where(.cooling-portal) table.mobile-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 14px;border:none;font-size:13px;text-align:right;min-width:0;overflow-wrap:break-word}:where(.cooling-portal) table.mobile-cards td:before{content:attr(data-label);flex:0 0 40%;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}:where(.cooling-portal) table.mobile-cards td:first-child{border-bottom:1px solid var(--gray-100);font-size:14px;text-align:left;padding-top:10px}:where(.cooling-portal) table.mobile-cards td:first-child:before{display:none}:where(.cooling-portal) .table-container{overflow-x:visible;border:0;border-radius:0}:where(.cooling-portal) .report-export-actions{flex-direction:column;align-items:stretch;width:100%}:where(.cooling-portal) #reportsSection .card-header{flex-wrap:wrap;gap:12px}:where(.cooling-portal) .chart-container{height:220px}:where(.cooling-portal) .chart-toolbar-btn{min-width:44px;min-height:44px}:where(.cooling-portal) .range-input,:where(.cooling-portal) .range-select{font-size:16px}:where(.cooling-portal) .range-group,:where(.cooling-portal) .btn-apply,:where(.cooling-portal) .btn-baseline,:where(.cooling-portal) .seg-btn{min-height:44px}:where(.cooling-portal) .auth-form .form-control{font-size:16px;min-height:44px}:where(.cooling-portal) .auth-card{padding:32px 16px}@media (max-width: 381.98px){:where(.cooling-portal) .auth-form .otp-input-container{display:grid;grid-template-columns:repeat(3,45px);justify-content:center}}:where(.cooling-portal) #settingsSection .btn-danger{min-height:44px}:where(.cooling-portal) #settingsSection .site-id,:where(.cooling-portal) #settingsSection .site-role{overflow-wrap:break-word}:where(.cooling-portal) .btn,:where(.cooling-portal) .btn-sm{min-height:44px}:where(.cooling-portal) .refresh-toggle{min-height:44px}:where(.cooling-portal) .refresh-toggle label{display:flex;align-items:center;min-height:44px}:where(.cooling-portal) .refresh-toggle input[type=checkbox]:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}:where(.cooling-portal) .card-header>*{min-width:0}}:where(.admin-portal) .nav-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}:where(.admin-portal) .btn-ai-advisor{background:linear-gradient(135deg,#9333ea,#c026d3);color:#fff;border:none;font-weight:600;letter-spacing:.3px;box-shadow:0 2px 10px #9333ea59;transition:all .25s ease}:where(.admin-portal) .btn-ai-advisor:hover{background:linear-gradient(135deg,#7e22ce,#a21caf);box-shadow:0 4px 16px #9333ea80;transform:translateY(-1px)}:where(.admin-portal) .btn-ai-advisor:active{transform:translateY(0);box-shadow:0 2px 6px #9333ea4d}:where(.admin-portal) .deviceconfig-flex-wrapper{display:flex;gap:0;height:calc(100vh - 200px);min-height:500px}:where(.admin-portal) .deviceconfig-main{flex:1;min-width:0;transition:flex .3s ease;overflow-y:auto}:where(.admin-portal) .ai-advisor-panel{display:none;flex-direction:column;width:0;border-left:2px solid var(--primary);background:#0f172a;transition:width .3s ease,flex .3s ease;overflow:hidden}:where(.admin-portal) .ai-advisor-panel.open{display:flex;flex:0 0 30%;width:auto;min-width:340px}:where(.admin-portal) .ai-advisor-panel.maximized{flex:0 0 55%}:where(.admin-portal) .ai-advisor-panel-header{padding:12px 16px;border-bottom:1px solid rgba(18,106,243,.2);border-top:3px solid var(--primary);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:linear-gradient(180deg,#1e293b,#0f172a)}:where(.admin-portal) .ai-msg{display:flex;gap:12px;align-items:flex-start;animation:msgSlideIn .3s ease-out both}:where(.admin-portal) .ai-msg-avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:-.5px;flex-shrink:0}:where(.admin-portal) .ai-msg-content{background:#1e293b;border:1px solid rgba(18,106,243,.15);border-radius:4px 12px 12px;padding:14px 18px;font-size:14px;line-height:1.6;max-width:85%;word-wrap:break-word;color:#cbd5e1}:where(.admin-portal) .ai-msg-content strong{color:var(--primary-light)}:where(.admin-portal) .ai-msg-content pre{background:#020617;color:#93c5fd;padding:12px;border-radius:6px;border:1px solid rgba(18,106,243,.2);overflow-x:auto;font-family:monospace;font-size:12px;margin:8px 0}:where(.admin-portal) .ai-msg-content code{background:#126af326;color:#c7ddff;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:12px}:where(.admin-portal) .ai-msg-content pre code{background:none;padding:0;color:inherit}:where(.admin-portal) .ai-msg-content ul,:where(.admin-portal) .ai-msg-content ol{color:#94a3b8}:where(.admin-portal) .ai-msg-content li{margin-bottom:4px}:where(.admin-portal) .ai-msg-content p{margin:0 0 8px}:where(.admin-portal) .ai-msg-content p:last-child{margin-bottom:0}:where(.admin-portal) .ai-msg-content h1,:where(.admin-portal) .ai-msg-content h2,:where(.admin-portal) .ai-msg-content h3,:where(.admin-portal) .ai-msg-content h4{color:#e2e8f0;margin:12px 0 6px;line-height:1.3}:where(.admin-portal) .ai-msg-content h1{font-size:18px}:where(.admin-portal) .ai-msg-content h2{font-size:16px}:where(.admin-portal) .ai-msg-content h3{font-size:15px}:where(.admin-portal) .ai-msg-content table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}:where(.admin-portal) .ai-msg-content th,:where(.admin-portal) .ai-msg-content td{border:1px solid #334155;padding:6px 10px;text-align:left}:where(.admin-portal) .ai-msg-content th{background:#0f172a;color:#e2e8f0}:where(.admin-portal) .ai-msg-content blockquote{border-left:3px solid var(--primary);margin:8px 0;padding:4px 12px;color:#94a3b8}:where(.admin-portal) .ai-msg-content hr{border:none;border-top:1px solid #334155;margin:10px 0}:where(.admin-portal) .user-msg{display:flex;gap:12px;align-items:flex-start;flex-direction:row-reverse;animation:msgSlideIn .3s ease-out both}:where(.admin-portal) .user-msg-avatar{width:32px;height:32px;border-radius:8px;background:#334155;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:13px;flex-shrink:0;border:1px solid #475569}:where(.admin-portal) .user-msg-content{background:var(--primary);color:#fff;border-radius:12px 4px 12px 12px;padding:14px 18px;font-size:14px;line-height:1.6;max-width:85%;word-wrap:break-word}:where(.admin-portal) .user-msg-content img{max-width:200px;border-radius:6px;margin:4px 0;display:block;border:1px solid rgba(255,255,255,.15)}:where(.admin-portal) .ai-suggestion-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}:where(.admin-portal) .ai-suggestion-actions button{padding:8px 16px;border-radius:8px;border:1px solid var(--primary-light);background:#126af31a;color:#c7ddff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}:where(.admin-portal) .ai-suggestion-actions button:hover{background:var(--primary);color:#fff;box-shadow:0 0 12px #126af34d}:where(.admin-portal) .typing-dots span{animation:typingDot 1.4s infinite both;font-size:24px;line-height:1;color:var(--primary-light)}:where(.admin-portal) .typing-dots span:nth-child(2){animation-delay:.2s}:where(.admin-portal) .typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,80%,to{opacity:.3}40%{opacity:1}}@keyframes typingPulse{0%,to{opacity:.5}50%{opacity:1}}:where(.admin-portal) #aiAdvisorTypingLabel{animation:typingPulse 2s ease-in-out infinite}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}:where(.admin-portal) .ai-img-thumb{width:60px;height:60px;object-fit:cover;border-radius:6px;border:1px solid #475569;cursor:pointer;position:relative}:where(.admin-portal) .ai-img-thumb-wrapper{position:relative;display:inline-block}:where(.admin-portal) .ai-img-thumb-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--danger);color:#fff;border:none;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}:where(.admin-portal) .ai-user-file{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#126af326;border-radius:6px;font-size:12px;color:#c7ddff;margin:2px 4px 2px 0}:where(.admin-portal) .ai-user-file i{color:#22c55e}:where(.admin-portal) .ai-user-file span{color:#64748b}:where(.admin-portal) .sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--gray-700)}:where(.admin-portal) .api-status{display:flex;align-items:center;gap:8px;padding:12px;background:var(--gray-800);border-radius:8px;font-size:13px}:where(.admin-portal) .status-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-500)}:where(.admin-portal) .status-dot.online{background:var(--success);box-shadow:0 0 8px var(--success)}:where(.admin-portal) .api-status-text{color:var(--gray-400)}:where(.admin-portal) .env-toggle{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--gray-100);border-radius:8px;font-size:13px}:where(.admin-portal) .env-toggle label{color:var(--gray-600);font-weight:500}:where(.admin-portal) .env-toggle select{padding:4px 8px;border:1px solid var(--gray-300);border-radius:4px;background:#fff;font-size:13px;cursor:pointer}:where(.admin-portal) .env-toggle select:focus{outline:none;border-color:var(--primary)}:where(.admin-portal) .env-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}:where(.admin-portal) .env-indicator.local{background:var(--warning)}:where(.admin-portal) .env-indicator.deployed{background:var(--success)}:where(.admin-portal) .card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}:where(.admin-portal) .card-header{padding:20px 24px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}:where(.admin-portal) .card-header h2{font-size:16px;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:10px}:where(.admin-portal) .card-header h2 i{color:var(--primary)}:where(.admin-portal) .card-body{padding:24px}:where(.admin-portal) .card-header.in-progress{background:linear-gradient(100deg,var(--gray-50) 18%,rgba(18,106,243,.16) 38%,rgba(18,106,243,.3) 50%,rgba(18,106,243,.16) 62%,var(--gray-50) 82%);background-size:300% 100%;animation:cardHeaderSweep 2.6s ease-in-out infinite;border:1px solid rgba(18,106,243,.45)}@keyframes cardHeaderSweep{0%{background-position:150% 0}to{background-position:-150% 0}}@media (prefers-reduced-motion: reduce){:where(.admin-portal) .card-header.in-progress{animation:none;background:#126af324;border:1px solid rgba(18,106,243,.45)}}:where(.admin-portal) .card-description{color:var(--gray-500);font-size:14px;margin-bottom:20px}:where(.admin-portal) .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}:where(.admin-portal) .form-group{margin-bottom:20px}:where(.admin-portal) .form-group label{display:block;margin-bottom:6px;color:var(--gray-700);font-weight:500;font-size:13px}:where(.admin-portal) .checkbox-option,:where(.admin-portal) .form-group label.checkbox-option{display:flex;align-items:center;gap:8px;padding:4px 0}:where(.admin-portal) .form-group label .required{color:var(--danger)}:where(.admin-portal) .form-control{width:100%;padding:10px 14px;border:1px solid var(--gray-300);border-radius:8px;font-size:14px;transition:all .2s;background:#fff}:where(.admin-portal) .form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #126af31a}:where(.admin-portal) .form-control::placeholder{color:var(--gray-400)}:where(.admin-portal) select.form-control{cursor:pointer}:where(.admin-portal) .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}:where(.admin-portal) .btn-primary{background:var(--primary);color:#fff}:where(.admin-portal) .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow)}:where(.admin-portal) .btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}:where(.admin-portal) .btn-secondary:hover{background:var(--gray-200)}:where(.admin-portal) .btn-success{background:var(--success);color:#fff}:where(.admin-portal) .btn-success:hover{background:#059669}:where(.admin-portal) .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}:where(.admin-portal) .btn-group{display:flex;gap:12px;margin-top:24px}:where(.admin-portal) .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:where(.admin-portal) .response-container{margin-top:24px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:where(.admin-portal) .alert{padding:16px 20px;border-radius:8px;display:flex;align-items:flex-start;gap:12px}:where(.admin-portal) .alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}:where(.admin-portal) .alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}:where(.admin-portal) .alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}:where(.admin-portal) .alert-icon{font-size:18px;margin-top:2px}:where(.admin-portal) .alert-content{flex:1}:where(.admin-portal) .alert-title{font-weight:600;margin-bottom:4px}:where(.admin-portal) .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}:where(.admin-portal) .stats-grid-3{grid-template-columns:repeat(3,1fr)}:where(.admin-portal) .stat-card{background:var(--gray-50);padding:16px;border-radius:8px;border:1px solid var(--gray-200)}:where(.admin-portal) .stat-label{color:var(--gray-500);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}:where(.admin-portal) .stat-value{color:var(--gray-900);font-size:18px;font-weight:600}:where(.admin-portal) .tabs{display:flex;gap:4px;background:var(--gray-100);padding:4px;border-radius:8px;margin-bottom:16px}:where(.admin-portal) .tab{padding:8px 16px;background:transparent;border:none;border-radius:6px;color:var(--gray-600);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}:where(.admin-portal) .tab:hover{color:var(--gray-900)}:where(.admin-portal) .tab.active{background:#fff;color:var(--gray-900);box-shadow:var(--shadow-sm)}:where(.admin-portal) .tab-content{display:none}:where(.admin-portal) .tab-content.active{display:block}:where(.admin-portal) .table-container{overflow-x:auto;border:1px solid var(--gray-200);border-radius:8px}:where(.admin-portal) .data-table{width:100%;border-collapse:collapse;font-size:13px}:where(.admin-portal) .data-table th{background:var(--gray-50);padding:12px 16px;text-align:left;font-weight:600;color:var(--gray-700);border-bottom:1px solid var(--gray-200);white-space:nowrap}:where(.admin-portal) .data-table td{padding:12px 16px;border-bottom:1px solid var(--gray-100);color:var(--gray-600)}:where(.admin-portal) .data-table tr:hover td{background:var(--gray-50)}:where(.admin-portal) .data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}:where(.admin-portal) .data-table th.sortable:hover{color:var(--gray-900)}:where(.admin-portal) .data-table th.sortable.sort-active{color:var(--primary)}:where(.admin-portal) .data-table th .sort-icon{margin-left:4px;font-size:10px;opacity:.4}:where(.admin-portal) .data-table th.sort-active .sort-icon{opacity:1}:where(.admin-portal) .data-table tr:last-child td{border-bottom:none}:where(.admin-portal) .null-value{color:var(--gray-400);font-style:italic}:where(.admin-portal) pre{background:var(--gray-900);color:#e5e7eb;padding:20px;border-radius:8px;overflow-x:auto;font-size:12px;line-height:1.6;max-height:500px;overflow-y:auto}:where(.admin-portal) .badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500}:where(.admin-portal) .badge-success{background:#d1fae5;color:#065f46}:where(.admin-portal) .badge-error{background:#fee2e2;color:#991b1b}:where(.admin-portal) .page-section{display:none}:where(.admin-portal) .page-section.active{display:block}:where(.admin-portal) .doc-buttons{display:flex;gap:12px;flex-wrap:wrap}:where(.admin-portal) .doc-btn{display:flex;align-items:center;gap:12px;padding:20px 24px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;text-decoration:none;color:var(--gray-800);transition:all .2s;flex:1;min-width:200px}:where(.admin-portal) .doc-btn:hover{border-color:var(--primary);background:#fff;box-shadow:var(--shadow)}:where(.admin-portal) .doc-btn-icon{width:48px;height:48px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}:where(.admin-portal) .doc-btn-text h3{font-size:15px;font-weight:600;margin-bottom:2px}:where(.admin-portal) .doc-btn-text p{font-size:13px;color:var(--gray-500)}:where(.admin-portal) .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}:where(.admin-portal) .modal-content{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:550px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .2s ease}:where(.admin-portal) .modal-content.modal-scroll-body{display:flex;flex-direction:column;overflow:hidden}:where(.admin-portal) .modal-content.modal-scroll-body>.modal-header,:where(.admin-portal) .modal-content.modal-scroll-body>.modal-footer{flex:0 0 auto}:where(.admin-portal) .modal-content.modal-scroll-body>.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}:where(.admin-portal) .config-telemetry-wrapper{display:flex;flex:1;min-height:0;overflow:hidden}:where(.admin-portal) .config-form-panel{flex:1;min-width:0;display:flex;flex-direction:column}:where(.admin-portal) .controller-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}:where(.admin-portal) .modal-content.telemetry-expanded{max-width:1900px!important;overflow:hidden;display:flex;flex-direction:column}:where(.admin-portal) .modal-content.telemetry-only-content{max-width:1100px!important;height:90vh;overflow:hidden;display:flex;flex-direction:column}:where(.admin-portal) .inline-telemetry-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0;background:#f1f5f9;border:1px solid var(--gray-200);border-radius:10px}:where(.admin-portal) .inline-telemetry-panel.telemetry-fullwidth{width:auto;flex:1}:where(.admin-portal) .it-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px;background:#1e293b;color:#fff}:where(.admin-portal) .it-header-left{display:flex;align-items:center;gap:14px;margin-right:auto}:where(.admin-portal) .it-title{font-size:14px;font-weight:600}:where(.admin-portal) .it-window-toggle{display:inline-flex;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:2px}:where(.admin-portal) .it-window-btn{padding:4px 12px;font-size:12px;font-weight:500;color:#ffffffa6;background:transparent;border:none;border-radius:999px;cursor:pointer;line-height:1.4;transition:background .15s,color .15s,box-shadow .15s}:where(.admin-portal) .it-window-btn:hover{color:#fff}:where(.admin-portal) .it-window-btn.active{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000002e;cursor:default}:where(.admin-portal) .it-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:#94a3b8}:where(.admin-portal) .it-dot-ok{background:#22c55e;box-shadow:0 0 0 3px #22c55e40}:where(.admin-portal) .it-dot-error{background:#ef4444;box-shadow:0 0 0 3px #ef444440}:where(.admin-portal) .it-dot-connecting{background:#f59e0b;animation:pulse 1s ease-in-out infinite}:where(.admin-portal) .it-dot-stopped{background:#94a3b8}:where(.admin-portal) .it-status-text{font-size:12px;color:#ffffffbf}:where(.admin-portal) .it-btn{padding:5px 14px;font-size:12px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:filter .15s,opacity .15s}:where(.admin-portal) .it-btn:hover:not(:disabled){filter:brightness(1.08)}:where(.admin-portal) .it-btn:disabled{opacity:.5;cursor:not-allowed}:where(.admin-portal) .it-btn-primary{background:var(--primary);color:#fff}:where(.admin-portal) .ht-custom-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px 8px}:where(.admin-portal) .ht-range-group{display:inline-flex;align-items:center;gap:2px;height:34px;padding:0 12px;background:#fff;border:1px solid #cbd5e1;border-radius:9999px;transition:border-color .2s,box-shadow .2s}:where(.admin-portal) .ht-range-group:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #126af31f}:where(.admin-portal) .ht-range-input{border:none;background:transparent;outline:none;font-family:inherit;font-size:13px;color:#1e293b;width:176px;height:100%;padding:0 2px}:where(.admin-portal) .ht-range-input::-webkit-datetime-edit{padding:0}:where(.admin-portal) .ht-range-sep{display:inline-flex;align-items:center;color:#94a3b8;font-size:11px;padding:0 6px}:where(.admin-portal) .ht-tz-hint{flex-basis:100%;font-size:11px;color:#64748b}:where(.admin-portal) .ht-range-error{padding:0 12px;color:var(--danger, #ef4444);font-size:12px}:where(.admin-portal) .it-info-bar{display:flex;justify-content:space-between;gap:12px;padding:6px 16px;font-size:11px;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}:where(.admin-portal) .it-charts{display:flex;flex-direction:column;gap:10px;padding:12px;overflow-y:auto;min-height:0;flex:1;max-height:440px}:where(.admin-portal) .it-info-bar.it-info-stale{opacity:.45}:where(.admin-portal) .it-empty-message{margin:auto;padding:28px 16px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:13px;color:#64748b}:where(.admin-portal) .it-empty-message i{display:block;font-size:24px;color:var(--gray-300);margin-bottom:8px}:where(.admin-portal) .modal-content.telemetry-expanded{display:flex;flex-direction:column;overflow:hidden}:where(.admin-portal) .modal-content.telemetry-expanded .config-telemetry-wrapper{display:flex;flex:1;min-height:0;overflow:hidden}:where(.admin-portal) .modal-content.telemetry-expanded .config-form-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}:where(.admin-portal) .modal-content.telemetry-expanded .it-side-column{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:16px}:where(.admin-portal) .modal-content.telemetry-expanded .it-side-column .inline-telemetry-panel{flex:1;min-height:0}:where(.admin-portal) .modal-content.telemetry-expanded .it-charts{max-height:none}:where(.admin-portal) .modal-content.model-config-modal.telemetry-expanded .it-side-column{flex:2.5}:where(.admin-portal) .modal-content.telemetry-only-content .modal-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px}:where(.admin-portal) .modal-content.telemetry-only-content .inline-telemetry-panel{flex:1;min-height:0}:where(.admin-portal) .modal-content.telemetry-only-content .it-charts{max-height:none}:where(.admin-portal) .hw-stepper{display:flex;align-items:flex-start;justify-content:center;padding:16px 20px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);flex-shrink:0}:where(.admin-portal) .hw-step-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer}:where(.admin-portal) .hw-step-node{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 12px}:where(.admin-portal) .hw-step-circle{width:28px;height:28px;border-radius:50%;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--gray-400);background:#fff;transition:all .3s}:where(.admin-portal) .hw-step-label{font-size:11px;color:var(--gray-400);white-space:nowrap;transition:color .3s}:where(.admin-portal) .hw-step-item.active .hw-step-circle{background:var(--primary);border-color:var(--primary);color:#fff}:where(.admin-portal) .hw-step-item.active .hw-step-label{color:var(--primary);font-weight:600}:where(.admin-portal) .hw-step-item.completed .hw-step-circle{background:var(--success);border-color:var(--success);color:#fff}:where(.admin-portal) .hw-step-item.completed .hw-step-label{color:var(--success)}:where(.admin-portal) .hw-step-connector{width:40px;height:2px;background:var(--gray-200);flex-shrink:0;margin:13px 4px 0;transition:background .3s}:where(.admin-portal) .hw-step-connector.done{background:var(--success)}:where(.admin-portal) .hw-config-step{animation:hwStepFadeIn .25s ease}@keyframes hwStepFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:where(.admin-portal) .hw-step-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 24px}:where(.admin-portal) .hw-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);transition:all .2s}:where(.admin-portal) .hw-nav-btn:hover{background:var(--gray-50);border-color:var(--gray-400)}:where(.admin-portal) .hw-nav-btn.next{background:var(--primary);color:#fff;border-color:var(--primary);margin-left:auto}:where(.admin-portal) .hw-nav-btn.next:hover{background:var(--primary-dark, #1565c0)}:where(.admin-portal) .hw-step-card,:where(.admin-portal) .hw-pumps-step,:where(.admin-portal) .hw-config-step{display:flex;flex-direction:column;gap:22px}:where(.admin-portal) .hw-section{display:flex;flex-direction:column;gap:12px}:where(.admin-portal) .hw-section>h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--gray-800);padding-bottom:8px;border-bottom:1px solid var(--gray-200);margin:0}:where(.admin-portal) .hw-section>h3 i{color:var(--primary)}:where(.admin-portal) .hw-form-row{display:flex;flex-wrap:wrap;gap:14px}:where(.admin-portal) .hw-field{display:flex;flex-direction:column;gap:6px;min-width:0}:where(.admin-portal) .hw-form-row>.hw-field{flex:1 1 160px}:where(.admin-portal) .hw-field>label,:where(.admin-portal) .hw-label{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.3px}:where(.admin-portal) .hw-input,:where(.admin-portal) .hw-change-summary{width:100%;padding:9px 12px;border:1px solid var(--gray-300);border-radius:8px;font-size:14px;background:#fff;color:var(--gray-800);transition:border-color .15s,box-shadow .15s}:where(.admin-portal) .hw-input:focus,:where(.admin-portal) .hw-change-summary:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #126af31f}:where(.admin-portal) .hw-input:disabled{background:var(--gray-100);color:var(--gray-500);cursor:not-allowed}:where(.admin-portal) .hw-unit-input{display:flex;align-items:stretch}:where(.admin-portal) .hw-unit-input .hw-input{flex:1;min-width:0;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}:where(.admin-portal) .hw-checkbox-row,:where(.admin-portal) .hw-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gray-700);cursor:pointer}:where(.admin-portal) .hw-checkbox-row input[type=checkbox],:where(.admin-portal) .hw-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}:where(.admin-portal) .hw-hint{font-size:12px;color:var(--gray-500)}:where(.admin-portal) .hw-req-complete{border:2px solid #22c55e;border-radius:8px;padding:12px;background:#f0fdf4}:where(.admin-portal) .hw-req-incomplete{border:2px solid #f97316;border-radius:8px;padding:12px;background:#fff7ed}:where(.admin-portal) .hw-step-hint{font-size:13px;color:var(--gray-500)}:where(.admin-portal) .hw-version-info{font-size:12px;color:var(--gray-500)}:where(.admin-portal) .hw-config-modal .modal-footer{flex-direction:column;align-items:stretch;gap:10px}:where(.admin-portal) .hw-config-modal .hw-footer-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}:where(.admin-portal) .hw-config-modal .hw-footer-actions #saveConfigBtn{margin-left:auto}:where(.admin-portal) .hw-config-modal .modal-footer .btn{padding:7px 14px;font-size:13px;white-space:nowrap;gap:6px}:where(.admin-portal) .it-sheet-close{display:none}:where(.admin-portal) .controller-mode-modal .modal-footer{flex-direction:column;gap:10px}:where(.admin-portal) .controller-mode-modal .controller-mode-footer-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}:where(.admin-portal) .hw-toggle-group{display:inline-flex;border:1px solid var(--gray-300);border-radius:8px;overflow:hidden;width:fit-content}:where(.admin-portal) .hw-toggle-btn{padding:9px 40px;min-width:150px;text-align:center;border:none;background:#fff;color:var(--gray-600);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}:where(.admin-portal) .hw-toggle-btn+.hw-toggle-btn{border-left:1px solid var(--gray-300)}:where(.admin-portal) .hw-toggle-btn:hover:not(.active){background:var(--gray-50)}:where(.admin-portal) .hw-toggle-btn.active{background:var(--primary);color:#fff}:where(.admin-portal) .hw-remove-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--danger);cursor:pointer;font-size:15px;padding:4px;line-height:1}:where(.admin-portal) .hw-remove-btn:hover{color:#b91c1c}:where(.admin-portal) .hw-subcard{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px}:where(.admin-portal) .hw-pressure-fields,:where(.admin-portal) .hw-power-fields{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:14px}:where(.admin-portal) .hw-pressure-fields>.hw-field,:where(.admin-portal) .hw-power-fields>.hw-field{flex:0 1 auto}:where(.admin-portal) .hw-pressure-fields .hw-unit-input .hw-input{width:96px}:where(.admin-portal) .hw-pressure-fields select.hw-input{width:auto;min-width:88px;max-width:210px}:where(.admin-portal) .hw-row-break{flex-basis:100%;height:0;margin:0}:where(.admin-portal) .hw-pressure-fields .hw-field--io-addr select.hw-input{min-width:260px;max-width:none}:where(.admin-portal) .hw-chiller-rows{display:flex;flex-direction:column;gap:14px}:where(.admin-portal) .hw-chiller-row{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--gray-200);border-radius:10px;background:#fff}:where(.admin-portal) .hw-chiller-header{display:flex;align-items:center;justify-content:space-between}:where(.admin-portal) .hw-chiller-title{font-size:14px;font-weight:600;color:var(--gray-800)}:where(.admin-portal) .hw-sum-card{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;background:#fff}:where(.admin-portal) .hw-sum-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}:where(.admin-portal) .hw-sum-status{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--gray-400);white-space:nowrap}:where(.admin-portal) .hw-sum-row{display:grid;grid-template-columns:170px 1fr auto;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--gray-100)}:where(.admin-portal) .hw-sum-row:last-child{border-bottom:none}:where(.admin-portal) .hw-sum-name{display:flex;align-items:center;gap:8px;color:var(--gray-700);font-size:13px;font-weight:500}:where(.admin-portal) .hw-sum-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}:where(.admin-portal) .hw-sum-config{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}:where(.admin-portal) .hw-sum-live{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}:where(.admin-portal) .hw-sum-type{font-size:11px;color:var(--gray-500);font-weight:500}:where(.admin-portal) .hw-summary{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden}:where(.admin-portal) .hw-summary-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--gray-100)}:where(.admin-portal) .hw-summary-row:last-child{border-bottom:none}:where(.admin-portal) .hw-summary-label{font-size:13px;color:var(--gray-500)}:where(.admin-portal) .hw-summary-value{font-size:13px;font-weight:600;color:var(--gray-800)}:where(.admin-portal) .pump-section,:where(.admin-portal) .hw-step{display:flex;flex-direction:column;gap:12px}:where(.admin-portal) .pump-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}:where(.admin-portal) .pump-section-header h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--gray-800);margin:0}:where(.admin-portal) .pump-section-header h3 i{color:var(--primary)}:where(.admin-portal) .pump-add-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 12px;border:1px solid var(--gray-300);border-radius:8px;background:#fff;color:var(--gray-700);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}:where(.admin-portal) .pump-add-btn:hover{border-color:var(--gray-400);background:var(--gray-50)}:where(.admin-portal) .pump-rows{display:flex;flex-direction:column;gap:6px}:where(.admin-portal) .pump-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px}:where(.admin-portal) .pump-row-title{font-size:13px;font-weight:600;color:var(--gray-700);min-width:60px}:where(.admin-portal) .pump-type{padding:7px 9px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;background:#fff;color:var(--gray-800);min-width:140px}:where(.admin-portal) .pump-cue-fields{display:flex;align-items:center;gap:8px}:where(.admin-portal) .pump-cue-fields label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:400;color:var(--gray-600)}:where(.admin-portal) .pump-number{width:70px;padding:7px 9px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;background:#fff;color:var(--gray-800)}:where(.admin-portal) .pump-type:focus,:where(.admin-portal) .pump-number:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #126af31f}:where(.admin-portal) .pump-remove-btn{margin-left:auto;background:none;border:none;color:var(--danger);cursor:pointer;font-size:15px;padding:4px;line-height:1}:where(.admin-portal) .pump-remove-btn:hover{color:#b91c1c}:where(.admin-portal) .pump-pm-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;width:100%}:where(.admin-portal) .pump-pm-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--gray-600)}:where(.admin-portal) .pump-pm-fields select,:where(.admin-portal) .pump-pm-fields input{padding:6px 8px;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;background:#fff;color:var(--gray-800)}:where(.admin-portal) .pump-pm-fields input{width:70px}:where(.admin-portal) .pump-pm-fields select:disabled,:where(.admin-portal) .pump-pm-fields input:disabled{background:var(--gray-100);color:var(--gray-500);cursor:not-allowed}:where(.admin-portal) .inline-telemetry-empty{text-align:center;padding:60px 20px;color:#94a3b8;font-size:14px}:where(.admin-portal) .inline-telem-status-dot{width:8px;height:8px;border-radius:50%;background:#64748b;display:inline-block}:where(.admin-portal) .inline-telem-status-dot.streaming{background:#22c55e;animation:pulse 2s infinite}:where(.admin-portal) .inline-telem-status-dot.error{background:#ef4444}:where(.admin-portal) .it-chart-card{background:#fff;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden;flex-shrink:0}:where(.admin-portal) .it-chart-header{padding:10px 14px;font-size:13px;font-weight:600;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;transition:background .15s}:where(.admin-portal) .it-chart-header:hover{background:#eef2f7}:where(.admin-portal) .it-chart-header .it-arrow{font-size:10px;color:#94a3b8;transition:transform .2s}:where(.admin-portal) .it-chart-header.expanded .it-arrow{transform:rotate(90deg)}:where(.admin-portal) .it-chart-header .it-series-count{font-size:11px;font-weight:400;color:#94a3b8;margin-left:8px}:where(.admin-portal) .it-chart-body{padding:6px 10px;height:200px;position:relative;display:none}:where(.admin-portal) .it-chart-body.expanded{display:block}:where(.admin-portal) .btn-active-telemetry{background:var(--secondary)!important;color:#fff!important}:where(.admin-portal) .it-chart-card.it-maximized .it-chart-body{display:block;height:calc(100vh - 240px)}:where(.admin-portal) .it-maximize-btn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:2px 6px;font-size:12px;border-radius:3px;transition:color .15s,background .15s}:where(.admin-portal) .it-maximize-btn:hover{color:#475569;background:#e2e8f0}:where(.admin-portal) .it-reset-zoom-btn{display:inline-flex;align-items:center;gap:5px;margin-left:auto;margin-right:6px;padding:2px 9px;font-family:inherit;font-size:11px;font-weight:500;color:var(--primary);background:#126af314;border:1px solid rgba(18,106,243,.25);border-radius:999px;cursor:pointer;transition:background .15s}:where(.admin-portal) .it-reset-zoom-btn:hover{background:#126af329}:where(.admin-portal) .modal-header{padding:20px 24px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}:where(.admin-portal) .modal-header h3{font-size:18px;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:10px}:where(.admin-portal) .modal-header h3 i{color:var(--primary)}:where(.admin-portal) .modal-close{background:none;border:none;font-size:28px;color:var(--gray-400);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}:where(.admin-portal) .modal-close:hover{background:var(--gray-100);color:var(--gray-700)}:where(.admin-portal) .modal-body{padding:24px}:where(.admin-portal) .searchable-dropdown{position:relative}:where(.admin-portal) .searchable-dropdown input{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--gray-300);border-radius:8px;font-size:14px;background:#fff;cursor:text}:where(.admin-portal) .searchable-dropdown input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #126af31f}:where(.admin-portal) .searchable-dropdown .sd-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--gray-400);font-size:12px;transition:transform .2s}:where(.admin-portal) .searchable-dropdown.open .sd-arrow{transform:translateY(-50%) rotate(180deg)}:where(.admin-portal) .searchable-dropdown .sd-spinner{position:absolute;right:12px;top:50%;margin-top:-6.5px;pointer-events:none;color:var(--primary)}:where(.admin-portal) .searchable-dropdown .sd-options{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:1000;padding:4px 0}:where(.admin-portal) .searchable-dropdown.open .sd-options{display:block}:where(.admin-portal) .searchable-dropdown .sd-option{padding:9px 14px;font-size:14px;cursor:pointer;color:var(--gray-700);transition:background .1s}:where(.admin-portal) .searchable-dropdown .sd-option:hover,:where(.admin-portal) .searchable-dropdown .sd-option.highlighted{background:var(--primary-light, #eaf2ff);color:var(--primary)}:where(.admin-portal) .searchable-dropdown .sd-create{border-top:1px solid var(--gray-200);color:var(--gray-600)}:where(.admin-portal) .searchable-dropdown .sd-create:hover,:where(.admin-portal) .searchable-dropdown .sd-create.highlighted{background:#f0fdf4;color:var(--success)}:where(.admin-portal) .searchable-dropdown .sd-empty{padding:12px 14px;font-size:13px;color:var(--gray-400);text-align:center}:where(.admin-portal) .modal-footer{padding:16px 24px;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:12px}:where(.admin-portal) .modal-body-actions{display:flex;justify-content:flex-end;gap:10px}:where(.admin-portal) .model-config-footer{align-items:center;flex-wrap:wrap}:where(.admin-portal) .status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500;gap:4px}:where(.admin-portal) .status-badge.active{background:#d1fae5;color:#065f46}:where(.admin-portal) .status-badge.inactive{background:#fee2e2;color:#991b1b}:where(.admin-portal) .status-badge.admin{background:#dbe9ff;color:#0842a0}:where(.admin-portal) .u-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--gray-700)}:where(.admin-portal) .u-status:before{content:"";width:8px;height:8px;border-radius:50%;flex:none;background:var(--success)}:where(.admin-portal) .u-status.is-inactive{color:var(--gray-500)}:where(.admin-portal) .u-status.is-inactive:before{background:transparent;box-shadow:inset 0 0 0 2px var(--gray-400)}:where(.admin-portal) .role-chips{display:inline-flex;flex-wrap:wrap;gap:4px}:where(.admin-portal) .role-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--gray-200);border-radius:6px;background:#fff;font-size:12px;color:var(--gray-700);white-space:nowrap}:where(.admin-portal) .role-chip i{font-size:10px;opacity:.75}:where(.admin-portal) .role-chip.is-admin{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:#f5f9ff;color:var(--primary-dark)}:where(.admin-portal) .role-chip.is-sales{border-color:#bbf7d0;background:#f0fdf4;color:#166534}:where(.admin-portal) .role-chip.is-installer{border-color:#fed7aa;background:#fff7ed;color:#9a3412}:where(.admin-portal) .team-mark,:where(.admin-portal) .customer-name{color:var(--gray-800)}:where(.admin-portal) .action-btn{padding:6px 10px;border-radius:6px;border:none;cursor:pointer;font-size:13px;transition:all .2s;display:inline-flex;align-items:center;gap:4px}:where(.admin-portal) .action-btn.view{background:var(--gray-100);color:var(--gray-700)}:where(.admin-portal) .action-btn.view:hover{background:var(--gray-200)}:where(.admin-portal) .action-btn.deactivate{background:#fef2f2;color:#b91c1c}:where(.admin-portal) .action-btn.deactivate:hover{background:#fee2e2}:where(.admin-portal) .action-btn.reactivate{background:#ecfdf5;color:#047857}:where(.admin-portal) .action-btn.reactivate:hover{background:#d1fae5}:where(.admin-portal) .action-btn.admin-toggle{background:#eaf2ff;color:#0b58d0}:where(.admin-portal) .action-btn.admin-toggle:hover{background:#dbe9ff}:where(.admin-portal) .action-btn-group{display:flex;gap:6px;flex-wrap:wrap}:where(.admin-portal) #useradmin .data-table th{background:#fff;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);padding:10px 16px}:where(.admin-portal) #useradmin .data-table th.sortable:hover{color:var(--gray-800)}:where(.admin-portal) #useradmin .data-table td{padding:10px 16px;color:var(--gray-700)}:where(.admin-portal) #useradmin .data-table td strong{color:var(--gray-900);font-weight:600}:where(.admin-portal) #useradmin .data-table td code{color:var(--gray-600);font-size:12px}:where(.admin-portal) #useradmin .user-phone{font-size:12px;color:var(--gray-500);margin-top:2px}:where(.admin-portal) #useradmin .action-btn{background:transparent;color:var(--gray-500);padding:6px 8px}:where(.admin-portal) #useradmin .action-btn:hover,:where(.admin-portal) #useradmin .action-btn:focus-visible{background:var(--gray-100);color:var(--gray-700)}:where(.admin-portal) #useradmin .action-btn.deactivate:hover,:where(.admin-portal) #useradmin .action-btn.deactivate:focus-visible{background:#fef2f2;color:#b91c1c}:where(.admin-portal) #useradmin .action-btn.reactivate:hover,:where(.admin-portal) #useradmin .action-btn.reactivate:focus-visible{background:#ecfdf5;color:#047857}:where(.admin-portal) .user-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}:where(.admin-portal) .user-info-item{padding:12px;background:var(--gray-50);border-radius:8px}:where(.admin-portal) .user-info-item label{display:block;font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}:where(.admin-portal) .user-info-item span{font-size:14px;color:var(--gray-900)}:where(.admin-portal) .site-access-list{margin-top:20px}:where(.admin-portal) .site-access-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--gray-50);border-radius:8px;margin-bottom:8px}:where(.admin-portal) .site-access-info{flex:1}:where(.admin-portal) .site-access-info .site-name{font-size:13px;font-weight:600;color:var(--gray-900)}:where(.admin-portal) .site-access-info .site-id{font-size:11px;color:var(--gray-400);font-family:monospace}:where(.admin-portal) .site-access-info .site-role{font-size:12px;color:var(--gray-500)}:where(.admin-portal) .admin-actions-panel{margin-top:20px;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px}:where(.admin-portal) .admin-actions-panel__header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500)}:where(.admin-portal) .admin-actions-panel__header i{color:var(--primary)}:where(.admin-portal) .role-toggle-group{display:flex;flex-wrap:wrap;gap:8px}:where(.admin-portal) .role-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}:where(.admin-portal) .role-toggle:hover{transform:translateY(-1px)}:where(.admin-portal) .role-toggle:disabled{opacity:.55;cursor:not-allowed;transform:none}:where(.admin-portal) .role-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:where(.admin-portal) .role-toggle--grant{background:#eaf2ff;color:#0b58d0;border-color:#126af32e}:where(.admin-portal) .role-toggle--grant:hover{background:#dbe9ff}:where(.admin-portal) .role-toggle--revoke{background:#fef2f2;color:#b91c1c;border-color:#b91c1c2e}:where(.admin-portal) .role-toggle--revoke:hover{background:#fee2e2}:where(.admin-portal) .site-access-header{display:flex;align-items:center;justify-content:space-between;margin-top:20px;margin-bottom:12px}:where(.admin-portal) .site-access-header h4{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;color:var(--gray-800)}:where(.admin-portal) .site-access-header h4 i{color:var(--primary)}:where(.admin-portal) .site-access-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:var(--gray-200);color:var(--gray-600);font-size:12px;font-weight:600}:where(.admin-portal) .site-access-empty{padding:16px;text-align:center;color:var(--gray-500);background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:10px}:where(.admin-portal) .site-access-item{border:1px solid var(--gray-200);transition:border-color .15s,box-shadow .15s,opacity .2s}:where(.admin-portal) .site-access-item:hover{border-color:var(--gray-300);box-shadow:var(--shadow-sm)}:where(.admin-portal) .site-access-item.is-removing{opacity:.6;box-shadow:none}:where(.admin-portal) .site-access-item.is-removing .site-name{color:var(--gray-500)}:where(.admin-portal) .site-access-item.is-removing .site-role{font-style:italic}:where(.admin-portal) .role-toggle.is-busy{cursor:progress}:where(.admin-portal) .btn-spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:-1px}@media (prefers-reduced-motion: reduce){:where(.admin-portal) .btn-spinner{animation-duration:1.4s}}:where(.admin-portal) .btn-danger{background:var(--danger);color:#fff}:where(.admin-portal) .btn-danger:hover{background:#dc2626}:where(.admin-portal) .btn-sm{padding:6px 12px;font-size:12px}@media (max-width: 1024px){:where(.admin-portal) .api-status-text{display:none}:where(.admin-portal) .api-status{justify-content:center}}@media (max-width: 768px){:where(.admin-portal) .api-status-text{display:unset}:where(.admin-portal) .form-grid{grid-template-columns:1fr}:where(.admin-portal) .stats-grid{grid-template-columns:repeat(2,1fr)}:where(.admin-portal) .page-section{min-width:0;overflow-x:hidden}:where(.admin-portal) .sa-step-card{overflow:visible;max-width:100%}:where(.admin-portal) .sa-step-card-body{min-width:0;overflow-x:hidden}:where(.admin-portal) .sa-form-row{min-width:0}:where(.admin-portal) .sa-form-row>*{min-width:0}:where(.admin-portal) .sa-field{min-width:0}:where(.admin-portal) .sa-metric-grid>*{min-width:0}:where(.admin-portal) .sa-shell .sa-stepper{padding:10px 16px;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0}:where(.admin-portal) .sa-stepper .sa-step-item{flex:0 0 auto}:where(.admin-portal) .sa-stepper .sa-step-node{padding:2px;gap:0}:where(.admin-portal) .sa-stepper .sa-step-circle{width:24px;height:24px;font-size:11px;border-width:1.5px}:where(.admin-portal) .sa-stepper .sa-step-label{display:none}:where(.admin-portal) .sa-stepper .sa-step-connector{flex:1 1 0;width:auto;min-width:8px}:where(.admin-portal) .sa-shell .sa-step-card-header{padding:16px 16px 0}:where(.admin-portal) .sa-shell .sa-step-card-body{padding:16px}:where(.admin-portal) .sa-metric-grid{grid-template-columns:1fr}:where(.admin-portal) .sa-ref-table td:first-child,:where(.admin-portal) .sa-ref-table td:nth-child(2){white-space:normal}:where(.admin-portal) .sa-wizard-toolbar{flex-wrap:wrap;gap:8px}:where(.admin-portal) .sa-step-nav{flex-wrap:wrap;gap:8px}:where(.admin-portal) .hw-stepper{padding:10px 8px;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start}:where(.admin-portal) .hw-step-node{padding:4px 8px}:where(.admin-portal) .hw-step-connector{width:16px}:where(.admin-portal) .hw-step-label{font-size:9px}:where(.admin-portal) .hw-step-nav{flex-wrap:wrap;gap:8px}:where(.admin-portal) .sa-savings-hero{padding:20px 16px}:where(.admin-portal) .sa-savings-amount{font-size:26px}:where(.admin-portal) .sa-verdict-tag{font-size:15px;padding:8px 16px;letter-spacing:1px}:where(.admin-portal) .card-header{padding:14px 16px;flex-wrap:wrap;gap:8px}:where(.admin-portal) .card-header h2{font-size:14px}:where(.admin-portal) .card-body{padding:16px}:where(.admin-portal) #deviceconfig .card-header{flex-direction:column;align-items:stretch;gap:12px}:where(.admin-portal) #deviceconfig .card-header>div{display:flex;gap:8px;flex-wrap:wrap}:where(.admin-portal) #deviceconfig .card-header>div .btn{flex:1 1 0;min-width:0;justify-content:center;text-align:center;font-size:12px;padding:8px 10px;white-space:nowrap}:where(.admin-portal) .site-group-header{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px}:where(.admin-portal) .site-group-title{flex-wrap:wrap;gap:6px}:where(.admin-portal) .site-group-title h3{font-size:14px}:where(.admin-portal) .site-group-title>span{display:none}:where(.admin-portal) .site-group-stats{flex-wrap:wrap;gap:6px;width:100%}:where(.admin-portal) .site-group-stats .btn{font-size:11px!important;padding:6px 10px!important;flex:1 1 auto;text-align:center;justify-content:center;white-space:nowrap}:where(.admin-portal) .site-group-stats .site-group-toggle{flex:0 0 auto}:where(.admin-portal) .site-group-content th,:where(.admin-portal) .site-group-content td{padding:8px;font-size:12px}:where(.admin-portal) .site-group-content th:nth-child(3),:where(.admin-portal) .site-group-content td:nth-child(3){display:none}:where(.admin-portal) .site-group-content td:last-child .btn{font-size:10px!important;padding:3px 8px!important;margin-bottom:4px;display:inline-block}:where(.admin-portal) #deviceconfig .filter-bar{margin-bottom:16px}:where(.admin-portal) #deviceconfig .filter-bar>div{min-width:0!important}:where(.admin-portal) #deviceconfig .deviceconfig-main{padding:14px!important}:where(.admin-portal) #useradmin .filter-bar,:where(.admin-portal) #dataquality .filter-bar,:where(.admin-portal) #alarms .filter-bar,:where(.admin-portal) #siteassessment .filter-bar{flex-direction:column}:where(.admin-portal) #useradmin .filter-bar>*,:where(.admin-portal) #dataquality .filter-bar>*,:where(.admin-portal) #alarms .filter-bar>*,:where(.admin-portal) #siteassessment .filter-bar>*{width:100%!important;min-width:0!important}:where(.admin-portal) .sa-list-header{flex-wrap:wrap;gap:12px;padding:16px}:where(.admin-portal) .sa-new-btn{width:100%;justify-content:center}:where(.admin-portal) #assessmentListView .card-body>div:first-child{flex-direction:column!important;padding:12px!important}:where(.admin-portal) #assessmentListView .card-body>div:first-child>*{width:100%!important;min-width:0!important}:where(.admin-portal) .sa-table{font-size:12px}:where(.admin-portal) .sa-table thead th,:where(.admin-portal) .sa-table tbody td{padding:10px 8px;white-space:normal}:where(.admin-portal) .sa-table thead th:nth-child(3),:where(.admin-portal) .sa-table tbody td:nth-child(3),:where(.admin-portal) .sa-table thead th:nth-child(4),:where(.admin-portal) .sa-table tbody td:nth-child(4),:where(.admin-portal) .sa-table thead th:nth-child(5),:where(.admin-portal) .sa-table tbody td:nth-child(5),:where(.admin-portal) .sa-table thead th:nth-child(6),:where(.admin-portal) .sa-table tbody td:nth-child(6){display:none}}@media (max-width: 400px){:where(.admin-portal) .sa-shell .sa-stepper{padding:8px 12px}:where(.admin-portal) .sa-stepper .sa-step-circle{width:22px;height:22px;font-size:10px}:where(.admin-portal) .sa-stepper .sa-step-connector{min-width:4px}}:where(.admin-portal) .status-badge.ok{background:#10b9811a;color:var(--success)}:where(.admin-portal) .status-badge.error{background:#ef44441a;color:var(--danger)}:where(.admin-portal) .site-group{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}:where(.admin-portal) .site-group-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--gray-50);cursor:pointer;transition:background .2s;flex-wrap:wrap;gap:8px}:where(.admin-portal) .site-group-header:hover{background:var(--gray-100)}:where(.admin-portal) .site-group-title{display:flex;align-items:center;gap:12px}:where(.admin-portal) .site-group-title h3{font-size:15px;font-weight:600;color:var(--gray-800);margin:0}:where(.admin-portal) .site-group-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}:where(.admin-portal) .site-group-stats .btn{padding:6px 14px;font-size:13px}:where(.admin-portal) .site-group-content td:last-child .btn{padding:4px 12px;font-size:12px}:where(.admin-portal) .device-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}:where(.admin-portal) .site-group-stat{font-size:13px;color:var(--gray-500)}:where(.admin-portal) .site-group-stat strong{color:var(--gray-700)}:where(.admin-portal) .site-group-toggle{color:var(--gray-400);transition:transform .2s}:where(.admin-portal) .site-group.expanded .site-group-toggle{transform:rotate(180deg)}:where(.admin-portal) .site-group-content{display:none;padding:0}:where(.admin-portal) .site-group.expanded .site-group-content{display:block}:where(.admin-portal) .site-group-content table{width:100%;border-collapse:collapse}:where(.admin-portal) .site-group-content th,:where(.admin-portal) .site-group-content td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--gray-100);font-size:13px}:where(.admin-portal) .site-group-content th{background:var(--gray-50);font-weight:600;color:var(--gray-600);text-transform:uppercase;font-size:11px;letter-spacing:.5px}:where(.admin-portal) .site-group-content tr:last-child td{border-bottom:none}:where(.admin-portal) .site-group-content tr:hover td{background:var(--gray-50)}:where(.admin-portal) .latency-value{font-family:monospace;font-size:12px}:where(.admin-portal) .latency-value.high{color:var(--danger)}:where(.admin-portal) .latency-value.medium{color:var(--warning)}:where(.admin-portal) .latency-value.low{color:var(--success)}:where(.admin-portal) .filter-bar{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}:where(.admin-portal) .filter-bar .form-control{min-width:200px}:where(.admin-portal) .pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-200)}:where(.admin-portal) .pagination>span{color:var(--gray-500);font-size:14px}:where(.admin-portal) .pagination>div{display:flex;gap:8px}:where(.admin-portal) .sites-container{margin-top:24px}:where(.admin-portal) .sites-empty{text-align:center;padding:60px 20px;color:var(--gray-500)}:where(.admin-portal) .sites-empty i{font-size:48px;margin-bottom:16px;color:var(--gray-300)}:where(.admin-portal) .severity-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}:where(.admin-portal) .severity-badge.critical{background:#dc2626;color:#fff}:where(.admin-portal) .severity-badge.major{background:#ea580c;color:#fff}:where(.admin-portal) .severity-badge.minor{background:#f59e0b;color:#fff}:where(.admin-portal) .severity-badge.warning{background:#fbbf24;color:#78350f}:where(.admin-portal) .severity-badge.indeterminate{background:#6b7280;color:#fff}:where(.admin-portal) .severity-badge.ok{background:#10b981;color:#fff}:where(.admin-portal) .active-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}:where(.admin-portal) .active-badge.active{background:#ef44441a;color:var(--danger)}:where(.admin-portal) .active-badge.inactive{background:#10b9811a;color:var(--success)}:where(.admin-portal) .alarm-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:24px}:where(.admin-portal) .alarm-stat-card{background:var(--gray-50);padding:12px 16px;border-radius:8px;border:1px solid var(--gray-200);text-align:center}:where(.admin-portal) .alarm-stat-card .stat-label{font-size:11px;text-transform:uppercase;margin-bottom:4px}:where(.admin-portal) .alarm-stat-card .stat-value{font-size:20px;font-weight:700}:where(.admin-portal) .alarm-stat-card.critical{border-color:#dc2626}:where(.admin-portal) .alarm-stat-card.critical .stat-value{color:#dc2626}:where(.admin-portal) .alarm-stat-card.major{border-color:#ea580c}:where(.admin-portal) .alarm-stat-card.major .stat-value{color:#ea580c}:where(.admin-portal) .alarm-stat-card.minor{border-color:#f59e0b}:where(.admin-portal) .alarm-stat-card.minor .stat-value{color:#f59e0b}:where(.admin-portal) .alarm-stat-card.warning{border-color:#fbbf24}:where(.admin-portal) .alarm-stat-card.warning .stat-value{color:#ca8a04}:where(.admin-portal) .alarm-stat-card.indeterminate{border-color:#6b7280}:where(.admin-portal) .alarm-stat-card.indeterminate .stat-value{color:#6b7280}:where(.admin-portal) #toastContainer{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:100000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}:where(.admin-portal) .unit-input-group{display:flex;align-items:stretch}:where(.admin-portal) .unit-input-group input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none!important}:where(.admin-portal) .unit-toggle-pill{display:inline-flex;border-radius:0 5px 5px 0;overflow:hidden;border:1px solid var(--gray-300);border-left:none;background:#fff;flex-shrink:0}:where(.admin-portal) .unit-toggle-pill button{padding:4px 8px;font-size:11px;font-weight:600;border:none;border-left:1px solid var(--gray-300);cursor:pointer;background:var(--gray-50);color:var(--gray-500);transition:background .15s,color .15s;line-height:1}:where(.admin-portal) .unit-toggle-pill button.active{background:#22c55e;color:#fff;border-left-color:#22c55e}:where(.admin-portal) .unit-toggle-pill button:not(.active):hover{background:var(--gray-100)}:where(.admin-portal) .io241-help{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--primary);margin-left:4px;font-size:13px;vertical-align:middle;width:20px;height:20px;border-radius:50%;background:#126af314;transition:all .15s}:where(.admin-portal) .io241-help:hover{color:#fff;background:var(--primary)}:where(.admin-portal) .io241-help .io241-tooltip{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:10000;background:#fff;border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 8px 24px #00000026;padding:8px;pointer-events:none}:where(.admin-portal) .io241-help:hover .io241-tooltip{display:block}:where(.admin-portal) .io241-tooltip img{display:block;width:200px;border-radius:6px}:where(.admin-portal) .io241-tooltip .io241-caption{font-size:11px;color:var(--gray-600);margin-top:6px;line-height:1.3;max-width:200px}:where(.admin-portal) .io241-tooltip:after{content:"Click to enlarge";display:block;font-size:10px;color:var(--primary);font-weight:600;margin-top:4px;text-align:center}:where(.admin-portal) .io241-lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#0009;align-items:center;justify-content:center;cursor:zoom-out;flex-direction:column;gap:12px}:where(.admin-portal) .io241-lightbox.active{display:flex}:where(.admin-portal) .io241-lightbox img{max-width:90vw;max-height:75vh;border-radius:10px;box-shadow:0 8px 32px #0000004d}:where(.admin-portal) .io241-lightbox .io241-lb-caption{color:#fff;font-size:14px;text-align:center;max-width:500px;text-shadow:0 1px 4px rgba(0,0,0,.5)}@keyframes sa-fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sa-scoreGrow{0%{width:0%}}:where(.admin-portal) .sa-installed-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;background:none;border:none;padding:6px 8px;border-radius:8px;transition:background .15s}:where(.admin-portal) .sa-installed-toggle:hover{background:var(--gray-50)}:where(.admin-portal) .sa-installed-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:where(.admin-portal) .sa-installed-toggle-text{font-size:12px;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.4px;transition:color .2s}:where(.admin-portal) .sa-installed-toggle-track{position:relative;width:40px;height:22px;background:var(--gray-300);border-radius:11px;transition:background .2s}:where(.admin-portal) .sa-installed-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000026;transition:transform .2s}:where(.admin-portal) .sa-installed-toggle.is-on .sa-installed-toggle-text{color:var(--success)}:where(.admin-portal) .sa-installed-toggle.is-on .sa-installed-toggle-track{background:var(--success)}:where(.admin-portal) .sa-installed-toggle.is-on .sa-installed-toggle-thumb{transform:translate(18px)}:where(.admin-portal) .sa-step-card[data-skip-scope].sa-skipped>.sa-step-card-body{display:none}:where(.admin-portal) .sa-step-card[data-skip-scope].sa-skipped>.sa-step-card-header{padding-bottom:0}:where(.admin-portal) .sa-step-card[data-skip-scope].sa-skipped{background:var(--gray-50)}:where(.admin-portal) .sa-subgroup-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}:where(.admin-portal) .sa-subgroup{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;padding:14px}:where(.admin-portal) .sa-subgroup-title{font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:10px;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.4px}:where(.admin-portal) .sa-add-bank-cta{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:14px;padding:11px 14px;background:var(--gray-50);border:1.5px dashed var(--gray-300);border-radius:10px;color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease}:where(.admin-portal) .sa-add-bank-cta:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-800)}:where(.admin-portal) .sa-add-bank-cta:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:where(.admin-portal) .sa-add-bank-icon{width:26px;height:26px;border-radius:7px;background:#fff;color:var(--gray-500);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;transition:background .15s ease,color .15s ease,border-color .15s ease}:where(.admin-portal) .sa-add-bank-cta:hover .sa-add-bank-icon{background:#fff;color:var(--gray-700);border-color:var(--gray-300)}:where(.admin-portal) .sa-add-bank-content{flex:1;min-width:0}:where(.admin-portal) .sa-add-bank-title{display:block;font-size:12px;font-weight:600;color:var(--gray-700);letter-spacing:.2px}:where(.admin-portal) .sa-add-bank-cta:hover .sa-add-bank-title{color:var(--gray-900)}:where(.admin-portal) .sa-add-bank-hint{display:block;font-size:11px;color:var(--gray-500);line-height:1.4;margin-top:2px}:where(.admin-portal) .sa-add-bank-arrow{color:var(--gray-400);font-size:11px;transition:transform .15s ease,color .15s ease}:where(.admin-portal) .sa-add-bank-cta:hover .sa-add-bank-arrow{transform:translate(2px);color:var(--gray-600)}:where(.admin-portal) .sa-subgroup-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}:where(.admin-portal) .sa-subgroup-title-row .sa-subgroup-title{margin-bottom:0}:where(.admin-portal) .sa-remove-bank-btn{background:#fff;border:1px solid var(--gray-200);border-radius:6px;padding:3px 9px;font-size:11px;font-weight:500;color:var(--gray-500);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease;text-transform:none;letter-spacing:0}:where(.admin-portal) .sa-remove-bank-btn:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}:where(.admin-portal) .sa-remove-bank-btn:focus-visible{outline:2px solid #dc2626;outline-offset:2px}:where(.admin-portal) [data-dual-bank=false] .sa-swing-bank{display:none!important}:where(.admin-portal) [data-dual-bank=true] .sa-add-bank-cta{display:none!important}:where(.admin-portal) .sa-readout{display:flex;flex-wrap:wrap;gap:18px;background:linear-gradient(135deg,#eff6ff,#ecfdf5);border:1px solid #dbe9ff;border-radius:10px;padding:12px 16px;font-size:13px;color:var(--gray-700)}:where(.admin-portal) .sa-readout strong{color:var(--gray-800)}:where(.admin-portal) .sa-energy-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:8px}:where(.admin-portal) .sa-energy-table{width:100%;border-collapse:collapse}:where(.admin-portal) .sa-energy-table th,:where(.admin-portal) .sa-energy-table td{padding:10px 12px;font-size:13px;text-align:right;border-bottom:1px solid var(--gray-100);white-space:nowrap}:where(.admin-portal) .sa-energy-table th{background:var(--gray-50);font-weight:600;color:var(--gray-600);font-size:11px;text-transform:uppercase;letter-spacing:.4px}:where(.admin-portal) .sa-energy-table th:first-child,:where(.admin-portal) .sa-energy-table td:first-child{text-align:left;font-weight:500}:where(.admin-portal) .sa-energy-table tr.sa-energy-total td{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);font-weight:700;color:var(--gray-800);border-top:2px solid var(--gray-300)}:where(.admin-portal) .sa-energy-savings{color:var(--success);font-variant-numeric:tabular-nums}@media (max-width: 768px){:where(.admin-portal) .sa-energy-table{min-width:480px}:where(.admin-portal) .sa-energy-table th,:where(.admin-portal) .sa-energy-table td{padding:8px 10px;font-size:12px}:where(.admin-portal) .sa-energy-table th{font-size:10px}:where(.admin-portal) .sa-shell .sa-result-card{padding:16px}}:where(.admin-portal) .sa-required-field>label:after,:where(.admin-portal) .sa-mark-required .sa-step-card-body .sa-field>label:after,:where(.admin-portal) .sa-mark-required .sa-step-card-body .sa-subgroup .sa-field>label:after{content:" *";color:var(--danger);font-weight:700}:where(.admin-portal) .sa-skipped .sa-field>label:after,:where(.admin-portal) .sa-mark-required .sa-readonly>label:after{content:""}:where(.admin-portal) .sa-step-card-header{display:flex;align-items:center;gap:12px}:where(.admin-portal) .sa-input[data-assess-error=true],:where(.admin-portal) select.sa-input[data-assess-error=true]{border:2px solid #dc2626!important;background:#fef2f2!important}:where(.admin-portal) .assess-option-group[data-assess-error=true]{box-shadow:0 0 0 2px #dc2626;border-radius:8px}:where(.admin-portal) .sa-field[data-assess-error=true]>label{color:#dc2626}:where(.admin-portal) .sa-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:8px}:where(.admin-portal) .sa-snapshot-cell{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:10px 12px}:where(.admin-portal) .sa-snapshot-label{font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.4px}:where(.admin-portal) .sa-snapshot-value{font-size:16px;font-weight:700;color:var(--gray-800);margin-top:2px;font-variant-numeric:tabular-nums}:where(.admin-portal) .sa-shell{animation:sa-fadeUp .3s ease-out}:where(.admin-portal) .sa-list-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-200)}:where(.admin-portal) .sa-list-header h2{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--gray-800);margin:0}:where(.admin-portal) .sa-icon-wrap{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px}:where(.admin-portal) .sa-empty-state{text-align:center;padding:60px 24px;color:var(--gray-400)}:where(.admin-portal) .sa-empty-icon{width:56px;height:56px;border-radius:16px;margin:0 auto 16px;background:var(--gray-50);border:2px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--gray-300)}:where(.admin-portal) .sa-empty-state p{font-size:14px;margin:4px 0}:where(.admin-portal) .sa-empty-hint{font-size:12px!important;color:var(--gray-400)}:where(.admin-portal) .sa-table{width:100%;border-collapse:collapse}:where(.admin-portal) .sa-table thead th{padding:12px 16px;font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;text-align:left;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}:where(.admin-portal) .sa-table thead th.sa-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}:where(.admin-portal) .sa-table thead th.sa-sortable:hover{color:var(--gray-700)}:where(.admin-portal) .sa-table thead th.sa-sortable.sa-sort-active{color:var(--primary)}:where(.admin-portal) .sa-sort-icon{margin-left:4px;font-size:10px;opacity:.4}:where(.admin-portal) .sa-sort-active .sa-sort-icon{opacity:1}:where(.admin-portal) .sa-table tbody td{padding:14px 16px;font-size:13px;color:var(--gray-700);border-bottom:1px solid var(--gray-100);vertical-align:middle}:where(.admin-portal) .sa-table tbody tr:hover{background:var(--gray-50)}:where(.admin-portal) .sa-table tbody tr:last-child td{border-bottom:none}:where(.admin-portal) .sa-action-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;background:#fff;color:var(--gray-600);border:1px solid var(--gray-300);cursor:pointer;transition:all .15s}:where(.admin-portal) .sa-action-btn:hover{border-color:var(--primary);color:var(--primary);background:#eaf2ff}:where(.admin-portal) .sa-action-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#fef2f2}:where(.admin-portal) .sa-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}:where(.admin-portal) .sa-badge-go{background:#ecfdf5;color:#059669}:where(.admin-portal) .sa-badge-conditional{background:#fffbeb;color:#b45309}:where(.admin-portal) .sa-badge-nogo{background:#fef2f2;color:#dc2626}:where(.admin-portal) .sa-badge-draft{background:#eaf2ff;color:var(--primary)}:where(.admin-portal) .sa-badge-completed{background:#ecfdf5;color:#059669}:where(.admin-portal) .sa-score-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gray-700);font-variant-numeric:tabular-nums}:where(.admin-portal) .sa-score-chip .sa-score-bar-mini{width:40px;height:5px;border-radius:3px;background:var(--gray-200);overflow:hidden}:where(.admin-portal) .sa-score-chip .sa-score-bar-mini div{height:100%;border-radius:3px}:where(.admin-portal) .sa-wizard-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}:where(.admin-portal) .sa-wizard-back{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;background:#fff;color:var(--gray-600);border:1px solid var(--gray-300);cursor:pointer;transition:all .2s}:where(.admin-portal) .sa-wizard-back:hover{background:var(--gray-50);border-color:var(--gray-400)}:where(.admin-portal) .sa-draft-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;background:#eaf2ff;color:var(--primary);border:1px solid rgba(18,106,243,.2);cursor:pointer;transition:all .2s}:where(.admin-portal) .sa-draft-btn:hover{background:#dbe9ff}:where(.admin-portal) .sa-stepper{display:flex;align-items:center;justify-content:center;padding:20px 24px;margin-bottom:24px;background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}:where(.admin-portal) .sa-step-item{display:flex;align-items:center;cursor:pointer}:where(.admin-portal) .sa-step-node{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 16px}:where(.admin-portal) .sa-step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:all .3s;border:2px solid var(--gray-300);background:#fff;color:var(--gray-400)}:where(.admin-portal) .sa-step-label{font-size:11px;font-weight:500;color:var(--gray-400);text-align:center;white-space:nowrap}:where(.admin-portal) .sa-step-item.active .sa-step-circle{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 4px #126af326}:where(.admin-portal) .sa-step-item.active .sa-step-label{color:var(--primary);font-weight:600}:where(.admin-portal) .sa-step-item.completed .sa-step-circle{background:var(--success);border-color:var(--success);color:#fff}:where(.admin-portal) .sa-step-item.completed .sa-step-label{color:var(--success)}:where(.admin-portal) .sa-step-connector{width:32px;height:2px;background:var(--gray-200);flex-shrink:0;transition:background .3s}:where(.admin-portal) .sa-step-connector.done{background:var(--success)}:where(.admin-portal) .sa-step-card-group{display:flex;flex-direction:column;gap:20px}@media (max-width: 768px){:where(.admin-portal) .sa-step-card-group{gap:16px}}:where(.admin-portal) .sa-step-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;animation:sa-fadeUp .3s ease-out}:where(.admin-portal) .sa-step-card-header{padding:24px 28px 0;display:flex;align-items:flex-start;gap:14px}:where(.admin-portal) .sa-step-card-header .sa-step-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff;background:linear-gradient(135deg,#126af3,#8b5cf6)}:where(.admin-portal) .sa-step-card-header h3{font-size:16px;font-weight:700;color:var(--gray-900);margin-bottom:2px}:where(.admin-portal) .sa-step-card-header p{font-size:13px;color:var(--gray-500);line-height:1.5}@media (max-width: 768px){:where(.admin-portal) .sa-step-card-header:has(.sa-installed-toggle){flex-wrap:wrap}:where(.admin-portal) .sa-step-card-header .sa-installed-toggle{flex:1 0 100%;justify-content:flex-end;margin-top:4px}}:where(.admin-portal) .sa-step-card-body{padding:20px 28px 28px}:where(.admin-portal) .sa-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}:where(.admin-portal) .sa-form-row.sa-form-row-3{grid-template-columns:1fr 1fr 1fr}@media (max-width: 768px){:where(.admin-portal) .sa-form-row,:where(.admin-portal) .sa-form-row.sa-form-row-3{grid-template-columns:1fr;gap:12px}}:where(.admin-portal) .sa-field{margin-bottom:18px}:where(.admin-portal) .sa-field label{display:block;font-size:13px;font-weight:500;color:var(--gray-700);margin-bottom:6px}:where(.admin-portal) .sa-field .sa-hint{font-size:11px;color:var(--gray-400);margin-bottom:4px}:where(.admin-portal) .sa-field label .sa-info{position:relative;display:inline-flex;align-items:center;margin-left:4px;color:var(--gray-400);font-size:12px;cursor:help;vertical-align:middle}:where(.admin-portal) .sa-field label .sa-info:hover{color:var(--primary)}:where(.admin-portal) .sa-field label .sa-info .sa-info-tip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:10000;background:#fff;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 8px 24px #00000026;padding:6px 10px;font-size:11px;color:var(--gray-600);font-weight:400;line-height:1.3;white-space:nowrap;pointer-events:none}:where(.admin-portal) .sa-field label .sa-info:hover .sa-info-tip,:where(.admin-portal) .sa-field label .sa-info:focus .sa-info-tip{display:block}:where(.admin-portal) .sa-input{width:100%;padding:10px 14px;border-radius:8px;font-size:14px;background:#fff;color:var(--gray-800);border:1px solid var(--gray-300);transition:all .2s}:where(.admin-portal) .sa-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #126af31a}:where(.admin-portal) .sa-input::placeholder{color:var(--gray-400)}:where(.admin-portal) [data-assess].sa-ai-filled{background:#eaf2ff;border-color:#126af3!important;box-shadow:0 0 0 2px #126af31f}:where(.admin-portal) [data-assess].sa-ai-review{background:#fef9c3;border-color:#eab308!important;box-shadow:0 0 0 2px #eab3082e}:where(.admin-portal) [data-assess].sa-ai-filled:focus,:where(.admin-portal) [data-assess].sa-ai-review:focus{background:#fff}:where(.admin-portal) .sa-field{position:relative}:where(.admin-portal) .sa-conf-badge{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:999px;font-size:10px;font-weight:700;line-height:14px;letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none;cursor:help;z-index:1;animation:sa-conf-in .4s cubic-bezier(.2,.8,.2,1) both;transition:opacity .2s ease,transform .2s ease}@keyframes sa-conf-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}:where(.admin-portal) .sa-conf-meter{display:inline-flex;gap:1.5px}:where(.admin-portal) .sa-conf-meter-seg{width:3px;height:8px;border-radius:1px;background:currentColor;opacity:.2;transition:opacity .25s ease}:where(.admin-portal) .sa-conf-meter-seg.on{opacity:.95}:where(.admin-portal) .sa-conf-pct{font-variant-numeric:tabular-nums;letter-spacing:0}:where(.admin-portal) .sa-conf-high{background:linear-gradient(135deg,#eaf2ff,#dbe9ff);color:#0b58d0;border:1px solid rgba(18,106,243,.35);box-shadow:0 1px #126af314}:where(.admin-portal) .sa-conf-review{background:linear-gradient(135deg,#fef9c3,#fde68a);color:#854d0e;border:1px solid rgba(202,138,4,.4);box-shadow:0 1px #ca8a041f}:where(.admin-portal) .sa-field:focus-within .sa-conf-badge{opacity:.35;transform:translateY(-1px)}:where(.admin-portal) .sa-field.has-conf-badge>label{padding-right:96px}:where(.admin-portal) .sa-autofill-result{background:#fff;border-radius:12px;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);margin-top:14px;overflow:hidden;position:relative}:where(.admin-portal) .sa-autofill-result:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#126af3,#8b5cf6,#ec4899)}:where(.admin-portal) .sa-autofill-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px}:where(.admin-portal) .sa-autofill-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;flex:0 0 36px;background:linear-gradient(135deg,#126af3,#8b5cf6);box-shadow:0 4px 12px #126af347}:where(.admin-portal) .sa-autofill-head h4{font-size:15px;font-weight:700;color:var(--gray-900);margin:0 0 2px}:where(.admin-portal) .sa-autofill-head p{font-size:12px;color:var(--gray-500);margin:0;line-height:1.5}:where(.admin-portal) .sa-autofill-dismiss{margin-left:auto;background:none;border:none;width:28px;height:28px;border-radius:6px;color:var(--gray-400);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}:where(.admin-portal) .sa-autofill-dismiss:hover{background:var(--gray-100);color:var(--gray-700)}:where(.admin-portal) .sa-autofill-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px 16px}:where(.admin-portal) .sa-autofill-tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;padding:14px;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;animation:sa-autofill-in .4s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * .06s)}:where(.admin-portal) .sa-autofill-tile:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}:where(.admin-portal) .sa-autofill-tile:disabled{cursor:default;opacity:.55}:where(.admin-portal) .sa-autofill-tile-kpi{display:block;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.02em}:where(.admin-portal) .sa-autofill-tile-label{display:block;margin-top:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}:where(.admin-portal) .sa-autofill-tile-sub{display:block;margin-top:1px;font-size:11px;color:var(--gray-500)}:where(.admin-portal) .sa-autofill-tile--filled{background:linear-gradient(135deg,#eaf2ff,#dbe9ff);border-color:#126af359}:where(.admin-portal) .sa-autofill-tile--filled .sa-autofill-tile-kpi,:where(.admin-portal) .sa-autofill-tile--filled .sa-autofill-tile-label{color:#0b58d0}:where(.admin-portal) .sa-autofill-tile--review{background:linear-gradient(135deg,#fef9c3,#fde68a);border-color:#ca8a0466}:where(.admin-portal) .sa-autofill-tile--review .sa-autofill-tile-kpi,:where(.admin-portal) .sa-autofill-tile--review .sa-autofill-tile-label{color:#854d0e}:where(.admin-portal) .sa-autofill-tile--unread{background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%);border-color:var(--gray-200)}:where(.admin-portal) .sa-autofill-tile--unread .sa-autofill-tile-kpi,:where(.admin-portal) .sa-autofill-tile--unread .sa-autofill-tile-label{color:var(--gray-700)}@keyframes sa-autofill-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:where(.admin-portal) .sa-autofill-photos{border-top:1px solid var(--gray-100);padding:14px 20px 6px}:where(.admin-portal) .sa-autofill-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);margin-bottom:10px}:where(.admin-portal) .sa-autofill-photo-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--gray-100);animation:sa-autofill-in .4s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.18s + var(--i, 0) * .04s)}:where(.admin-portal) .sa-autofill-photo-row:last-child{border-bottom:none}:where(.admin-portal) .sa-autofill-photo-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}:where(.admin-portal) .sa-autofill-photo-dot--ok{background:#126af3;box-shadow:0 0 0 3px #126af326}:where(.admin-portal) .sa-autofill-photo-dot--failed{background:var(--gray-400);box-shadow:0 0 0 3px #9ca3af2e}:where(.admin-portal) .sa-autofill-photo-label{font-size:13px;color:var(--gray-800);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.admin-portal) .sa-autofill-photo-status{font-size:11px;font-weight:600;flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;white-space:nowrap}:where(.admin-portal) .sa-autofill-photo-status--ok{color:#0b58d0;background:#126af31a}:where(.admin-portal) .sa-autofill-photo-status--failed{color:var(--gray-600);background:var(--gray-100)}:where(.admin-portal) .sa-autofill-notes{border-top:1px solid var(--gray-100);padding:12px 20px 14px}:where(.admin-portal) .sa-autofill-notes>summary{cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:var(--gray-600);display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}:where(.admin-portal) .sa-autofill-notes>summary::-webkit-details-marker{display:none}:where(.admin-portal) .sa-autofill-notes>summary:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;transition:transform .15s;font-size:10px;color:var(--gray-400);width:8px;display:inline-block}:where(.admin-portal) .sa-autofill-notes[open]>summary:before{transform:rotate(90deg)}:where(.admin-portal) .sa-autofill-notes-list{margin-top:10px;display:flex;flex-direction:column;gap:6px}:where(.admin-portal) .sa-autofill-note{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;background:var(--gray-50);border-radius:6px;font-size:12px;line-height:1.5;color:var(--gray-700)}:where(.admin-portal) .sa-autofill-note-tag{flex:0 0 auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);padding:2px 6px;background:#fff;border-radius:4px;border:1px solid var(--gray-200);margin-top:1px}:where(.admin-portal) .sa-autofill-note--skipped .sa-autofill-note-tag{color:#854d0e;border-color:#ca8a044d;background:#fefce8}:where(.admin-portal) .sa-autofill-empty{margin:0 20px 16px;padding:14px;border-radius:8px;background:#fef9c3;color:#854d0e;font-size:13px;line-height:1.5;border:1px solid rgba(202,138,4,.3)}:where(.admin-portal) .sa-quickstart{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(18,106,243,.18);box-shadow:0 1px 2px #0f172a0a,0 8px 32px -8px #126af32e;background:radial-gradient(at 0% 0%,rgba(18,106,243,.16) 0%,transparent 55%),radial-gradient(at 100% 0%,rgba(236,72,153,.1) 0%,transparent 50%),radial-gradient(at 50% 110%,rgba(139,92,246,.12) 0%,transparent 60%),#fbfbfd}:where(.admin-portal) .sa-quickstart:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(18,106,243,.07) 1px,transparent 0);background-size:22px 22px;mask-image:radial-gradient(at 50% 50%,black 0%,transparent 75%);-webkit-mask-image:radial-gradient(at 50% 50%,black 0%,transparent 75%)}:where(.admin-portal) .sa-quickstart-inner{position:relative;z-index:1;padding:36px 36px 28px}:where(.admin-portal) .sa-quickstart-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:#fff;border:1px solid rgba(18,106,243,.2);border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#0b58d0;box-shadow:0 1px 2px #126af314}:where(.admin-portal) .sa-quickstart-eyebrow .sa-qs-spark{width:22px;height:22px;border-radius:999px;background:linear-gradient(135deg,#126af3,#8b5cf6);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;animation:sa-qs-spark-pulse 2.6s ease-in-out infinite}@keyframes sa-qs-spark-pulse{0%,to{box-shadow:0 0 #126af373}50%{box-shadow:0 0 0 6px #126af300}}:where(.admin-portal) .sa-quickstart h2{margin:18px 0 10px;font-size:clamp(26px,3.4vw,38px);font-weight:800;letter-spacing:-.025em;line-height:1.08;color:var(--gray-900);max-width:22ch}:where(.admin-portal) .sa-quickstart h2 .sa-qs-grad{background:linear-gradient(135deg,#0b58d0,#7c3aed 45%,#be185d);-webkit-background-clip:text;background-clip:text;color:transparent}:where(.admin-portal) .sa-quickstart-sub{color:var(--gray-600);font-size:14px;line-height:1.6;margin-bottom:22px}:where(.admin-portal) .sa-qs-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}:where(.admin-portal) .sa-qs-stat{flex:1 1 130px;min-width:130px;padding:12px 14px;background:#fff;border:1px solid var(--gray-200);border-radius:10px}:where(.admin-portal) .sa-qs-stat-kpi{display:block;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--gray-900);letter-spacing:-.02em;line-height:1}:where(.admin-portal) .sa-qs-stat-label{display:block;margin-top:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500)}:where(.admin-portal) .sa-qs-action{background:#fff;border-radius:12px;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);margin-top:18px;padding:20px}:where(.admin-portal) .sa-qs-action-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}:where(.admin-portal) .sa-qs-action-head h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-700)}:where(.admin-portal) .sa-qs-action-head .sa-qs-action-hint{font-size:12px;color:var(--gray-500)}:where(.admin-portal) .sa-qs-controls{margin-top:16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}:where(.admin-portal) .sa-qs-warning{margin-top:12px;display:flex;align-items:flex-start;gap:10px;padding:11px 14px;background:#fff7ed;border:1px solid #fdba74;border-left-width:4px;border-radius:8px;font-size:13px;line-height:1.5;color:#9a3412}:where(.admin-portal) .sa-qs-warning>i{margin-top:2px;font-size:14px;flex-shrink:0}:where(.admin-portal) .sa-qs-warning strong{font-weight:700}:where(.admin-portal) .sa-qs-cta{position:relative;padding:12px 22px;background:linear-gradient(135deg,#126af3,#7c3aed);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;letter-spacing:-.005em;cursor:pointer;display:inline-flex;align-items:center;gap:10px;box-shadow:0 1px 2px #0b58d033,0 8px 22px -6px #126af373;transition:transform .15s,box-shadow .15s,filter .15s}:where(.admin-portal) .sa-qs-cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,#fff3,#fff0 50%);pointer-events:none}:where(.admin-portal) .sa-qs-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px 2px #0b58d040,0 12px 28px -6px #126af38c}:where(.admin-portal) .sa-qs-cta:disabled{filter:saturate(.6);cursor:default;opacity:.7}:where(.admin-portal) .sa-qs-skip{font-size:13px;color:var(--gray-500);background:none;border:none;padding:8px 4px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gray-300)}:where(.admin-portal) .sa-qs-skip:hover{color:var(--gray-700);text-decoration-color:var(--gray-500)}:where(.admin-portal) .sa-extract-live{margin-top:16px;padding:16px 18px;border-radius:10px;background:linear-gradient(135deg,#0f172a,#1e1b4b);color:#dbe9ff;position:relative;overflow:hidden}:where(.admin-portal) .sa-extract-live:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(at 0% 0%,rgba(18,106,243,.3) 0%,transparent 50%),radial-gradient(at 100% 100%,rgba(236,72,153,.18) 0%,transparent 55%);pointer-events:none}:where(.admin-portal) .sa-extract-live-row{position:relative;z-index:1;display:flex;align-items:center;gap:14px}:where(.admin-portal) .sa-extract-live-spinner{width:28px;height:28px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,#85b4ff 90deg,#c084fc 270deg,transparent 360deg);mask:radial-gradient(circle,transparent 9px,black 10px);-webkit-mask:radial-gradient(circle,transparent 9px,black 10px);animation:sa-extract-spin 1s linear infinite}@keyframes sa-extract-spin{to{transform:rotate(360deg)}}:where(.admin-portal) .sa-extract-live-text{font-size:13px;font-weight:600;flex:1;letter-spacing:-.005em}:where(.admin-portal) .sa-extract-live-count{font-variant-numeric:tabular-nums;font-size:12px;color:#dbe9ff;padding:4px 10px;background:#ffffff0f;border-radius:999px;border:1px solid rgba(219,233,255,.18)}:where(.admin-portal) .sa-extract-progress{position:relative;z-index:1;margin-top:12px;height:3px;border-radius:999px;background:#ffffff14;overflow:hidden}:where(.admin-portal) .sa-extract-progress-fill{height:100%;background:linear-gradient(90deg,#126af3,#c084fc,#ec4899);background-size:200% 100%;border-radius:inherit;transition:width .4s cubic-bezier(.2,.8,.2,1);animation:sa-extract-shimmer 2s linear infinite}@keyframes sa-extract-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:where(.admin-portal) .sa-extract-dots{position:relative;z-index:1;display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}:where(.admin-portal) .sa-extract-dot{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 6px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(219,233,255,.16);font-size:10px;font-weight:600;color:#dbe9ff;letter-spacing:.02em}:where(.admin-portal) .sa-extract-dot.pending .sa-extract-dot-led{background:#dbe9ff66}:where(.admin-portal) .sa-extract-dot.done .sa-extract-dot-led{background:#34d399;box-shadow:0 0 0 2px #34d39940}:where(.admin-portal) .sa-extract-dot.done{background:#34d3991a;border-color:#34d39959;color:#d1fae5}:where(.admin-portal) .sa-extract-dot-led{width:6px;height:6px;border-radius:50%;display:inline-block}:where(.admin-portal) .sa-step-item.sa-step-quickstart .sa-step-circle{background:linear-gradient(135deg,#126af3,#8b5cf6);color:#fff;border-color:transparent;box-shadow:0 4px 10px #126af340}:where(.admin-portal) .sa-step-item.sa-step-quickstart.completed .sa-step-circle{background:linear-gradient(135deg,#126af3,#8b5cf6)}:where(.admin-portal) .sa-readonly{width:100%;padding:10px 14px;border-radius:8px;font-size:14px;background:var(--gray-50);color:var(--gray-700);border:1px solid var(--gray-200);display:flex;align-items:center;gap:8px}:where(.admin-portal) .sa-readonly i.fa-lock{color:var(--gray-400);font-size:11px}:where(.admin-portal) .sa-options{display:flex;gap:8px;flex-wrap:wrap}:where(.admin-portal) .sa-opt-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;background:#fff;color:var(--gray-600);border:1px solid var(--gray-300);cursor:pointer;transition:all .2s}:where(.admin-portal) .sa-opt-btn:hover{border-color:var(--primary);color:var(--primary)}:where(.admin-portal) .sa-opt-btn.selected{background:#eaf2ff;border-color:var(--primary);color:var(--primary);font-weight:600}:where(.admin-portal) .sa-photo-cat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}:where(.admin-portal) .sa-photo-card{position:relative;background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:12px 14px;transition:border-color .18s,transform .18s,box-shadow .18s}:where(.admin-portal) .sa-photo-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 60%);opacity:0;transition:opacity .18s;pointer-events:none}:where(.admin-portal) .sa-photo-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--gray-200));transform:translateY(-1px);box-shadow:0 6px 16px -8px color-mix(in srgb,var(--accent) 35%,transparent)}:where(.admin-portal) .sa-photo-card:hover:before{opacity:1}:where(.admin-portal) .sa-photo-card-head{position:relative;display:flex;align-items:center;gap:9px;margin-bottom:10px}:where(.admin-portal) .sa-photo-card-icon{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,#ffffff);color:var(--accent);font-size:13px;flex-shrink:0}:where(.admin-portal) .sa-photo-card-title-block{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.25}:where(.admin-portal) .sa-photo-card-title{font-size:12.5px;font-weight:600;color:var(--gray-700);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:where(.admin-portal) .sa-photo-card-hint{font-size:10.5px;font-weight:500;color:var(--gray-500);letter-spacing:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}:where(.admin-portal) .sa-photo-card-count{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 8px;border-radius:999px;min-width:22px;text-align:center}:where(.admin-portal) .sa-photo-card-strip{position:relative;display:flex;align-items:center;gap:6px;flex-wrap:wrap}:where(.admin-portal) .sa-photo-card-strip--drop{outline:1.5px dashed var(--accent);outline-offset:3px;border-radius:9px;background:color-mix(in srgb,var(--accent) 8%,transparent)}:where(.admin-portal) .sa-photo-thumb{position:relative;width:44px;height:44px;border-radius:9px;cursor:pointer;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;overflow:visible;background:transparent;transition:transform .16s cubic-bezier(.34,1.32,.64,1);font-family:inherit}:where(.admin-portal) .sa-photo-thumb:hover{transform:translateY(-1.5px) scale(1.04)}:where(.admin-portal) .sa-photo-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(.admin-portal) .sa-photo-thumb--filled{background:#0f172a;overflow:hidden;box-shadow:0 1px 3px #0f172a2e,0 0 0 1px #0f172a14;animation:sa-thumb-pop .22s cubic-bezier(.34,1.32,.64,1)}:where(.admin-portal) .sa-photo-thumb--filled img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}:where(.admin-portal) .sa-photo-thumb--doc{background:#fef2f2;box-shadow:0 1px 3px #dc262633,0 0 0 1px #dc26262e}:where(.admin-portal) .sa-photo-thumb-doc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#dc2626;line-height:1}:where(.admin-portal) .sa-photo-thumb-doc i{font-size:18px}:where(.admin-portal) .sa-photo-thumb-doc-ext{font-size:8px;font-weight:700;letter-spacing:.04em}:where(.admin-portal) .sa-photo-thumb-remove{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;background:var(--danger);color:#fff;border:2px solid white;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .15s,transform .15s;box-shadow:0 2px 4px #ef444466;cursor:pointer}:where(.admin-portal) .sa-photo-thumb--filled:hover .sa-photo-thumb-remove,:where(.admin-portal) .sa-photo-thumb--filled:focus-within .sa-photo-thumb-remove{opacity:1;transform:scale(1)}:where(.admin-portal) .sa-photo-thumb--add,:where(.admin-portal) .sa-photo-thumb--empty{background:color-mix(in srgb,var(--accent) 5%,#ffffff);border:1.5px dashed color-mix(in srgb,var(--accent) 30%,var(--gray-300));color:color-mix(in srgb,var(--accent) 70%,var(--gray-500));font-size:13px}:where(.admin-portal) .sa-photo-thumb--add:hover,:where(.admin-portal) .sa-photo-thumb--empty:hover{background:color-mix(in srgb,var(--accent) 12%,#ffffff);border-color:var(--accent);color:var(--accent);border-style:solid}@keyframes sa-thumb-pop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}:where(.admin-portal) .sa-photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#0f172ae0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;animation:sa-lightbox-in .16s ease-out}:where(.admin-portal) .sa-photo-lightbox-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;min-height:0}:where(.admin-portal) .sa-photo-lightbox-img{max-width:100%;max-height:calc(100vh - 96px);object-fit:contain;border-radius:10px;background:#0f172a;box-shadow:0 20px 60px -12px #000000b3}:where(.admin-portal) .sa-photo-lightbox-caption{font-size:12.5px;font-weight:600;color:#ffffffd1;text-align:center}:where(.admin-portal) .sa-photo-lightbox-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;font-size:17px;color:#fff;background:#ffffff24;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}:where(.admin-portal) .sa-photo-lightbox-close:hover{background:#ffffff42}:where(.admin-portal) .sa-photo-lightbox-close:focus-visible{outline:2px solid #ffffff;outline-offset:2px}@keyframes sa-lightbox-in{0%{opacity:0}to{opacity:1}}:where(.admin-portal) .sa-photo-zone-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}:where(.admin-portal) .sa-photo-zone-row{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px 6px;border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,#ffffff);border:1px solid color-mix(in srgb,var(--accent) 12%,var(--gray-200));min-width:0}:where(.admin-portal) .sa-photo-zone-row .sa-photo-card-strip{flex-direction:column;flex-wrap:nowrap;align-items:center;gap:6px}:where(.admin-portal) .sa-photo-zone-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:color-mix(in srgb,var(--accent) 60%,var(--gray-700));letter-spacing:.04em;text-transform:uppercase}:where(.admin-portal) .sa-photo-zone-count{font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);padding:1px 6px;border-radius:999px;min-width:16px;text-align:center;letter-spacing:0;text-transform:none}:where(.admin-portal) .sa-equip-photo-section{--accent: var(--primary);margin-top:24px;padding-top:16px;border-top:1px dashed var(--gray-200)}:where(.admin-portal) .sa-equip-photo-section-head .sa-photo-card-hint{-webkit-line-clamp:unset;overflow:visible;white-space:normal}:where(.admin-portal) .sa-equip-photo-slot .sa-photo-card{padding:8px 0 0;border:none;background:transparent}:where(.admin-portal) .sa-equip-photo-slot .sa-photo-card:before{display:none}:where(.admin-portal) .sa-equip-photo-slot .sa-photo-card:hover{transform:none;box-shadow:none;border:none}:where(.admin-portal) .sa-equip-photo-slot .sa-photo-card-head{display:none}:where(.admin-portal) .sa-equip-actions{margin-top:14px;display:flex;justify-content:flex-start}:where(.admin-portal) .sa-equip-autofill-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;background:var(--primary);color:#fff;border:none;cursor:pointer;transition:background .15s,transform .15s,opacity .15s}:where(.admin-portal) .sa-equip-autofill-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}:where(.admin-portal) .sa-equip-autofill-btn:disabled{opacity:.45;cursor:not-allowed}:where(.admin-portal) .sa-equip-extract-live{margin-top:12px}:where(.admin-portal) .sa-equip-autofill-result{margin-top:12px}@media (max-width: 540px){:where(.admin-portal) .sa-photo-cat-list{grid-template-columns:1fr}:where(.admin-portal) .sa-photo-zone-list{grid-template-columns:1fr}:where(.admin-portal) .sa-qs-action-head{flex-direction:column;align-items:flex-start;gap:4px}}:where(.admin-portal) .sa-step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:20px}:where(.admin-portal) .sa-nav-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:none}:where(.admin-portal) .sa-nav-btn.back{background:#fff;color:var(--gray-600);border:1px solid var(--gray-300)}:where(.admin-portal) .sa-nav-btn.back:hover{background:var(--gray-50);border-color:var(--gray-400)}:where(.admin-portal) .sa-nav-btn.next{background:var(--primary);color:#fff}:where(.admin-portal) .sa-nav-btn.next:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow)}:where(.admin-portal) .sa-nav-btn.generate{background:var(--success);color:#fff}:where(.admin-portal) .sa-nav-btn.generate:hover{background:#059669;transform:translateY(-1px);box-shadow:var(--shadow)}:where(.admin-portal) .sa-nav-btn:disabled,:where(.admin-portal) .sa-nav-btn.is-blocked{opacity:.55;cursor:not-allowed}:where(.admin-portal) .sa-nav-btn:disabled:hover,:where(.admin-portal) .sa-nav-btn.is-blocked:hover{transform:none;box-shadow:none}:where(.admin-portal) .sa-nav-btn.next:disabled:hover,:where(.admin-portal) .sa-nav-btn.next.is-blocked:hover{background:var(--primary)}:where(.admin-portal) .sa-nav-btn.generate:disabled:hover{background:var(--success)}:where(.admin-portal) .sa-nav-btn.back:disabled:hover{background:#fff;border-color:var(--gray-300)}:where(.admin-portal) .sa-result-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:24px;margin-bottom:16px;box-shadow:var(--shadow-sm);animation:sa-fadeUp .35s ease-out both}:where(.admin-portal) .sa-result-card:nth-child(2){animation-delay:.05s}:where(.admin-portal) .sa-result-card:nth-child(3){animation-delay:.1s}:where(.admin-portal) .sa-result-card:nth-child(4){animation-delay:.15s}:where(.admin-portal) .sa-result-card:nth-child(5){animation-delay:.2s}:where(.admin-portal) .sa-result-title{font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}:where(.admin-portal) .sa-verdict-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px}:where(.admin-portal) .sa-verdict-tag{padding:10px 24px;border-radius:10px;font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:2px}:where(.admin-portal) .sa-verdict-go{background:#ecfdf5;color:#059669;border:2px solid #a7f3d0}:where(.admin-portal) .sa-verdict-conditional{background:#fffbeb;color:#b45309;border:2px solid #fde68a}:where(.admin-portal) .sa-verdict-nogo{background:#fef2f2;color:#dc2626;border:2px solid #fecaca}:where(.admin-portal) .sa-score-track{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden;margin-bottom:8px}:where(.admin-portal) .sa-score-fill{height:100%;border-radius:4px;animation:sa-scoreGrow .8s ease-out}:where(.admin-portal) .sa-savings-hero{background:var(--gray-50);border-radius:var(--radius);padding:28px;text-align:center}:where(.admin-portal) .sa-savings-hero .sa-savings-amount{font-size:34px;font-weight:800;color:var(--primary)}:where(.admin-portal) .sa-savings-hero .sa-savings-label{font-size:12px;color:var(--gray-500);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}:where(.admin-portal) .sa-savings-hero .sa-savings-kwh{font-size:14px;color:var(--primary);margin-top:10px;font-weight:600}:where(.admin-portal) .sa-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}:where(.admin-portal) .sa-metric-box{text-align:center;padding:16px;background:var(--gray-50);border-radius:10px;border:1px solid var(--gray-200)}:where(.admin-portal) .sa-metric-box .sa-metric-value{font-size:20px;font-weight:700;color:var(--primary)}:where(.admin-portal) .sa-metric-box .sa-metric-label{font-size:11px;color:var(--gray-500);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}:where(.admin-portal) .sa-finding-item{padding:12px 16px;margin-bottom:8px;border-radius:8px;background:var(--gray-50);border-left:3px solid var(--primary);font-size:13px;color:var(--gray-700);line-height:1.5}:where(.admin-portal) .sa-nextstep-item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;margin-bottom:8px}:where(.admin-portal) .sa-nextstep-num{width:28px;height:28px;border-radius:8px;flex-shrink:0;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}:where(.admin-portal) .sa-nextstep-text{font-size:13px;color:var(--gray-700);line-height:1.5}:where(.admin-portal) .sa-assumptions{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;padding:20px;font-size:13px;color:var(--gray-700)}:where(.admin-portal) .sa-assumptions h4{font-size:13px;font-weight:700;color:var(--gray-700);text-transform:uppercase;letter-spacing:.8px;margin-bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center}:where(.admin-portal) .sa-assumptions h4:hover{color:var(--gray-800)}:where(.admin-portal) .sa-assumptions .sa-collapse-arrow{font-size:10px;color:var(--gray-400);transition:transform .2s}:where(.admin-portal) .sa-assumptions.open h4{margin-bottom:12px}:where(.admin-portal) .sa-assumptions.open .sa-collapse-arrow{transform:rotate(90deg)}:where(.admin-portal) .sa-assumptions .sa-collapse-body{display:none}:where(.admin-portal) .sa-assumptions.open .sa-collapse-body{display:block}:where(.admin-portal) .sa-assumptions ul{padding-left:16px}:where(.admin-portal) .sa-assumptions li{margin-bottom:6px;line-height:1.5}:where(.admin-portal) .sa-ref-table{width:100%;border-collapse:collapse;font-size:13px;color:var(--gray-600)}:where(.admin-portal) .sa-ref-table td{padding:5px 0;vertical-align:top;line-height:1.5}:where(.admin-portal) .sa-ref-table td:first-child{white-space:nowrap;padding-right:16px;color:var(--gray-700)}:where(.admin-portal) .sa-ref-table td:nth-child(2){white-space:nowrap;padding-right:16px;color:var(--gray-400);font-style:italic}:where(.admin-portal) .sa-ref-table tr.sa-ref-divider td{padding-top:16px;padding-bottom:4px;font-weight:700;color:var(--gray-700);font-size:12px;text-transform:uppercase;letter-spacing:.5px}:where(.admin-portal) .sa-ref-table tr.sa-ref-total td{font-weight:600;color:var(--gray-800);padding-top:6px;border-top:1px solid var(--gray-300)}:where(.admin-portal) .sa-print-header{display:none}:where(.admin-portal) .assess-report-print{display:none}@media print{:where(.admin-portal) .sidebar,:where(.admin-portal) .topbar,:where(.admin-portal) .sa-step-nav,:where(.admin-portal) .sa-progress,:where(.admin-portal) .modal-overlay,:where(.admin-portal) #toastContainer,:where(.admin-portal) .io241-lightbox,:where(.admin-portal) .sa-wizard-toolbar,:where(.admin-portal) .sa-stepper{display:none!important}:where(.admin-portal) .page-section{display:none!important}:where(.admin-portal) #siteassessment{display:block!important}:where(.admin-portal) .sa-shell,:where(.admin-portal) .sa-header,:where(.admin-portal) .sa-list-section,:where(.admin-portal) #assessmentListView,:where(.admin-portal) #assessmentWizardView{display:none!important}:where(.admin-portal) .assess-report-print,:where(.admin-portal) #assessReportPrint.print-active{display:block!important}body:has(.admin-portal){background:#fff!important;color:#1f2937;font-family:Helvetica,Arial,sans-serif}:where(.admin-portal) .main{margin-left:0!important;padding:0!important;max-width:none!important}:where(.admin-portal) .content{padding:0!important}@page{size:A4 portrait;margin:15mm 12mm 18mm}:where(.admin-portal) .rp-page{--rp-scale: 1.25;page-break-after:always;break-after:page;padding-bottom:8mm}:where(.admin-portal) .rp-page:last-child{page-break-after:avoid;break-after:avoid}:where(.admin-portal) .rp-running-header{display:flex;justify-content:space-between;align-items:baseline;font-size:calc(9px * var(--rp-scale));color:#6b7280;text-transform:uppercase;letter-spacing:1px;padding:0 0 6px;border-bottom:1px solid #e5e7eb;margin-bottom:8mm}:where(.admin-portal) .rp-banner{background:#004b87;color:#fff;font-variant:small-caps;letter-spacing:2px;font-size:calc(11px * var(--rp-scale));font-weight:600;padding:6px 14px;margin-bottom:14px}:where(.admin-portal) .rp-subhead{font-size:calc(10px * var(--rp-scale));font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#004b87;margin:12px 0 6px;border-bottom:1px solid #d1d5db;padding-bottom:3px}:where(.admin-portal) .rp-footnote{font-size:calc(9px * var(--rp-scale));font-style:italic;color:#9ca3af;margin-top:8px;line-height:1.4}:where(.admin-portal) .rp-footnote-cover{margin-top:16mm;text-align:center;font-style:normal;font-variant:small-caps;letter-spacing:1px}:where(.admin-portal) .rp-title-block{margin:6mm 0 8mm}:where(.admin-portal) .rp-customer{font-size:calc(22px * var(--rp-scale));font-weight:800;color:#1f2937;line-height:1.2}:where(.admin-portal) .rp-building{font-size:calc(15px * var(--rp-scale));color:#4b5563;margin-top:2px}:where(.admin-portal) .rp-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-top:10px}:where(.admin-portal) .rp-meta>div{display:flex;flex-direction:column}:where(.admin-portal) .rp-meta-label{font-size:calc(8px * var(--rp-scale));text-transform:uppercase;letter-spacing:1px;color:#9ca3af}:where(.admin-portal) .rp-meta-value{font-size:calc(11px * var(--rp-scale));color:#1f2937;font-weight:600}:where(.admin-portal) .rp-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4mm 0}:where(.admin-portal) .rp-kpi-tile{border-top:3px solid #004B87;background:#f0f6ff;border-radius:4px;padding:10px 14px}:where(.admin-portal) .rp-kpi-value{font-size:calc(22px * var(--rp-scale));font-weight:800;color:#004b87;line-height:1.15}:where(.admin-portal) .rp-kpi-unit{font-size:calc(12px * var(--rp-scale));font-weight:600;color:#004b87}:where(.admin-portal) .rp-kpi-label{font-size:calc(9px * var(--rp-scale));text-transform:uppercase;letter-spacing:1px;color:#6b7280;margin-top:3px}:where(.admin-portal) .rp-verdict-block{border:1px solid #d1d5db;border-radius:4px;padding:10px 14px;margin-top:6mm}:where(.admin-portal) .rp-verdict-row{display:flex;align-items:center;gap:12px;margin-bottom:6px}:where(.admin-portal) .rp-verdict-pill{display:inline-block;font-size:calc(10px * var(--rp-scale));font-weight:700;letter-spacing:1.5px;padding:3px 12px;border-radius:999px;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}:where(.admin-portal) .rp-verdict-go{background:#10b981}:where(.admin-portal) .rp-verdict-cond{background:#f59e0b}:where(.admin-portal) .rp-verdict-nogo{background:#ef4444}:where(.admin-portal) .rp-score-num{font-size:calc(18px * var(--rp-scale));font-weight:700;color:#1f2937;margin-left:auto}:where(.admin-portal) .rp-score-num span{font-size:calc(11px * var(--rp-scale));color:#9ca3af;font-weight:500}:where(.admin-portal) .rp-score-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}:where(.admin-portal) .rp-score-fill{height:100%;border-radius:3px}:where(.admin-portal) .rp-recommendation{margin-top:6px;font-size:calc(11px * var(--rp-scale));color:#4b5563;font-style:italic}:where(.admin-portal) .rp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}:where(.admin-portal) .rp-table{width:100%;border-collapse:collapse;font-size:calc(10px * var(--rp-scale));margin-top:4px}:where(.admin-portal) .rp-table th{background:#004b87;color:#fff;text-align:left;padding:calc(5px * var(--rp-scale)) calc(8px * var(--rp-scale));font-size:calc(9px * var(--rp-scale));text-transform:uppercase;letter-spacing:1px;font-weight:600;-webkit-print-color-adjust:exact;print-color-adjust:exact}:where(.admin-portal) .rp-table td{padding:calc(4px * var(--rp-scale)) calc(8px * var(--rp-scale));border-bottom:1px solid #e5e7eb;vertical-align:top}:where(.admin-portal) .rp-table tbody tr:nth-child(2n) td{background:#f9fafb}:where(.admin-portal) .rp-table tr.rp-total td{font-weight:700;background:#f0f6ff!important;border-top:2px solid #004B87;color:#1f2937}:where(.admin-portal) .rp-table .rp-savings{color:#047857;font-weight:600}:where(.admin-portal) .rp-table.rp-kv td:first-child{width:45%;color:#6b7280;font-weight:500}:where(.admin-portal) .rp-table.rp-kv td:last-child{color:#1f2937;font-weight:600}:where(.admin-portal) .rp-hero{text-align:center;padding:8mm 4mm;background:#f0f6ff;border-radius:4px;border-top:4px solid #004B87;margin-bottom:4mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}:where(.admin-portal) .rp-hero-num{font-size:calc(30px * var(--rp-scale));font-weight:800;color:#004b87;line-height:1.1}:where(.admin-portal) .rp-hero-cur{font-size:calc(14px * var(--rp-scale));font-weight:600}:where(.admin-portal) .rp-hero-sub{font-size:calc(12px * var(--rp-scale));color:#1f2937;margin-top:4px}:where(.admin-portal) .rp-hero-tariff{font-size:calc(9px * var(--rp-scale));color:#6b7280;margin-top:4px}:where(.admin-portal) .rp-eff-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:4mm}:where(.admin-portal) .rp-eff-tile{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:8px 10px}:where(.admin-portal) .rp-eff-tile.rp-eff-improve{background:#ecfdf5;border-color:#10b981}:where(.admin-portal) .rp-eff-label{font-size:calc(8px * var(--rp-scale));text-transform:uppercase;letter-spacing:1px;color:#6b7280;margin-bottom:2px}:where(.admin-portal) .rp-eff-value{font-size:calc(15px * var(--rp-scale));font-weight:700;color:#004b87}:where(.admin-portal) .rp-eff-tile.rp-eff-improve .rp-eff-value{color:#047857}:where(.admin-portal) .rp-disclaimer{margin-top:4mm;padding:8px 12px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:3px;font-size:calc(9px * var(--rp-scale));color:#78350f;line-height:1.4;-webkit-print-color-adjust:exact;print-color-adjust:exact}:where(.admin-portal) .rp-finding{background:#f9fafb;border-left:3px solid #004B87;padding:6px 10px;margin-bottom:4px;font-size:calc(10px * var(--rp-scale));line-height:1.4;color:#1f2937;break-inside:avoid;page-break-inside:avoid}:where(.admin-portal) .rp-finding-empty{border-left-color:#9ca3af;color:#6b7280;font-style:italic}:where(.admin-portal) .rp-nextstep{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px;font-size:calc(10px * var(--rp-scale));line-height:1.4;break-inside:avoid;page-break-inside:avoid}:where(.admin-portal) .rp-nextstep-num{background:#004b87;color:#fff;width:calc(18px * var(--rp-scale));height:calc(18px * var(--rp-scale));min-width:calc(18px * var(--rp-scale));border-radius:50%;text-align:center;line-height:calc(18px * var(--rp-scale));font-size:calc(9px * var(--rp-scale));font-weight:700;flex-shrink:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}:where(.admin-portal) .rp-nextstep-text{color:#1f2937;padding-top:1px}:where(.admin-portal) .rp-notes{background:#f9fafb;padding:8px 12px;border-radius:4px;font-size:calc(10px * var(--rp-scale));color:#1f2937;line-height:1.5;white-space:pre-wrap}:where(.admin-portal) .rp-contact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8mm;padding-top:6px;border-top:1px solid #e5e7eb}:where(.admin-portal) .rp-contact>div{display:flex;flex-direction:column}:where(.admin-portal) .rp-contact .rp-subhead{margin:0 0 4px;border-bottom:none;padding-bottom:0}:where(.admin-portal) .rp-contact-value{font-size:calc(12px * var(--rp-scale));font-weight:500;color:#1f2937;line-height:1.4}:where(.admin-portal) .rp-score-summary{display:flex;align-items:center;gap:14px;margin-bottom:8px}:where(.admin-portal) .rp-score-summary-num{font-size:calc(28px * var(--rp-scale));font-weight:800;color:#004b87;line-height:1}:where(.admin-portal) .rp-score-summary-num span{font-size:calc(13px * var(--rp-scale));color:#9ca3af;font-weight:500}:where(.admin-portal) .rp-score-summary-text{flex:1;font-size:calc(11px * var(--rp-scale));color:#4b5563;font-style:italic}:where(.admin-portal) .rp-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:6mm}:where(.admin-portal) .rp-photo-cell{break-inside:avoid;page-break-inside:avoid}:where(.admin-portal) .rp-photo-cell img{width:100%;height:64mm;object-fit:contain;border:1px solid #d1d5db;border-radius:3px;display:block;background:#f9fafb}:where(.admin-portal) .rp-photo-caption{font-size:calc(9px * var(--rp-scale));color:#6b7280;text-align:center;margin-top:4px;font-variant:small-caps;letter-spacing:1px}}:where(.admin-portal) .auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-800) 100%)}:where(.admin-portal) .auth-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:40px}:where(.admin-portal) .auth-logo{text-align:center;margin-bottom:32px}:where(.admin-portal) .auth-logo-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:28px;margin-bottom:16px}:where(.admin-portal) .auth-logo h1{font-size:24px;font-weight:700;color:var(--gray-900);margin-bottom:4px}:where(.admin-portal) .auth-logo p{color:var(--gray-500);font-size:14px}:where(.admin-portal) .auth-form h2{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:24px;text-align:center}:where(.admin-portal) .auth-card .form-control{padding:12px 14px}:where(.admin-portal) .auth-card .btn{padding:12px 20px}:where(.admin-portal) .auth-card .alert{padding:14px 16px;margin-bottom:20px;font-size:14px}:where(.admin-portal) .btn-block{width:100%}:where(.admin-portal) .otp-input-container{display:flex;gap:8px;justify-content:center;margin:20px 0}:where(.admin-portal) .otp-input{width:45px;height:55px;text-align:center;font-size:24px;font-weight:700;border:2px solid var(--gray-300);border-radius:var(--radius-sm);transition:border-color .2s}:where(.admin-portal) .otp-input:focus{border-color:var(--primary);outline:none}:where(.admin-portal) .otp-info{text-align:center;color:var(--gray-500);font-size:14px;margin-bottom:20px}:where(.admin-portal) .otp-info .email{font-weight:600;color:var(--gray-700)}:where(.admin-portal) .resend-link{text-align:center;margin-top:16px}:where(.admin-portal) .resend-link button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px}:where(.admin-portal) .resend-link button:disabled{color:var(--gray-400);cursor:not-allowed}:where(.admin-portal) .back-link{text-align:center;margin-top:12px}:where(.admin-portal) .back-link a{color:var(--gray-500);font-size:14px;text-decoration:none}:where(.admin-portal) .back-link a:hover{color:var(--primary)}:where(.admin-portal) .step-hidden{display:none}:where(.admin-portal) .expires-timer{text-align:center;font-size:12px;color:var(--gray-400);margin-top:8px}:where(.admin-portal) .kb-upload-box{background:var(--gray-50);border:2px dashed var(--gray-200);border-radius:12px;padding:24px;margin-bottom:24px}:where(.admin-portal) .kb-upload-title{margin:0 0 16px;font-size:16px;color:var(--gray-700)}:where(.admin-portal) .kb-upload-fields{display:flex;flex-direction:column;gap:12px}:where(.admin-portal) .kb-field-label{display:block;font-size:13px;font-weight:600;color:var(--gray-600);margin-bottom:4px}:where(.admin-portal) .kb-upload-actions{display:flex;gap:8px;align-items:center}:where(.admin-portal) .kb-upload-status{font-size:13px}:where(.admin-portal) .doc-description{max-width:400px;white-space:normal}:where(.admin-portal) .sa-an-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}:where(.admin-portal) .sa-an-tile{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:13px 15px}:where(.admin-portal) .sa-an-tile-value{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--gray-900);font-variant-numeric:tabular-nums}:where(.admin-portal) .sa-an-tile-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);font-weight:600;margin-top:3px}:where(.admin-portal) .sa-an-tile-sub{font-size:11px;color:var(--gray-400);margin-top:3px}:where(.admin-portal) .sa-an-panels{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}:where(.admin-portal) .sa-an-title{font-size:13px;font-weight:700;color:var(--gray-700);margin:0}:where(.admin-portal) .sa-an-sub{font-size:11px;color:var(--gray-400);margin:2px 0 10px}:where(.admin-portal) .sa-an-table td{vertical-align:middle}:where(.admin-portal) .sa-an-table td:last-child,:where(.admin-portal) .sa-an-table td:nth-last-child(2){font-variant-numeric:tabular-nums}:where(.admin-portal) .sa-an-track{display:flex;gap:2px;height:14px;min-width:110px;background:var(--gray-100);border-radius:4px;overflow:hidden}:where(.admin-portal) .sa-an-seg-done{background:var(--primary);border-radius:4px}:where(.admin-portal) .sa-an-seg-draft{background:var(--primary-light);border-radius:4px}:where(.admin-portal) .sa-an-zero td{color:var(--gray-400)}:where(.admin-portal) .sa-an-zero .sa-an-track{background:repeating-linear-gradient(135deg,var(--gray-50),var(--gray-50) 3px,var(--gray-100) 3px,var(--gray-100) 6px)}:where(.admin-portal) .sa-an-team-btn{background:none;border:none;padding:0;font:inherit;color:var(--gray-800);cursor:pointer;text-align:left}:where(.admin-portal) .sa-an-team-btn:hover{color:var(--primary);text-decoration:underline}:where(.admin-portal) .sa-an-team-btn[aria-pressed=true]{color:var(--primary);font-weight:600}:where(.admin-portal) .sa-an-clear{background:none;border:none;padding:0;font:inherit;color:var(--primary);cursor:pointer;text-decoration:underline}@media (max-width: 1100px){:where(.admin-portal) .sa-an-panels{grid-template-columns:1fr}:where(.admin-portal) .sa-an-tiles{grid-template-columns:repeat(2,1fr)}}:where(.admin-portal) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){:where(.admin-portal) .modal-overlay{padding:0;align-items:flex-end}:where(.admin-portal) .modal-content,:where(.admin-portal) .modal-content.telemetry-expanded,:where(.admin-portal) .modal-content.telemetry-only-content{max-width:100%!important;width:100%;max-height:92vh;max-height:92dvh;border-radius:var(--radius) var(--radius) 0 0;display:flex;flex-direction:column;overflow:hidden}:where(.admin-portal) .modal-content.telemetry-only-content{height:92vh;height:92dvh}:where(.admin-portal) .modal-body{flex:1 1 auto;overflow-y:auto;min-height:0;padding:16px}:where(.admin-portal) .modal-content>form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}:where(.admin-portal) .modal-header{flex:0 0 auto;padding:14px 16px}:where(.admin-portal) .modal-header h3{font-size:15px;min-width:0}:where(.admin-portal) .modal-footer{flex:0 0 auto;flex-direction:column-reverse;align-items:stretch;gap:8px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}:where(.admin-portal) .modal-footer .btn{width:100%;justify-content:center}:where(.admin-portal) .modal-body-actions{flex-direction:column-reverse;align-items:stretch;gap:8px}:where(.admin-portal) .modal-body-actions .btn{width:100%;justify-content:center}:where(.admin-portal) .modal-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:-6px -6px -6px 0}:where(.admin-portal) .modal-content input,:where(.admin-portal) .modal-content select,:where(.admin-portal) .modal-content textarea{font-size:16px!important;min-height:44px}:where(.admin-portal) .modal-content input[type=checkbox],:where(.admin-portal) .modal-content input[type=radio]{min-height:0;width:20px;height:20px;flex:0 0 auto}:where(.admin-portal) .checkbox-option{min-height:44px}:where(.admin-portal) .form-control,:where(.admin-portal) .sa-input,:where(.admin-portal) .searchable-dropdown input,:where(.admin-portal) .env-toggle select{font-size:16px}:where(.admin-portal) .config-telemetry-wrapper{flex-direction:column}:where(.admin-portal) .modal-content.telemetry-expanded .it-side-column,:where(.admin-portal) .config-form-panel{width:100%;min-width:0}:where(.admin-portal) .config-form-panel{min-height:0}:where(.admin-portal) .modal-content.telemetry-expanded .it-side-column{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:#fff;padding:0;display:flex;flex-direction:column;overflow:hidden}:where(.admin-portal) .it-sheet-close{display:flex;align-items:center;gap:8px;flex:0 0 auto;width:100%;min-height:44px;padding:12px 16px;border:none;border-bottom:1px solid var(--gray-200);background:var(--gray-50);color:var(--gray-700);font-size:14px;font-weight:500;cursor:pointer}:where(.admin-portal) .modal-content.telemetry-expanded .it-side-column .inline-telemetry-panel{flex:1;min-height:0;overflow-y:auto;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}:where(.admin-portal) .modal-content.telemetry-expanded .config-form-panel{overflow:hidden}:where(.admin-portal) .ht-range-group{width:100%}:where(.admin-portal) .ht-range-input{width:auto;flex:1 1 0;min-width:0}:where(.admin-portal) .ht-custom-range .it-btn-primary{width:100%}:where(.admin-portal) table.mobile-cards,:where(.admin-portal) table.mobile-cards tbody,:where(.admin-portal) table.mobile-cards tr,:where(.admin-portal) table.mobile-cards td{display:block;width:auto}:where(.admin-portal) table.mobile-cards thead{display:none}:where(.admin-portal) table.mobile-cards tr{border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:12px;padding:4px 0;background:#fff}:where(.admin-portal) table.mobile-cards td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 14px;border:none;font-size:13px;text-align:right;min-width:0;word-break:break-word}:where(.admin-portal) table.mobile-cards td:before{content:attr(data-label);flex:0 0 40%;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}:where(.admin-portal) table.mobile-cards td:first-child{border-bottom:1px solid var(--gray-100);font-size:14px;text-align:left;padding-top:10px}:where(.admin-portal) table.mobile-cards td:first-child:before{display:none}:where(.admin-portal) table.mobile-cards td[colspan]{display:block;text-align:center}:where(.admin-portal) table.mobile-cards td[colspan]:before{display:none}:where(.admin-portal) #alarms table.mobile-cards:not(.alarm-history) td[data-label="Active Since"]{display:none}:where(.admin-portal) #alarms table.mobile-cards.alarm-history td[data-label="Active To"]{display:none}:where(.admin-portal) #dataquality table.mobile-cards td[data-label="Last Validated"]{display:none}:where(.admin-portal) #useradmin table.mobile-cards td[data-label=Team],:where(.admin-portal) #useradmin table.mobile-cards td[data-label=Customer],:where(.admin-portal) #useradmin table.mobile-cards td[data-label=Sites],:where(.admin-portal) #useradmin table.mobile-cards td[data-label="Last Login"]{display:none}:where(.admin-portal) #useradmin .action-btn-group{gap:8px}:where(.admin-portal) #useradmin .action-btn{min-width:44px;min-height:44px}:where(.admin-portal) #deviceconfig table.mobile-cards tr{border-width:0 0 1px 0;border-radius:0;margin-bottom:0}:where(.admin-portal) #deviceconfig table.mobile-cards td[data-label=Actions]{flex-direction:column;align-items:stretch;gap:8px}:where(.admin-portal) #deviceconfig table.mobile-cards td[data-label=Actions]:before{flex:0 0 auto}:where(.admin-portal) #deviceconfig .device-actions{flex-direction:column;align-items:stretch;gap:8px;white-space:normal}:where(.admin-portal) #deviceconfig .device-actions .btn{width:100%;justify-content:center}:where(.admin-portal) .doc-description{max-width:none}:where(.admin-portal) .hw-config-modal .modal-body{padding:14px}:where(.admin-portal) .hw-stepper{justify-content:safe center}:where(.admin-portal) .hw-step-label{font-size:10px}:where(.admin-portal) .hw-config-modal .hw-footer-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px}:where(.admin-portal) .hw-config-modal .hw-footer-actions #saveConfigBtn{order:-1;grid-column:1 / -1;margin-left:0}:where(.admin-portal) .hw-config-modal .hw-footer-actions .hw-history-btn{order:1;grid-column:1 / -1}:where(.admin-portal) .hw-config-modal .hw-footer-actions .btn{white-space:normal}:where(.admin-portal) .controller-mode-modal .controller-mode-footer-actions{flex-direction:column-reverse;align-items:stretch;gap:8px}:where(.admin-portal) .controller-mode-grid{grid-template-columns:1fr}:where(.admin-portal) .modal-body .table-container,:where(.admin-portal) .modal-body table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}:where(.admin-portal) .modal-body table th,:where(.admin-portal) .modal-body table td{white-space:nowrap;font-size:12px;padding:8px 10px}:where(.admin-portal) .btn,:where(.admin-portal) .btn-sm{min-height:44px}:where(.admin-portal) .pagination button{min-width:44px;min-height:44px}}@media (max-width: 768px){:where(.admin-portal) .topbar{flex-wrap:nowrap}:where(.admin-portal) .topbar-actions{width:auto}}._otpInputContainer_1vebp_3{display:flex;gap:8px;justify-content:center;margin:20px 0}._otpInput_1vebp_3{width:45px;height:55px;text-align:center;font-size:24px;font-weight:700;border:2px solid #e5e7eb;border-radius:8px;transition:border-color .2s}._otpInput_1vebp_3:focus{border-color:#126af3;outline:none}._otpInfo_1vebp_26{text-align:center;color:#6b7280;font-size:14px;margin-bottom:20px}._otpInfoEmail_1vebp_33{font-weight:600;color:#374151}._resendLink_1vebp_38{text-align:center;margin-top:16px}._resendLink_1vebp_38 button{background:none;border:none;color:#126af3;cursor:pointer;font-size:14px}._resendLink_1vebp_38 button:disabled{color:#9ca3af;cursor:not-allowed}._backLink_1vebp_56{text-align:center;margin-top:12px}._backLink_1vebp_56 a{color:#6b7280;font-size:14px;text-decoration:none}._backLink_1vebp_56 a:hover{color:#126af3}._stepHidden_1vebp_71{display:none}._expiresTimer_1vebp_75{font-size:12px;color:#9ca3af;margin-top:8px}
