*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,sans-serif;color:#1a1a1a;background:#f2f5f7;line-height:1.35;font-weight:400;--solon-blue: #09296c;--solon-blue-dark: #071f52;--solon-gold: rgb(255, 184, 28);--surface: #ffffff;--surface-soft: #f8fbff;--border: #cfdcf0;--border-strong: #cbd5e1;--text: #172033;--muted: #667085;--danger: #b42318;--success: #067647;--shadow: 0 1px 3px rgba(15, 23, 42, .1)}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;background:#f2f5f7}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-nav-toggle{display:none}.sidebar-backdrop{position:fixed;inset:0;z-index:40;border:0;background:#0000005c}.app-sidebar{position:sticky;top:0;flex:0 0 264px;width:264px;height:100vh;min-height:100vh;padding:14px;background:linear-gradient(180deg,var(--solon-blue) 0%,var(--solon-blue-dark) 100%);color:#fff;border-right:1px solid rgba(255,255,255,.08);overflow:hidden;display:grid;grid-template-rows:42px minmax(0,1fr) auto;row-gap:8px;transition:flex-basis .28s cubic-bezier(.22,1,.36,1),width .28s cubic-bezier(.22,1,.36,1)}.app-sidebar--closed{flex-basis:58px;width:58px;padding-inline:9px}.app-sidebar--customer-locked{grid-template-rows:minmax(0,1fr) auto}.app-sidebar--customer-locked .sidebar-toggle-row{display:none}.sidebar-toggle-row{height:42px;display:flex;align-items:center;justify-content:flex-start;gap:8px}.app-sidebar--closed .sidebar-toggle-row{justify-content:center}.icon-button{width:34px;height:34px;min-width:34px;margin:0;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.icon-button--sidebar{color:#fff;border:1px solid rgba(255,255,255,.14);background:#ffffff14}.icon-button--mobile-close{display:none;color:#fff;border:1px solid rgba(255,255,255,.14);background:#ffffff14}.icon-button--light{color:var(--solon-blue);border:1px solid var(--border);background:#fff}.icon-button--primary{color:#fff;border:1px solid var(--solon-blue);background:var(--solon-blue)}.sidebar-nav-shell{position:relative;min-height:0;margin-right:-14px}.app-sidebar--closed .sidebar-nav-shell{margin-right:-9px}.sidebar-nav{height:100%;display:grid;gap:8px;align-content:start;grid-auto-rows:max-content;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:12px;scrollbar-width:none}.app-sidebar--closed .sidebar-nav{padding-right:7px}.sidebar-nav::-webkit-scrollbar{width:0;height:0}.sidebar-scrollbar-thumb{position:absolute;top:var(--sidebar-scrollbar-top);right:2px;width:6px;height:var(--sidebar-scrollbar-height);border-radius:999px;background:#ffffff8a;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:4}.sidebar-scrollbar-thumb--visible{opacity:1}.sidebar-nav-group{display:grid;gap:2px;align-content:start;grid-auto-rows:max-content;min-width:0}.sidebar-top-link-stack{display:grid;gap:2px;min-width:0}.sidebar-top-link-stack+.sidebar-top-link-stack{margin-top:-6px}.sidebar-group-title{width:100%;margin:0;border:0;background:transparent;display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:26px;padding:3px 6px;border-radius:7px;color:var(--solon-gold);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0;white-space:nowrap}.sidebar-group-title:hover{background:#ffffff14}.sidebar-group-chevron{margin-left:auto;color:#fffc}.sidebar-link-list{display:grid;gap:1px;max-height:720px;overflow:hidden;opacity:1;transform:translateY(0);visibility:visible;transition:max-height .26s cubic-bezier(.22,1,.36,1),opacity .16s ease,transform .18s ease,visibility 0s linear 0s}.sidebar-link-list--collapsed{max-height:0;opacity:0;pointer-events:none;transform:translateY(-4px);visibility:hidden;transition:max-height .22s cubic-bezier(.4,0,.2,1),opacity .14s ease,transform .16s ease,visibility 0s linear .22s}.sidebar-link{display:flex;align-items:center;gap:8px;min-height:26px;padding:3px 8px;border-radius:8px;border:1px solid transparent;color:#ffffffe6;font-size:13px;font-weight:650;line-height:1.15;white-space:nowrap;opacity:1;transform:translateY(0);transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .17s ease,transform .19s cubic-bezier(.22,1,.36,1)}.sidebar-link-list--collapsed .sidebar-link{opacity:0;transform:translateY(-5px)}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(1){transition-delay:20ms}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(2){transition-delay:35ms}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(3){transition-delay:50ms}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(4){transition-delay:65ms}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(5){transition-delay:80ms}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(6){transition-delay:95ms}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(7){transition-delay:.11s}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(8){transition-delay:125ms}.sidebar-link-list:not(.sidebar-link-list--collapsed) .sidebar-link:nth-child(n+9){transition-delay:.14s}.sidebar-link:hover{background:#ffffff14}.sidebar-link--top-level{margin-bottom:0;padding-left:5px;padding-right:6px}.sidebar-link--active{color:#fff;background:#ffb81c29;border-color:#ffb81c57;font-weight:650}.app-sidebar--closed .sidebar-group-title,.app-sidebar--closed .sidebar-link{justify-content:center;padding-inline:0}.app-sidebar--closed .sidebar-group-title span,.app-sidebar--closed .sidebar-group-chevron,.app-sidebar--closed .sidebar-link span,.app-sidebar--closed .sidebar-user__email,.app-sidebar--closed .sidebar-help-link span,.app-sidebar--closed .sidebar-signout-button span{display:none}.sidebar-user{display:grid;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.14);min-width:0}.sidebar-user__email{color:#ffffffc7;font-size:.74rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-help-link{min-height:30px;margin:0;padding:5px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:750;line-height:1.1}.sidebar-help-link:hover,.sidebar-help-link--active{background:#ffb81c29;border-color:#ffb81c57}.sidebar-signout-button{min-height:30px;margin:0;padding:5px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:750;line-height:1.1}.sidebar-signout-button:hover{background:#ef444433}.app-sidebar--closed .sidebar-user{justify-items:center}.app-main{--sticky-header-offset: 82px;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;padding:0 20px 10px}.app-header{position:sticky;top:0;z-index:35;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:82px;padding-top:20px;padding-bottom:2px;margin-bottom:0;background:#f2f5f7}.app-header:before{content:"";position:absolute;inset:0 -20px;z-index:-1;background:#f2f5f7}.app-header--with-detail-actions:before{bottom:-32px}.header-title-section{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;min-width:0;padding-top:0}.large-heading{margin:0;color:var(--solon-blue);font-size:3rem;line-height:1.05;font-style:italic;font-weight:750;letter-spacing:0;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header--with-detail-actions .large-heading{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.header-brand-section{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.logo{width:180px;max-width:28vw;height:auto;display:block}.content-section{width:100%;margin-top:18px;padding:16px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--solon-gold);border-radius:8px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading--actions-only{justify-content:flex-end}.section-heading h2{margin:0;color:var(--solon-blue);font-size:1.35rem;line-height:1.12}.section-eyebrow{margin-bottom:4px;color:var(--muted);font-size:.74rem;font-weight:750;text-transform:uppercase;letter-spacing:0}.section-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.primary-button,.secondary-button,.danger-button{min-height:36px;margin:0;padding:8px 12px;border-radius:6px;font-weight:750;line-height:1.1;white-space:nowrap;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform 80ms ease}.primary-button{border:1px solid var(--solon-blue);background:var(--solon-blue);color:#fff}.primary-button:hover{background:#0b3d91}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled),.icon-button:active:not(:disabled),.column-filter-button:active:not(:disabled),.upload-button-shell:active,.upload-button-shell:has(input:active){transform:translateY(1px);box-shadow:inset 0 2px 4px #0f172a2e}.secondary-button{border:1px solid var(--border-strong);background:#fff;color:#1f2937}.secondary-button:hover,.icon-button--light:hover{background:#eef4fb}.icon-button--primary:hover{background:#0b3d91}.danger-button{border:1px solid var(--danger);background:var(--danger);color:#fff}.danger-button:hover:not(:disabled){background:#912018}.icon-button--danger{color:var(--danger);border:1px solid #fecaca;background:#fff7f7}.icon-button--danger:hover:not(:disabled){background:#fee4e2}.icon-button--archive-action{color:var(--danger);border:1px solid #fecaca;background:#fff1f0}.icon-button--archive-action:hover:not(:disabled){background:#fee4e2}.icon-text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.inline-link{color:var(--solon-blue);font-weight:750;text-decoration:underline;text-underline-offset:2px}.notice-panel,.success-panel,.error-panel,.loading-panel,.empty-state{padding:14px;border-radius:8px;margin-bottom:12px;font-size:.92rem;font-weight:650}.notice-panel{color:#854d0e;border:1px solid #fde68a;background:#fffbeb}.success-panel{color:var(--success);border:1px solid #abefc6;background:#ecfdf3}.error-panel{color:var(--danger);border:1px solid #fecaca;background:#fef2f2}.loading-panel,.empty-state{color:var(--muted);border:1px solid var(--border);background:var(--surface-soft)}.empty-state{margin:0;text-align:center}.empty-state--stacked{display:grid;justify-items:center;gap:8px}.report-grid,.site-visits-calendar-page{display:grid;gap:12px}.dashboard-page{display:grid;gap:8px;container-type:inline-size}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:0}.dashboard-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px;border:1px solid var(--border);border-radius:999px;background:#fff;box-shadow:0 10px 22px #09296c0f}.dashboard-tab{min-height:28px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:4px 11px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-family:inherit;font-size:13px;font-weight:500;line-height:1.15}.dashboard-tab:hover,.dashboard-tab--active{color:var(--solon-blue);background:#eef4fb}.dashboard-edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-config-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 11px;border:1px solid transparent;border-radius:7px;color:var(--solon-blue);font-size:.82rem;font-weight:800}.dashboard-config-button--success{border-color:#b9e7c2;background:#ecf9ef}.dashboard-config-button--success:hover{background:#dff4e5}.dashboard-config-button--danger{border-color:#ffc7c2;background:#fff0ef;color:#9f2417}.dashboard-config-button--danger:hover{background:#ffe5e2}.dashboard-widget-grid{--dashboard-grid-gap: 12px;--dashboard-grid-cell-size: clamp(42px, calc(6.25cqw - 11.25px) , 75px);--dashboard-grid-step: calc(var(--dashboard-grid-cell-size) + var(--dashboard-grid-gap));width:max-content;max-width:100%;display:grid;grid-template-columns:repeat(16,minmax(0,var(--dashboard-grid-cell-size)));grid-auto-rows:var(--dashboard-grid-cell-size);gap:var(--dashboard-grid-gap);align-items:stretch;min-height:640px;position:relative;border-radius:8px;overflow-x:auto}.dashboard-page.customer-portal-dashboard .dashboard-widget-grid{--dashboard-grid-cell-size: max(42px, calc((100cqw - 180px)/16) );width:100%}.dashboard-widget-grid--edit{background-image:linear-gradient(to right,rgba(9,41,108,.18) 1px,transparent 1px),linear-gradient(to bottom,rgba(9,41,108,.16) 1px,transparent 1px);background-size:var(--dashboard-grid-step) var(--dashboard-grid-step),100% var(--dashboard-grid-step);background-position:0 0}.dashboard-widget{margin-top:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;height:100%;position:relative;overflow:hidden;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.dashboard-widget--clickable{cursor:pointer}.dashboard-widget--clickable:hover{border-color:#b9cbe5;box-shadow:0 14px 34px #09296c1f}.dashboard-widget--editable{-webkit-user-select:none;user-select:none}.dashboard-widget--button{display:flex;align-items:stretch;justify-content:stretch;gap:0;padding:0;border-top:3px solid var(--solon-gold);background:#eefaf1}.dashboard-widget--button-green{background:#eefaf1}.dashboard-widget--button-green:hover{border-color:#a9ddb5;background:#dcfae6}.dashboard-widget--button-blue{background:#eef4fb}.dashboard-widget--button-blue:hover{border-color:#b9cbe5;background:#e1edfa}.dashboard-widget--button-gold{background:#fff8df}.dashboard-widget--button-gold:hover{border-color:#f3cb65;background:#fff1bc}.dashboard-widget--button-red{background:#fff1f0}.dashboard-widget--button-red:hover{border-color:#ffb5ad;background:#ffe5e2}.dashboard-widget--button-gray{background:#f3f5f8}.dashboard-widget--button-gray:hover{border-color:#c8d2e1;background:#e9eef5}.dashboard-widget--metric{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center}.dashboard-widget-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dashboard-widget--metric .dashboard-widget-header{height:100%;min-width:0;align-items:center;overflow:hidden}.dashboard-widget-header--drag-handle{cursor:grab}.dashboard-widget-header--drag-handle:active{cursor:grabbing}.dashboard-widget-header h2{margin:0;color:var(--solon-blue);font-size:1.05rem;line-height:1.15}.dashboard-widget--metric .dashboard-widget-header h2{flex:1 1 auto;min-width:0;max-width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.dashboard-widget-header-actions{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}.dashboard-widget--metric .dashboard-widget-header-actions{position:absolute;top:8px;right:8px;z-index:4;padding:2px;border-radius:999px;background:#ffffffe0;box-shadow:0 6px 16px #0f172a1f}.dashboard-widget-header-actions .icon-button{width:24px;height:24px;min-width:24px;box-shadow:none}.dashboard-widget-remove-button{width:24px;height:24px;min-width:24px;border:0;background:transparent;color:#b42318;box-shadow:none}.dashboard-widget-remove-button:hover:not(:disabled){background:#fff1f0;color:#912018}.dashboard-widget-remove-button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.dashboard-metric{display:grid;align-content:center;justify-content:start;gap:0;min-height:0}.dashboard-widget--metric .dashboard-metric{height:100%;min-width:0;justify-content:end;text-align:right}.dashboard-metric strong{color:var(--solon-blue);font-size:2.35rem;font-weight:850;line-height:.95}.dashboard-widget--metric .dashboard-metric strong{justify-self:end}.dashboard-widget--metric-site-status,.dashboard-widget--metric-upcoming-pms,.dashboard-widget--metric-monitoring-subscriptions{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px;align-items:stretch}.dashboard-widget--metric-site-status.dashboard-widget--editable,.dashboard-widget--metric-upcoming-pms.dashboard-widget--editable,.dashboard-widget--metric-monitoring-subscriptions.dashboard-widget--editable{grid-template-rows:auto minmax(0,1fr);gap:8px}.site-status-metric{height:100%;min-height:0;display:grid;align-content:start;gap:6px;overflow:auto;padding:1px 0}.site-status-metric--empty{align-content:center;color:var(--muted);font-size:.86rem;font-weight:750}.site-status-metric-row{min-height:32px;display:grid;grid-template-columns:16px minmax(0,1fr) 80px;align-items:center;gap:8px}.site-status-metric-state{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.site-status-metric-name{min-width:0;color:var(--solon-blue);font-size:.82rem;font-weight:500;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.site-status-metric-state:hover,.site-status-metric-state:focus,.site-status-metric-name:hover,.site-status-metric-name:focus{color:var(--solon-blue);text-decoration:none}.site-status-production{width:80px;min-width:80px;display:flex;justify-content:flex-end;justify-self:end}.site-status-progress{position:relative;width:80px;height:16px;overflow:hidden;display:block}.site-status-progress-track{width:100%;height:100%;display:block;background-color:#e0e0e0;border-radius:4px;position:relative}.site-status-progress-fill{height:100%;display:flex;align-items:center;justify-content:center;background-color:#16a34a;border-radius:4px;position:relative}.site-status-progress-text{position:static;transform:none;margin-left:0;color:#fff;font-size:10px;line-height:1}.upcoming-pms-metric{height:100%;min-height:0;display:grid;align-content:start;gap:6px;overflow:auto;padding:1px 0}.upcoming-pms-metric--empty{align-content:center;color:var(--muted);font-size:.86rem;font-weight:750}.upcoming-pms-metric-row{min-height:28px;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px}.upcoming-pms-metric-name,.upcoming-pms-metric-date{color:var(--solon-blue);font-size:.82rem;font-weight:500;line-height:1.15}.upcoming-pms-metric-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-pms-metric-date{justify-self:end;white-space:nowrap}.monitoring-subscriptions-metric{height:100%;min-height:0;display:grid;align-content:start;gap:6px;overflow:auto;padding:1px 0}.monitoring-subscriptions-metric--empty{align-content:center;color:var(--muted);font-size:.86rem;font-weight:750}.monitoring-subscriptions-metric-row{min-height:28px;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px}.monitoring-subscriptions-metric-name,.monitoring-subscriptions-metric-date{color:var(--solon-blue);font-size:.82rem;font-weight:500;line-height:1.15}.monitoring-subscriptions-metric-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitoring-subscriptions-metric-date{justify-self:end;white-space:nowrap}.dashboard-add-record-button{flex:1 1 auto;width:100%;height:100%;min-height:0;display:grid;place-items:center;padding:0 14px;color:var(--solon-blue);font-size:1rem;font-weight:850;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-widget--button.dashboard-widget--editable .dashboard-add-record-button{padding:0 60px}.dashboard-add-record-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center}.dashboard-button-actions{position:absolute;top:4px;right:5px;display:inline-flex;align-items:center;gap:2px;z-index:5}.dashboard-button-actions .icon-button{width:22px;height:22px;min-width:22px;box-shadow:none}.dashboard-map-shell{min-height:0;height:100%;position:relative;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:#eef4fb}.dashboard-map-canvas{width:100%;height:100%;min-height:120px}.dashboard-map-status{position:absolute;inset:0;display:grid;place-items:center;padding:12px;background:#f8fbffd6;color:var(--muted);font-size:.82rem;font-weight:750;text-align:center}.dashboard-map-info-window{display:grid;gap:6px;min-width:190px;max-width:280px;color:var(--text);font-family:Inter,sans-serif;font-size:.78rem}.dashboard-map-info-window h3{margin:0 0 2px;color:var(--solon-blue);font-size:.92rem;line-height:1.15}.dashboard-map-info-row{display:grid;grid-template-columns:minmax(70px,auto) 1fr;gap:8px}.dashboard-map-info-row span{color:var(--muted);font-weight:700}.dashboard-map-info-row strong{color:var(--text);font-weight:750;text-align:right}.dashboard-map-info-window a{margin-top:4px;color:var(--solon-blue);font-weight:800;text-decoration:underline;text-underline-offset:2px}.dashboard-map-field-picker{display:grid;gap:8px}.dashboard-map-field-picker>span{color:var(--text);font-size:.86rem;font-weight:800}.dashboard-map-field-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 10px;max-height:220px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-soft)}.dashboard-map-field-option{display:flex;align-items:center;gap:7px;min-width:0;color:var(--text);font-size:.82rem;font-weight:650}.dashboard-widget--metric-red{border-color:#f5b4ad;background:#fff1f0}.dashboard-widget--metric-green{border-color:#a9ddb5;background:#eefaf1}.dashboard-widget--metric-yellow{border-color:#efd27e;background:#fff8df}.dashboard-widget--metric-blue{border-color:#b9cbe5;background:#eef4fb}.dashboard-report{min-width:0;min-height:0;height:100%;display:grid;gap:6px;overflow:auto}.dashboard-report-table{min-width:720px}.dashboard-report-table th,.dashboard-report-table td{padding:7px 8px;font-size:.78rem}.dashboard-report-footer{color:var(--muted);font-size:.76rem;font-weight:700;text-align:right}.dashboard-calendar-widget{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}.dashboard-calendar-toolbar{display:flex;align-items:end;justify-content:space-between;gap:10px;min-width:0;flex-wrap:wrap}.dashboard-calendar-month-actions{display:inline-flex;align-items:center;gap:6px;min-width:0}.dashboard-calendar-month-actions strong{min-width:0;color:var(--text);font-size:.9rem;line-height:1.15;white-space:nowrap}.dashboard-calendar-filters{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px;min-width:min(100%,460px);flex:1 1 420px}.dashboard-calendar-filter{display:grid;gap:3px;min-width:0}.dashboard-calendar-filter span{color:var(--muted);font-size:.72rem;font-weight:800}.dashboard-calendar-filter select{min-height:30px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:.78rem;min-width:0}@media(max-width:1180px){.dashboard-calendar-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media(max-width:860px){.dashboard-calendar-filters{grid-template-columns:minmax(0,1fr);flex-basis:100%;min-width:0}}.dashboard-calendar-grid{min-height:0;display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));grid-template-rows:24px repeat(6,minmax(54px,1fr));border:1px solid #d8e3f3;border-radius:7px;overflow:auto;background:#fff}.dashboard-calendar-weekday{display:grid;place-items:center;min-width:0;border-right:1px solid #e5edf7;border-bottom:1px solid #d8e3f3;background:#f5f9ff;color:var(--muted);font-size:.72rem;font-weight:850}.dashboard-calendar-weekday:nth-child(7){border-right:0}.dashboard-calendar-day{min-width:0;min-height:0;padding:4px;border-right:1px solid #e5edf7;border-bottom:1px solid #e5edf7;background:#fff;overflow:hidden}.dashboard-calendar-day:nth-child(7n){border-right:0}.dashboard-calendar-day--outside{background:#f8fafc}.dashboard-calendar-day-number{display:block;color:var(--muted);font-size:.72rem;font-weight:850;line-height:1}.dashboard-calendar-event-list{display:grid;gap:3px;margin-top:4px}.dashboard-calendar-event{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:4px;padding:3px 5px;border:1px solid #b9cbe5;border-radius:5px;background:#eef4fb;color:var(--solon-blue);font:inherit;text-align:left}.dashboard-calendar-event span,.dashboard-calendar-event strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}.dashboard-calendar-event span{color:var(--muted);font-size:.66rem;font-weight:850}.dashboard-calendar-event strong{color:var(--solon-blue);font-size:.72rem;font-weight:800}.dashboard-calendar-more,.dashboard-calendar-status,.dashboard-calendar-error{color:var(--muted);font-size:.74rem;font-style:normal;font-weight:750}.dashboard-calendar-error{padding:6px 8px}.dashboard-resize-handle{position:absolute;z-index:4;opacity:0;transition:opacity .12s ease,background .12s ease}.dashboard-widget--editable:hover .dashboard-resize-handle,.dashboard-resize-handle:hover{opacity:1}.dashboard-resize-handle--left,.dashboard-resize-handle--right{top:34px;bottom:12px;width:8px;cursor:ew-resize}.dashboard-resize-handle--left{left:0;border-left:2px solid rgba(9,41,108,.35)}.dashboard-resize-handle--right{right:0;border-right:2px solid rgba(9,41,108,.35)}.dashboard-resize-handle--bottom{left:12px;right:24px;bottom:0;height:8px;border-bottom:2px solid rgba(9,41,108,.35);cursor:ns-resize}.dashboard-resize-handle--bottom-right{right:0;bottom:0;width:18px;height:18px;border-right:2px solid rgba(9,41,108,.45);border-bottom:2px solid rgba(9,41,108,.45);cursor:nwse-resize}.dashboard-widget--button .dashboard-resize-handle--left,.dashboard-widget--button .dashboard-resize-handle--right{top:3px;bottom:3px}.dashboard-widget--button .dashboard-resize-handle--bottom{left:8px;right:18px;height:6px}.dashboard-widget--button .dashboard-resize-handle--bottom-right{width:12px;height:12px}.dashboard-config-modal{width:min(720px,calc(100vw - 28px))}.dashboard-config-modal-body{padding:18px}.dashboard-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-modal-grid--metric{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-modal-grid .field{grid-column:span 1}.dashboard-modal-grid .field:nth-child(3){grid-column:span 1}.dashboard-modal-copy{margin:0;color:var(--text);font-size:.95rem;font-weight:700}.dashboard-metric-builder-section{display:grid;gap:8px;padding-top:4px}.dashboard-metric-builder-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-metric-builder-header h4{margin:0;color:var(--solon-blue);font-size:.94rem;line-height:1.15}.dashboard-criteria-list{display:grid;gap:6px}.dashboard-criteria-row,.dashboard-format-rule-row{display:grid;align-items:center;gap:7px;padding:7px;border:1px solid var(--border);border-radius:7px;background:#f8fbff}.dashboard-criteria-row{grid-template-columns:minmax(140px,1fr) minmax(150px,180px) minmax(130px,1fr) 28px}.dashboard-format-rule-row{grid-template-columns:auto minmax(120px,150px) 90px auto minmax(95px,120px) 28px}.dashboard-criteria-row select,.dashboard-criteria-row input,.dashboard-format-rule-row select,.dashboard-format-rule-row input{min-height:31px;width:100%;padding:4px 8px;font-size:.82rem}.dashboard-format-rule-row span{color:#344054;font-size:.8rem;font-weight:750;white-space:nowrap}.dashboard-empty-inline{margin:0;padding:8px;font-size:.8rem}.report-grid--compact{gap:8px;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);align-content:start}.report-grid--compact .report-toolbar{gap:8px}.report-grid--compact .report-toolbar-left{flex:1 1 220px}.report-grid--compact .search-input{min-height:34px;max-width:320px}.report-grid--compact .table-shell{height:100%;max-height:none;min-height:0}.report-grid--compact .data-table th,.report-grid--compact .data-table td{padding:7px 8px;font-size:.78rem}.report-grid--compact .row-actions-col,.report-grid--compact .row-actions-column,.report-grid--compact .row-actions-cell{width:42px!important;min-width:42px!important;max-width:42px!important}.report-grid--compact .row-actions-cell{gap:2px}.report-grid--compact .row-select-checkbox,.report-grid--compact .row-actions-cell .row-action-button+.row-action-button{display:none}.embedded-record-grid-stack{display:grid;gap:14px}.embedded-record-grid{min-width:0;max-width:100%}.embedded-record-grid .report-grid--compact{height:auto;min-height:0;grid-template-rows:auto auto}.embedded-record-grid .report-grid--compact .table-shell{height:auto;max-height:min(420px,calc(100vh - var(--sticky-header-offset, 72px) - 220px));overflow:auto}.subtable-sort-button{width:100%;min-height:24px;padding:0 18px 0 0;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px;font:inherit;text-align:left;text-transform:inherit;cursor:pointer}.subtable-sort-button:disabled{cursor:default}.subtable-sort-indicator{color:var(--solon-blue);font-size:.68rem;font-weight:800;text-transform:uppercase}.subtable-view-controls{display:inline-flex;align-items:center;gap:4px}.quickbooks-page{display:grid;gap:12px}.quickbooks-status-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:18px}.quickbooks-status-card h2,.quickbooks-setup-card h2,.quickbooks-help-card h2,.quickbooks-financial-card h2{margin:0 0 8px;color:var(--solon-blue);font-size:1.2rem;line-height:1.15}.quickbooks-status-card p,.quickbooks-setup-card p,.quickbooks-help-card p,.quickbooks-help-card li,.quickbooks-financial-card p{color:var(--text);font-size:.9rem;font-weight:650;line-height:1.35}.quickbooks-status-card p,.quickbooks-setup-card p,.quickbooks-help-card p,.quickbooks-financial-card p{margin:0}.quickbooks-status-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.quickbooks-config-list{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.quickbooks-config-list code,.quickbooks-directory-card code,.quickbooks-setup-card code{color:var(--solon-blue);border:1px solid var(--border);border-radius:5px;background:#f8fbff;padding:2px 5px;font-size:.78rem;font-weight:800}.quickbooks-meta{color:var(--muted);font-size:.78rem;font-weight:750;text-transform:capitalize}.quickbooks-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.quickbooks-count-pill{flex:0 0 auto;padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:#f8fbff;color:var(--solon-blue);font-size:.78rem;font-weight:850}.quickbooks-import-report-button{position:relative}.quickbooks-import-report-button--has-missing{color:#9f1f14;border-color:#f5c2ba;background:#fff6f4}.quickbooks-import-badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border:1px solid #ffffff;border-radius:999px;background:#d92d20;color:#fff;font-size:.68rem;font-weight:900;line-height:1}.quickbooks-reference-select{display:grid;gap:5px}.quickbooks-reference-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.quickbooks-rename-button{min-height:36px;white-space:nowrap}.quickbooks-create-project{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.quickbooks-create-project-button{min-height:36px}.quickbooks-rename-modal{width:min(520px,100%)}.quickbooks-rename-modal .modal-body{display:grid;gap:12px;padding:14px 16px}.quickbooks-rename-modal .modal-actions{padding:12px 16px 16px;border-top:1px solid var(--border)}.warning-panel{padding:10px 12px;border:1px solid #f5c2ba;border-radius:6px;background:#fff6f4;color:#7a271a;font-size:.84rem;font-weight:700;line-height:1.35}.field-helper{color:var(--muted);font-size:.75rem;font-weight:650;line-height:1.25}.field-helper--error{color:#9f1f14}.quickbooks-table{min-width:1100px}.quickbooks-financial-table{min-width:1320px}.quickbooks-financial-table th:nth-child(6),.quickbooks-financial-table td:nth-child(6){min-width:260px}.quickbooks-financial-table th:nth-child(9),.quickbooks-financial-table td:nth-child(9){min-width:240px}.quickbooks-json-details summary{color:var(--solon-blue);cursor:pointer;font-size:.78rem;font-weight:800}.quickbooks-json-details pre{max-width:560px;max-height:340px;margin:8px 0 0;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:6px;background:#0f172a;color:#e5efff;font-size:.72rem;line-height:1.35;white-space:pre-wrap}.quickbooks-table th:first-child,.quickbooks-table td:first-child{width:34px;min-width:34px;max-width:34px;padding-right:4px}.quickbooks-expand-button{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--solon-blue);cursor:pointer}.quickbooks-expand-button:hover:not(:disabled){background:#eef4fb}.quickbooks-expand-button:disabled{cursor:default;color:transparent}.quickbooks-client-row td{background:#f8fbff;font-weight:700}.quickbooks-project-row td:nth-child(3){padding-left:26px}.quickbooks-project-row td:nth-child(3):before{content:"";display:inline-block;width:9px;height:1px;margin-right:8px;vertical-align:middle;background:var(--border-strong)}.quickbooks-help-card ol{margin:8px 0 12px;padding-left:20px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-toolbar-left,.calendar-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-toolbar-actions{margin-left:auto;justify-content:flex-end}.calendar-today-button{min-height:34px;padding-inline:10px}.calendar-range-title{min-height:34px;display:inline-flex;align-items:center;gap:8px;color:var(--solon-blue);font-size:1rem;font-weight:850}.calendar-delete-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 0;padding:8px 10px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7;color:#7a271a;font-size:.82rem;font-weight:750}.calendar-delete-mode-banner strong{color:var(--danger);white-space:nowrap}.segmented-control{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:8px;background:#fff}.segmented-control-button{min-height:28px;margin:0;padding:5px 9px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:800}.segmented-control-button:hover{color:var(--solon-blue);background:#eef4fb}.segmented-control-button--active{color:#fff;background:var(--solon-blue)}.segmented-control-button--active:hover{color:#fff;background:#0b3d91}.calendar-grid-shell{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.calendar-weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-grid-shell--week .calendar-weekday-row,.calendar-grid-shell--week .calendar-grid{grid-template-columns:54px repeat(7,minmax(0,1fr))}.calendar-grid-shell--workweek .calendar-weekday-row,.calendar-grid-shell--workweek .calendar-grid{grid-template-columns:54px repeat(5,minmax(0,1fr))}.calendar-grid-shell--day .calendar-weekday-row,.calendar-grid-shell--day .calendar-grid{grid-template-columns:54px minmax(0,1fr)}.calendar-weekday-cell{padding:7px 9px;border-right:1px solid #e9eef6;border-bottom:1px solid var(--border);background:#f8fbff;color:#475467;font-size:.75rem;font-weight:850;text-transform:uppercase}.calendar-weekday-cell:last-child{border-right:0}.calendar-time-gutter-header{border-right:1px solid #e9eef6;border-bottom:1px solid var(--border);background:#f8fbff}.calendar-day-cell{min-height:135px;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:7px;border-right:1px solid #e9eef6;border-bottom:1px solid #e9eef6;background:#fff}.calendar-grid-shell--week .calendar-day-cell,.calendar-grid-shell--workweek .calendar-day-cell,.calendar-grid-shell--day .calendar-day-cell{min-height:660px}.calendar-day-cell:nth-child(7n){border-right:0}.calendar-grid-shell--workweek .calendar-day-cell:nth-child(5n),.calendar-grid-shell--day .calendar-day-cell{border-right:0}.calendar-day-cell--muted{background:#fbfcfe}.calendar-day-cell--muted .calendar-day-number{color:#98a2b3}.calendar-day-cell--today{background:#fffdf5;box-shadow:inset 0 0 0 1px #ffb81c8c}.calendar-day-number{color:var(--solon-blue);font-size:.8rem;font-weight:850;line-height:1}.calendar-visit-list{position:relative;z-index:1;display:grid;align-content:start;gap:4px;min-width:0}.calendar-visit-list--timed{position:absolute;inset:28px 7px 8px;display:block}.calendar-visit-list--timed .calendar-visit-pill{position:absolute;left:0;right:0;width:auto;min-height:0;padding:3px 5px;border-radius:4px;align-content:start;overflow:hidden}.calendar-visit-pill{width:100%;min-height:26px;margin:0;padding:4px 6px;border:1px solid #c7d7f2;border-left:3px solid var(--solon-blue);border-radius:4px;background:#f8fbff;color:var(--text);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:5px;text-align:left;font-size:.74rem;font-weight:750;line-height:1.1;box-shadow:none}.calendar-visit-pill:hover:not(:disabled){background:#eef4fb;border-color:#b8ccef}.calendar-visit-pill:active:not(:disabled){transform:translateY(1px)}.calendar-visit-pill--delete-mode{cursor:pointer}.calendar-visit-pill--delete-mode:hover:not(:disabled){background:#fff1f0;border-color:#fda29b}.calendar-visit-pill--resizing{cursor:ns-resize;box-shadow:inset 0 0 0 1px #0c4a942e}.calendar-visit-pill--selected-for-delete{background:#fff1f0;border-color:#fda29b;border-left-color:var(--danger);box-shadow:inset 0 0 0 1px #b423182e}.calendar-visit-pill--selected-for-delete .calendar-visit-time{color:var(--danger)}.calendar-visit-time{color:var(--solon-blue);font-weight:900;white-space:nowrap}.calendar-visit-main{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.calendar-visit-resize-handle{position:absolute;left:0;right:0;z-index:3;height:8px;cursor:ns-resize;touch-action:none}.calendar-visit-resize-handle:after{content:"";position:absolute;left:50%;width:24px;height:2px;border-radius:999px;background:#0c4a94b8;opacity:0;transform:translate(-50%);transition:opacity .12s ease}.calendar-visit-resize-handle--top{top:0}.calendar-visit-resize-handle--top:after{top:2px}.calendar-visit-resize-handle--bottom{bottom:0}.calendar-visit-resize-handle--bottom:after{bottom:2px}.calendar-visit-pill:hover .calendar-visit-resize-handle:after,.calendar-visit-pill--resizing .calendar-visit-resize-handle:after{opacity:1}.calendar-hour-guide{position:absolute;inset:28px 0 8px;z-index:0;pointer-events:none}.calendar-time-gutter{position:relative;min-height:660px;border-right:1px solid #e9eef6;border-bottom:1px solid #e9eef6;background:#fff}.calendar-hour-guide-row{position:absolute;left:0;right:0;height:0;border-top:1px solid rgba(203,213,225,.72)}.calendar-hour-guide-row span{position:absolute;top:-7px;left:6px;padding-right:4px;background:#ffffffd1;color:#98a2b3;font-size:.66rem;font-weight:800;line-height:1}.timesheet-entry-modal{width:min(1320px,calc(100vw - 32px));max-width:min(1320px,calc(100vw - 32px))}.timesheet-entry-assignment-grid,.timesheet-entry-cost-grid{display:grid;gap:10px;align-items:end}.timesheet-entry-modal .field{grid-column:auto;min-width:0}.timesheet-entry-assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.timesheet-entry-cost-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.timesheet-hours-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;align-items:end}.timesheet-hours-grid .field{grid-column:auto;min-width:0}.timesheet-hours-grid input{width:100%;min-width:0;text-align:right}.timesheet-entry-total-field input{font-weight:850}.timesheet-entries-section{min-width:0;max-width:100%}.timesheet-entries-table-shell{width:100%;max-width:100%;overflow-x:auto}.timesheet-entries-table th,.timesheet-entries-table td{white-space:nowrap}.timesheet-entries-table{table-layout:fixed}.timesheet-entries-table th:nth-child(1),.timesheet-entries-table td:nth-child(1){width:13%}.timesheet-entries-table th:nth-child(2),.timesheet-entries-table td:nth-child(2){width:17%;max-width:0;overflow:hidden;text-overflow:ellipsis}.timesheet-entries-table th:nth-child(3),.timesheet-entries-table td:nth-child(3){width:10%}.timesheet-entries-table th:nth-child(4),.timesheet-entries-table td:nth-child(4){width:14%;max-width:0;overflow:hidden;text-overflow:ellipsis}.timesheet-entries-table th:nth-child(n+5),.timesheet-entries-table td:nth-child(n+5){width:4%;text-align:right}.timesheet-entries-table .timesheet-entry-delete-cell{text-align:center}.timesheet-entries-table tfoot td{background:#f8fbff;border-top:1px solid var(--line);color:var(--solon-blue);font-weight:850}.timesheet-entries-table tfoot .timesheet-total-label{text-align:left}.timesheet-entries-table tfoot .timesheet-total-cell{text-align:right}.issue-count-link{min-width:26px;min-height:24px;margin:0;padding:2px 7px;border:1px solid transparent;border-radius:999px;background:#eef4fb;color:var(--solon-blue);font-size:.78rem;font-weight:900;line-height:1}.issue-count-link:hover{border-color:var(--solon-blue);background:#fff}.user-guide-page{display:grid;gap:16px}.guide-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.guide-intro h2{margin:4px 0 6px;color:var(--solon-blue);font-size:1.35rem;font-weight:900}.guide-intro p,.guide-section-card p{margin:0;color:#475467;font-size:.91rem;font-weight:650}.guide-intro svg,.guide-section-header svg{flex:0 0 auto;color:var(--solon-blue)}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:16px}.guide-section-list{display:grid;gap:16px}.guide-section-card{display:grid;gap:12px}.guide-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.guide-section-header h3{margin:2px 0 0}.guide-eyebrow{display:inline-flex;color:#475467;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.guide-link-list{display:grid;gap:8px}.guide-link-row{display:grid;grid-template-columns:minmax(130px,.28fr) minmax(0,1fr);gap:12px;padding:10px 12px;border:1px solid #dbe6f6;border-radius:8px;background:#f8fbff;color:var(--text)}.guide-link-row:hover{border-color:var(--solon-gold);background:#fffdf5}.guide-link-row strong{color:var(--solon-blue);font-size:.88rem;font-weight:900}.guide-link-row span,.guide-answer span,.guide-note span{color:#475467;font-size:.84rem;font-weight:650}.guide-quick-panel{position:sticky;top:calc(var(--sticky-header-offset) + 74px);display:grid;gap:14px}.guide-answer-list{display:grid;gap:10px}.guide-answer{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid #e4ebf5}.guide-answer:last-child{padding-bottom:0;border-bottom:0}.guide-answer strong{color:var(--solon-blue);font-size:.86rem;font-weight:900}.guide-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:11px;border-radius:8px;background:#f0fdf4;color:var(--success)}.customer-portal-page{display:grid;gap:10px}.customer-portal-tab-row{min-width:0;margin-top:10px}.customer-portal-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px;border:1px solid var(--border);border-radius:999px;background:#fff;box-shadow:0 10px 22px #09296c0f}.customer-portal-client-viewer{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem;font-weight:850}.customer-portal-client-viewer--preview{color:var(--danger)}.customer-portal-client-viewer select{min-width:230px;height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font-size:.82rem;font-weight:800}.customer-portal-client-viewer--preview select{color:var(--danger);border-color:#fda29b;background:#fff7f7}.customer-portal-revert-button{min-height:34px;padding:7px 10px;color:var(--danger);border-color:#fda29b;background:#fff}.customer-portal-revert-button:hover:not(:disabled){background:#fff1f0}.customer-portal-report-stack,.customer-portal-report-section{display:grid;gap:14px;min-width:0}.customer-portal-report-section h2{margin:0 0 -2px;color:var(--solon-blue);font-size:1rem;font-weight:850}.customer-portal-site-visits-calendar{margin-top:0}.customer-portal-tab{min-height:28px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:4px 11px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-family:inherit;font-size:14px;font-weight:700;line-height:1.15;text-decoration:none}.customer-portal-request-service-tab{color:var(--solon-blue);background:#ffb81c3d;white-space:nowrap}.customer-portal-request-service-tab--solo{margin-left:auto}.customer-portal-tab:hover,.customer-portal-tab--active{color:var(--solon-blue);background:#eef4fb}.customer-portal-request-service-tab:hover{color:var(--solon-blue);background:#ffb81c61}.customer-portal-dashboard{display:grid;gap:16px}.customer-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.customer-summary-card,.customer-portal-card,.customer-record-card,.customer-list-card{border:1px solid var(--border);border-top:3px solid var(--solon-gold);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.customer-summary-card{display:grid;gap:7px;padding:16px;min-height:122px}.customer-summary-card div{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--solon-blue);background:#eef4fb}.customer-summary-card span{color:var(--muted);font-size:.8rem;font-weight:800}.customer-summary-card strong{color:var(--solon-blue);font-size:2rem;font-weight:900;line-height:1}.customer-portal-card{padding:18px}.customer-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.customer-section-heading h2,.customer-record-card h2,.customer-list-card h2{margin:0;color:var(--solon-blue);font-size:1.1rem;font-weight:900}.customer-section-heading span{color:var(--muted);font-size:.82rem;font-weight:800}.customer-ticket-status-list{display:grid;gap:12px}.customer-ticket-status-row{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);align-items:center;gap:14px}.customer-ticket-status-row div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:.86rem;font-weight:850}.customer-ticket-status-row div:first-child span{color:var(--solon-blue)}.customer-ticket-status-track{height:10px;overflow:hidden;border-radius:999px;background:#eef4fb}.customer-ticket-status-track span{display:block;height:100%;border-radius:inherit;background:var(--solon-blue)}.customer-activity-list,.customer-list,.customer-card-grid{display:grid;gap:12px}.customer-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-activity-item,.customer-list-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:18px;align-items:start}.customer-activity-item{grid-template-columns:auto minmax(0,1fr);padding:12px 0;border-top:1px solid var(--border)}.customer-activity-item:first-child{border-top:0}.customer-activity-item strong,.customer-list-card strong{color:var(--text)}.customer-activity-item p,.customer-list-card p,.customer-record-card span{margin:4px 0 0;color:var(--muted);font-size:.84rem;font-weight:650}.customer-record-card,.customer-list-card{padding:16px}.customer-record-card__header{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;color:var(--solon-blue)}.customer-list-card__main{display:grid;justify-items:start;gap:8px;min-width:0}.customer-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;color:var(--solon-blue);border:1px solid #c7d7f2;background:#eef4fb;font-size:.74rem;font-weight:900}.customer-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}.customer-field-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.customer-field-grid div{min-width:0}.customer-field-grid dt{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.customer-field-grid dd{margin:3px 0 0;color:var(--text);font-size:.88rem;font-weight:750;overflow-wrap:anywhere}.customer-link-button{width:max-content;display:inline-flex;align-items:center;gap:7px;min-height:32px;margin-top:14px;padding:6px 10px;border-radius:7px;color:#fff;background:var(--solon-blue);font-size:.82rem;font-weight:850}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.report-toolbar-left,.report-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.report-toolbar-left{justify-content:flex-start;flex:1 1 auto;flex-wrap:nowrap;min-width:0}.report-view-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}.report-toolbar-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.report-template-select{width:180px;height:34px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;color:var(--text);font-size:.82rem;font-weight:750;padding:0 30px 0 10px}.report-save-state-button{color:var(--success);border:1px solid #abefc6;background:#ecfdf3}.report-save-state-button:hover{background:#dcfae6}.report-manager-list{display:grid;gap:8px}.report-manager-row{display:grid;grid-template-columns:auto minmax(220px,360px) auto minmax(0,1fr);align-items:center;gap:10px;padding:8px;border:1px solid #e5edf7;border-radius:8px;background:#fff}.report-manager-order-actions{display:inline-flex;align-items:center;gap:4px}.report-manager-order-actions .icon-button,.report-manager-delete-button{width:30px;height:30px;min-width:30px}.report-manager-name-field{grid-column:auto;min-width:0}.report-manager-name-field input{width:100%}.report-manager-default-control{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-size:.84rem;font-weight:800;white-space:nowrap}.report-manager-delete-button{color:var(--danger);border-color:#fecaca}.report-manager-delete-button:hover:not(:disabled){background:#fef2f2}.confirm-delete-modal{width:min(440px,calc(100vw - 32px))}.confirm-delete-modal .modal-header{align-items:flex-start;gap:14px;padding-bottom:12px;border-bottom:1px solid #fee4e2}.confirm-delete-modal h3{color:var(--danger)}.confirm-delete-modal .modal-header p{margin:4px 0 0;color:var(--muted);font-size:.84rem;font-weight:650}.confirm-delete-body{display:grid;gap:14px;padding:16px}.confirm-delete-copy{margin:0;padding:12px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7;color:#7a271a;font-size:.88rem;font-weight:650;line-height:1.4}.confirm-delete-body .modal-actions{padding:0}.report-toolbar-actions .section-actions{gap:8px}.report-toolbar--loading{justify-content:flex-end}.search-input,input,select,textarea{min-height:32px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;color:var(--text);padding:6px 10px;outline:none}.search-input{width:min(340px,100%);flex:0 1 340px;min-width:180px}textarea{resize:vertical;line-height:1.4}select[multiple]{min-height:110px}input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:14px;padding:0;accent-color:var(--solon-blue)}.readonly-value{min-height:32px;display:block;border:1px solid #d1d8e4;border-radius:6px;background:#f3f5f8;padding:6px 10px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font-weight:500;line-height:1.35}.readonly-value--empty{color:var(--muted)}.readonly-value--media{padding:8px}.file-link{color:var(--solon-blue);font-weight:750;text-decoration:underline;text-underline-offset:2px}.file-upload-control{display:grid;gap:7px;align-content:start;justify-items:start}.file-upload-current-file{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}.file-remove-button{width:24px;height:24px;border:1px solid rgba(220,38,38,.24);border-radius:999px;background:#fff;color:var(--danger);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file-remove-button:hover:not(:disabled){background:#fff5f5;border-color:#dc262675}.file-remove-button:disabled{cursor:not-allowed;opacity:.55}.file-list-upload-control em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:750}.uploaded-file-link-list{display:grid;gap:7px;min-width:0;max-width:100%}.uploaded-file-link-item{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}.uploaded-file-link-item .file-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploaded-image-thumbnail-list{display:flex;flex-wrap:wrap;gap:8px}.uploaded-image-thumbnail-item{position:relative;display:inline-flex}.uploaded-image-thumbnail{display:block;width:82px;height:82px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff}.uploaded-image-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.uploaded-image-remove-button{position:absolute;top:-7px;right:-7px;box-shadow:0 4px 10px #10182829}.upload-action-row{display:inline-flex;align-items:center;gap:8px;max-width:100%}.upload-progress{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.76rem;font-weight:750;line-height:1}.upload-progress-ring{--upload-progress: 0%;width:17px;height:17px;display:inline-block;border-radius:999px;background:conic-gradient(var(--solon-blue) var(--upload-progress),#e2e8f0 0);position:relative}.upload-progress-ring:after{content:"";position:absolute;inset:4px;border-radius:inherit;background:#fff}.column-menu{position:relative}.column-menu summary{color:var(--solon-blue);list-style:none;cursor:pointer}.column-menu summary::-webkit-details-marker{display:none}.column-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:min(360px,calc(100vw - 40px));max-height:420px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 18px 48px #0f172a29}.column-menu-row{display:grid;grid-template-columns:18px auto minmax(0,1fr);align-items:center;gap:8px;padding:5px;border-radius:6px;cursor:grab}.column-menu-row:hover{background:var(--surface-soft)}.column-menu-row:active{cursor:grabbing}.column-menu-row--dragging{opacity:.55;background:#eef4fb}.column-menu-drag-handle{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.column-menu-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:650}.column-menu-actions{display:inline-flex;gap:4px}.table-shell{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - var(--sticky-header-offset, 72px) - 170px);border:1px solid var(--border);border-radius:8px}.data-table{border-collapse:collapse;table-layout:fixed}.row-actions-col{width:var(--row-actions-column-width, 92px)!important;min-width:var(--row-actions-column-width, 92px)!important;max-width:var(--row-actions-column-width, 92px)!important}.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid #e9eef6;text-align:left;vertical-align:top;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.data-table th{position:sticky;top:0;z-index:8;background:#f4f8ff;color:#475467;font-weight:600;text-transform:uppercase;letter-spacing:0;overflow:visible;font-size:.82rem}.data-table tbody tr:hover{background:#f8fbff}.data-table-total-row td{background:#f7f9fc;border-top:1px solid #d8e2ef;border-bottom:0;color:#344054;font-weight:700}.data-table-total-value{white-space:nowrap}.data-table-total-inline-label{display:inline-block;margin-right:8px;color:#667085;font-weight:600}.data-table-row--clickable{cursor:pointer}.data-table-row--clickable:focus-visible{outline:2px solid var(--solon-gold);outline-offset:-2px}.row-actions-column{width:var(--row-actions-column-width, 92px);min-width:var(--row-actions-column-width, 92px);max-width:var(--row-actions-column-width, 92px);border-right:1px solid #e1e8f2;resize:none!important;overflow:visible!important;text-overflow:clip!important}.row-actions-cell{width:var(--row-actions-column-width, 92px);min-width:var(--row-actions-column-width, 92px);max-width:var(--row-actions-column-width, 92px);border-right:1px solid #e1e8f2;padding:6px 7px!important;white-space:nowrap;overflow:visible!important;text-overflow:clip!important}.row-select-checkbox{width:13px!important;min-width:13px!important;height:13px!important;min-height:13px!important;margin:0 3px 0 0;transform:translateY(-2px);vertical-align:middle}.data-table-cell-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.row-action-button{width:22px;height:22px;display:inline-grid;place-items:center;margin:0;padding:0;border:0;border-radius:3px;background:transparent;color:var(--solon-blue);opacity:.72;text-decoration:none}.row-action-button:hover,.row-action-button:focus-visible{background:#eef4fb;opacity:1}.monitoring-status-link{opacity:1}.monitoring-status-dot{width:10px;height:10px;display:block;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 2px #fff,0 0 0 3px #94a3b859}.monitoring-status-link--good .monitoring-status-dot{background:#16a34a;box-shadow:0 0 0 2px #fff,0 0 0 3px #16a34a4d}.monitoring-status-link--bad .monitoring-status-dot{background:#dc2626;box-shadow:0 0 0 2px #fff,0 0 0 3px #dc262647}.editable-report-cell{cursor:text}.editable-report-cell--selected,.editable-report-cell--editing{box-shadow:inset 0 0 0 2px var(--solon-gold);background:#fffdf5}.editable-report-cell:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--solon-gold);background:#fffdf5}.inline-cell-editor-wrap{display:grid;gap:4px;width:100%;min-width:0;max-width:100%}.inline-cell-editor{width:100%;max-width:100%;min-width:0;min-height:28px;padding:4px 6px;border:0;border-radius:4px;background:#fff;color:var(--text);font-size:.86rem;font-weight:650}.inline-cell-editor--error{box-shadow:inset 0 0 0 1px var(--danger)}.inline-cell-error{color:var(--danger);font-size:.72rem;font-weight:750;line-height:1.15}.clickable-row,.sortable-column-header{cursor:pointer}.sortable-column-header:focus-visible{outline:2px solid rgba(9,41,108,.22);outline-offset:-2px}.table-heading-label{width:100%;color:inherit;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.18;text-align:left;font-weight:inherit;text-transform:inherit;-webkit-user-select:none;user-select:none}.table-heading-controls{min-height:28px;display:flex;align-items:center;padding-right:20px}.column-resize-handle{position:absolute;top:0;right:-4px;z-index:2;width:8px;height:100%;cursor:col-resize;touch-action:none}.column-resize-handle:after{content:"";position:absolute;top:8px;bottom:8px;left:3px;width:1px;background:transparent}.column-resize-handle:hover:after,.column-resize-active .column-resize-handle:after{background:var(--border-strong)}.column-resize-active{cursor:col-resize;-webkit-user-select:none;user-select:none}.column-filter-menu{position:absolute;top:50%;right:2px;transform:translateY(-50%);display:inline-flex}.column-filter-button{width:24px;height:24px;min-width:24px;margin:0;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#667085;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease,border-color .12s ease}.sortable-column-header:hover .column-filter-button,.sortable-column-header:focus-within .column-filter-button,.column-filter-button--active{opacity:1}.column-filter-button:hover,.column-filter-button--active{color:var(--solon-blue);border-color:var(--border);background:#fff}.column-filter-panel{position:absolute;top:calc(100% + 5px);right:0;z-index:95;min-width:196px;padding:5px;border:1px solid var(--border);border-radius:6px;background:#fff;box-shadow:0 14px 34px #0f172a2e;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.column-filter-panel--portal{position:fixed;right:auto;top:auto;z-index:110}.column-filter-panel input,.column-filter-panel select{width:100%;min-height:28px;padding:4px 6px;font-size:.82rem;text-transform:none}.column-filter-stack{display:grid;gap:4px}.column-filter-actions{display:flex;justify-content:space-between;gap:6px;padding-bottom:1px}.column-filter-actions button{appearance:none;border:0;background:transparent;color:var(--solon-blue);cursor:pointer;font-size:.78rem;font-weight:650;line-height:1;padding:2px 1px}.column-filter-actions button:hover{text-decoration:underline}.column-filter-option-list{max-height:180px;overflow:auto;display:grid;gap:0;padding:0}.column-filter-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:2px 4px;border-radius:4px;color:var(--text);font-size:.82rem;font-weight:650;line-height:1.1;text-transform:none}.column-filter-option input[type=checkbox]{width:13px;min-width:13px;height:13px;min-height:13px}.column-filter-option:hover{background:var(--surface-soft)}.column-filter-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-page{width:100%;max-width:1400px;margin-top:8px}.detail-layout-floating-button{position:fixed;right:18px;bottom:18px;z-index:45;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(9,41,108,.18);border-radius:999px;background:#fff;color:var(--solon-blue);box-shadow:0 10px 30px #0f172a29;cursor:pointer;transition:background .12s ease,box-shadow .12s ease,transform 80ms ease}.detail-layout-floating-button:hover{background:#f8fbff;box-shadow:0 14px 34px #0f172a33}.detail-layout-floating-button:active{transform:translateY(1px) scale(.98)}.feature-request-floating-button{position:fixed;bottom:18px;z-index:45;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(9,41,108,.18);border-radius:999px;background:#fff;color:var(--solon-blue);box-shadow:0 10px 30px #0f172a29;cursor:pointer;transition:background .12s ease,box-shadow .12s ease,transform 80ms ease}.feature-request-floating-button:hover{background:#f8fbff;box-shadow:0 14px 34px #0f172a33}.feature-request-floating-button:active{transform:translateY(1px) scale(.98)}.detail-status-card{max-width:1180px}.detail-action-row{position:sticky;top:calc(var(--sticky-header-offset) + 2px);z-index:36;width:100%;max-width:1400px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;margin-top:-2px;margin-bottom:0;background:transparent}.detail-action-group{min-width:0;display:flex;align-items:center;gap:4px}.detail-action-group--navigation{margin-left:auto}.detail-action-label{display:none}.detail-action-row .icon-button{width:28px;height:28px;min-width:28px;color:var(--solon-blue);border:0;border-radius:4px;background:transparent}.detail-action-row .icon-button:hover:not(:disabled){color:#0b3d91;background:transparent}.detail-action-row .icon-button:focus-visible{outline:2px solid rgba(9,41,108,.28);outline-offset:2px}.record-form{width:100%;max-width:1400px;display:grid;gap:14px;min-width:0}.app-shell--customer-sidebar-locked .detail-page,.app-shell--customer-sidebar-locked .detail-action-row,.app-shell--customer-sidebar-locked .record-form,.app-shell--customer-sidebar-locked .detail-status-card{max-width:none}.form-section{width:100%;min-width:0;max-width:100%;overflow-x:clip;padding:16px;border:1px solid var(--border);border-top:3px solid var(--solon-gold);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.form-section h3{margin:0 0 12px;color:var(--solon-blue);font-size:1.2rem;line-height:1.15}.form-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.form-section-title-row h3{flex:1 1 180px;margin-bottom:0}.form-section-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 1 auto;flex-wrap:wrap}.form-section-title-action{flex:0 0 auto}.form-section--collapsed h3{margin-bottom:0}.form-section-toggle{width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.form-section-toggle:hover{color:#0b3d91}.form-section-toggle:active{transform:none;box-shadow:none}.form-section-toggle-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;line-height:0}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.record-form--monitoringQuotes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.record-form--monitoringQuotes>.form-section:not(.form-section--half){grid-column:1 / -1}.record-form--monitoringQuotes>.form-section--half:has(#monitoringquotes-hardware-inputs-body){grid-column:1;grid-row:span 2}.record-form--monitoringQuotes>.form-section--half:has(#monitoringquotes-software-inputs-body){grid-column:2}.record-form--monitoringQuotes>.form-section--half:has(#monitoringquotes-labor-inputs-body){grid-column:2}.form-grid--inline-labels{grid-template-columns:minmax(0,1fr);gap:8px}.service-ticket-ai-summary-action{display:grid;justify-items:start;gap:6px}.field{display:grid;grid-column:span 2;align-content:start;gap:3px;min-width:0;color:#344054;font-size:.86rem;font-weight:750;line-height:1.15}.field>input:not([type=checkbox]),.field>select,.field>textarea,.field>.readonly-value{min-width:0;max-width:100%}.form-section--inline-labels .field,.form-section--inline-labels .field--quarter,.form-section--inline-labels .field--wide,.form-section--inline-labels .field--row-start{grid-column:1 / -1;grid-template-columns:minmax(170px,1fr) minmax(142px,200px);align-items:center;gap:10px}.form-section--inline-labels .field>span{min-width:0}.form-section--inline-labels .field>input:not([type=checkbox]),.form-section--inline-labels .field>select,.form-section--inline-labels .field>.readonly-value{width:100%}.form-section--inline-labels .field>input[type=checkbox]{justify-self:start}.form-section--inline-labels .field em,.form-section--inline-labels .field-error{grid-column:2}.field--wide{grid-column:1 / -1}.field--quarter{grid-column:span 1}.field--row-start{grid-column-start:1}.field--quarter.field--row-start{grid-column:1 / span 1}.field--datetime-split{grid-column:span 2}.field--datetime-split.field--row-start{grid-column:1 / span 2}.field strong{color:var(--danger)}.field em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:600}.field-error{color:var(--danger)!important}.site-visit-datetime-input{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;min-width:0}.site-visit-datetime-input input[type=date]{width:100%}.site-visit-time-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}.site-visit-datetime-input input,.site-visit-datetime-input select{width:100%;min-width:0;padding-inline:7px}.record-form:has([aria-label=Hour]) .field:has(.site-visit-datetime-input){min-width:0}.record-form:has([aria-label=Hour]) .field:has(>input[type=checkbox]){grid-template-columns:minmax(0,1fr);justify-items:start;gap:8px}.record-form:has([aria-label=Hour]) .field:has(>input[type=checkbox]) input[type=checkbox]{margin:4px 0 0}.record-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.user-controls-grid{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.user-controls-status,.user-controls-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-controls-actions{justify-content:flex-end;margin-left:auto}.user-controls-note{color:var(--muted);font-size:.78rem;font-weight:700}.status-pill{min-height:26px;display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.76rem;font-weight:850;line-height:1}.status-pill--success{color:#05603a;border:1px solid #abefc6;background:#ecfdf3}.status-pill--danger{color:#912018;border:1px solid #fecaca;background:#fef2f2}.user-danger-button{color:var(--danger);border-color:#fecaca}.user-danger-button:hover:not(:disabled){color:#7f1d1d;background:#fef2f2}.user-reset-link-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;overflow-wrap:anywhere}.user-reset-link-panel span{min-width:0;font-size:.78rem;font-weight:700}.admin-settings-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-settings-card-header h2{margin:0;color:var(--solon-blue)}.admin-settings-card-header p{margin:4px 0 0;color:var(--muted);font-size:.84rem;font-weight:650}.notification-settings-list{display:grid;gap:16px}.notification-settings-group{display:grid;gap:10px;padding-top:16px;border-top:1px solid #e5edf7}.notification-settings-group:first-child{padding-top:0;border-top:0}.notification-settings-group-header{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:10px}.notification-settings-group-header svg{margin-top:2px;color:var(--solon-blue)}.notification-settings-group-header h3{margin:0;color:var(--text);font-size:.98rem}.notification-settings-group-header p{margin:3px 0 0;color:var(--muted);font-size:.82rem;font-weight:650}.notification-settings-group-header>span{color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.weekly-site-visit-notification-settings{display:grid;gap:10px;padding:12px;border:1px solid #d8e3f3;border-radius:6px;background:#f8fbff}.weekly-site-visit-notification-settings>div:first-child strong{display:block;color:var(--text);font-size:.88rem}.notification-user-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.notification-user-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;min-height:48px;padding:9px 10px;border:1px solid #d8e3f3;border-radius:6px;background:#fff}.notification-user-option--selected{border-color:#8aa8d6;background:#f5f9ff}.notification-user-option--disabled{background:#f8fafc;color:var(--muted)}.notification-user-option input{margin-top:3px}.notification-user-option strong,.notification-user-option em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-user-option strong{color:var(--text);font-size:.86rem}.notification-user-option em{margin-top:2px;color:var(--muted);font-size:.76rem;font-style:normal;font-weight:650}.notification-user-option--orphan{grid-template-columns:minmax(0,1fr) 30px;align-items:center;border-style:dashed}.notification-user-option--orphan .icon-button{width:28px;height:28px;min-width:28px}.sidebar-settings-list{display:grid;gap:12px}.sidebar-settings-item{display:grid;gap:8px;padding-top:12px;border-top:1px solid #e5edf7}.sidebar-settings-item:first-child{padding-top:0;border-top:0}.sidebar-settings-row{display:grid;grid-template-columns:46px 34px minmax(260px,1fr) auto;align-items:end;gap:10px;min-width:0}.sidebar-settings-row--main{align-items:center}.sidebar-settings-row--child{grid-template-columns:54px 34px minmax(260px,1fr) minmax(160px,220px) auto}.sidebar-settings-icon-button{align-self:center}.sidebar-settings-child-list{display:grid;gap:7px;padding-left:22px}.sidebar-settings-order{align-self:center;color:var(--muted);font-size:.8rem;font-weight:850;white-space:nowrap}.sidebar-settings-name-field,.sidebar-settings-group-field{grid-column:auto;min-width:0}.sidebar-settings-name-field input,.sidebar-settings-group-field select{width:100%}.sidebar-icon-picker{width:min(760px,100%)}.sidebar-icon-search{position:relative;margin-bottom:12px}.sidebar-icon-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.sidebar-icon-search input{width:100%;padding-left:34px}.sidebar-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;max-height:min(480px,58vh);overflow:auto;padding-right:4px}.sidebar-icon-option{min-width:0;min-height:38px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 8px;cursor:pointer}.sidebar-icon-option:hover{border-color:#b8c8df;background:var(--surface-soft)}.sidebar-icon-option--selected{border-color:var(--solon-blue);background:#eef4fb;color:var(--solon-blue)}.sidebar-settings-type,.sidebar-settings-route{align-self:center;min-width:0;color:var(--muted);font-size:.78rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-settings-type{text-transform:uppercase}.sidebar-settings-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px}.sidebar-settings-actions .icon-button{width:30px;height:30px;min-width:30px}.my-settings-favorites{display:grid;gap:16px}.my-settings-add-row{display:flex;align-items:end;gap:10px;max-width:520px}.my-settings-add-select{flex:1 1 auto;min-width:260px}.my-settings-add-select select{width:100%}.my-settings-favorites-list{max-width:760px}.my-settings-favorite-row{grid-template-columns:46px 34px minmax(220px,1fr) auto;padding:8px 0;border-top:1px solid #e5edf7}.my-settings-favorite-row:first-child{border-top:0}.my-settings-favorite-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--solon-blue)}.my-settings-favorite-label{align-self:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:750}.monitoring-assembly-drivers-header,.site-equipment-header,.site-inverters-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.monitoring-assembly-drivers-header h3,.site-equipment-header h3,.site-inverters-header h3{margin:0}.site-equipment-collapsible-heading{flex:1 1 auto;min-width:0}.site-equipment-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 auto}.site-equipment-add-button,.site-inverters-add-button{width:24px;height:24px;min-width:24px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--solon-blue);display:inline-flex;align-items:center;justify-content:center;line-height:1}.site-equipment-add-button:hover:not(:disabled),.site-inverters-add-button:hover:not(:disabled){color:#0b3d91}.site-equipment-add-button:active:not(:disabled),.site-inverters-add-button:active:not(:disabled){transform:translateY(1px)}.table-shell--compact{border:1px solid var(--border);border-radius:8px}.site-equipment-table,.site-inverters-table{min-width:1120px}.site-inverters-table th,.site-inverters-table td{vertical-align:middle}.site-inverters-table th.site-inverters-number-column,.site-inverters-table td.site-inverters-number-cell,.site-inverters-table th.site-inverters-status-column,.site-inverters-table td.site-inverters-status-cell{padding-left:4px;padding-right:4px;text-align:center;vertical-align:middle}.site-inverters-table th.site-inverters-number-column .subtable-sort-button{justify-content:center;padding-right:0}.site-inverters-table th.site-inverters-number-column .table-heading-label{text-align:center}.site-inverters-table td.site-inverters-number-cell{line-height:1;font-variant-numeric:tabular-nums}.site-inverters-table th.site-inverters-status-column .subtable-sort-button{min-height:0;padding:0}.site-inverter-status-light{display:inline-block;width:8px;height:8px;border-radius:9999px;vertical-align:middle}.site-service-tickets-table,.person-assignments-table{min-width:760px}.monitoring-assembly-drivers-table{min-width:520px}.material-costs-table{min-width:640px}.rental-equipment-costs-table{min-width:720px}.monitoring-assembly-driver-action-column,.material-cost-action-column,.rental-equipment-cost-action-column{width:36px;max-width:36px;text-align:center}.person-assignment-action-column{width:82px;max-width:82px;text-align:center}.person-assignment-actions{display:flex;align-items:center;justify-content:center;gap:6px}.person-assignment-action-button,.person-assignment-delete-button{width:26px;height:26px;min-width:26px}.person-assignment-delete-button{border:1px solid #fecaca;background:#fff7f7;color:var(--danger)}.person-assignment-delete-spinner{width:12px;height:12px;border:2px solid #fecaca;border-top-color:var(--danger);border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.monitoring-assembly-driver-form{display:grid;grid-template-columns:minmax(180px,260px) minmax(120px,180px) auto;align-items:end;gap:8px;margin-bottom:12px;padding:8px 10px;border-radius:6px;background:#f8fbff}.material-cost-form{grid-template-columns:minmax(150px,190px) minmax(130px,170px) minmax(130px,170px) minmax(160px,200px) auto}.rental-equipment-cost-form{grid-template-columns:minmax(150px,190px) minmax(130px,170px) minmax(130px,170px) minmax(170px,220px) auto}.monitoring-assembly-driver-form .error-panel{grid-column:1 / -1}.monitoring-assembly-driver-form .field{min-width:0;grid-column:auto;gap:4px;font-size:.82rem}.monitoring-assembly-driver-form .field input,.monitoring-assembly-driver-form .field select{width:100%;min-width:0;min-height:32px;padding:6px 8px;font-size:.82rem}.monitoring-assembly-driver-actions{display:inline-flex;align-items:center;gap:4px;padding-bottom:1px}.person-assignment-form-grid{align-items:end}.person-notification-field{grid-column:span 1;justify-items:start}.quote-line-items-table{min-width:1180px}.quote-line-items-shell{overflow-x:auto;overflow-y:visible}.quote-line-items-desktop{display:block}.quote-line-items-mobile{display:none}.quote-line-item-row td{vertical-align:middle}.quote-delete-cell{width:22px;text-align:center}.quote-delete-button{width:18px;height:18px;min-width:18px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--danger);display:inline-flex;align-items:center;justify-content:center;opacity:.72}.quote-delete-button--subitem{width:16px;height:16px;min-width:16px}.quote-delete-button:hover:not(:disabled){background:#b4231814;opacity:1}.quote-delete-button:active:not(:disabled){transform:translateY(1px)}.quote-line-item-toggle{width:22px;height:22px;min-width:22px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--solon-blue);display:inline-flex;align-items:center;justify-content:center}.quote-line-item-toggle:hover:not(:disabled){color:#0b3d91;background:#eef4fb}.quote-line-item-action-cell{width:98px;text-align:right}.quote-line-item-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.quote-line-item-add-menu{position:relative;display:inline-flex;z-index:20}.quote-override-button{width:22px;height:22px;min-width:22px;margin:0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--solon-blue);display:inline-flex;align-items:center;justify-content:center}.quote-override-button:hover:not(:disabled){background:#eef4fb}.quote-override-button--active{background:#dcfae6;color:var(--success)}.quote-override-button--active:hover:not(:disabled){background:#c8f7d6}.quote-line-item-optional{display:inline-flex;align-items:center;justify-content:center;min-height:22px}.quote-line-item-name-input{width:min(220px,100%);min-height:30px;padding:5px 8px;font-weight:800}.quote-cost-type-menu{position:absolute;top:auto;bottom:calc(100% + 5px);right:0;z-index:2000;width:170px;padding:5px;border:1px solid var(--border);border-radius:6px;background:#fff;box-shadow:0 12px 30px #0f172a29}.quote-cost-type-menu--portal{position:absolute;bottom:auto;right:auto;z-index:10000;transform:translate(-100%,-100%)}.quote-cost-type-menu button{width:100%;min-height:30px;padding:6px 8px;border:0;border-radius:4px;background:transparent;color:var(--text);font-size:.82rem;font-weight:750;text-align:left}.quote-cost-type-menu button:hover{background:#eef4fb}.quote-cost-item-row td{background:#fff8f6!important;color:var(--muted)}.quote-cost-item-row--editable td{cursor:pointer}.quote-cost-item-row--editable:hover td,.quote-cost-item-row:focus-visible td,.quote-cost-item-row--active td{background:#fff0ec!important}.quote-cost-item-type{display:inline-flex;margin-right:8px;color:var(--solon-blue);font-weight:850}.quote-cost-item-row strong{color:var(--text)}.quote-inline-form{display:grid;grid-template-columns:minmax(220px,420px) auto;align-items:end;gap:10px;margin-bottom:12px}.quote-inline-form .field{grid-column:auto;min-width:0}.quote-inline-form .field input{width:100%;min-width:0}.quote-line-item-create{width:clamp(260px,25%,420px);grid-template-columns:minmax(0,1fr) 28px}.quote-inline-save-button{align-self:end;width:28px;height:28px;min-width:28px;color:var(--solon-blue);border:0;background:transparent}.quote-inline-save-button:hover:not(:disabled){color:#0b3d91;background:transparent}.quote-inline-save-button:active:not(:disabled){box-shadow:none}.quote-cost-form-row td{background:#f8fbff!important}.quote-cost-form{display:grid;gap:6px;padding:8px 10px 6px;border:0;border-radius:6px;background:#f8fbff}.quote-cost-form-grid{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.quote-cost-form-grid .field{flex:1 1 130px;min-width:0;gap:4px;font-size:.78rem}.quote-cost-form-grid .field--wide,.quote-cost-form-grid .quote-cost-field--description{grid-column:auto}.quote-cost-form-grid .field input,.quote-cost-form-grid .field select{width:100%;min-width:0;min-height:32px;padding:6px 8px;font-size:.82rem}.quote-cost-form-grid .quote-cost-field--name{flex:2 1 220px}.quote-cost-form-grid .quote-cost-field--small{flex:0 0 104px}.quote-cost-form-grid .quote-cost-field--money{flex:0 0 150px}.quote-cost-form-grid .quote-cost-field--description{flex:2 1 260px}.quote-cost-form-grid--lump-sum .quote-cost-field--description{flex:2 1 320px}.quote-lump-sum-toggle{display:inline-flex;align-items:center;gap:6px;color:#344054;font-size:.82rem;font-weight:750}.quote-lump-sum-toggle--inline{align-self:end;flex:0 0 auto;min-height:32px;padding:0 2px}.quote-rate-reference{flex:1 1 180px;min-width:160px;align-self:end;min-height:32px;display:flex;align-items:center;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--muted);font-size:.78rem;font-weight:750}.quote-cost-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:26px}.quote-cost-preview{margin-right:auto;color:var(--solon-blue);font-weight:850}.quote-cost-action-button{width:26px;height:26px;min-width:26px;color:var(--solon-blue);border:0;background:transparent}.quote-cost-action-button--cancel{color:var(--muted)}.quote-cost-action-button:hover:not(:disabled){color:#0b3d91;background:transparent}.quote-cost-action-button--cancel:hover:not(:disabled){color:var(--danger)}.quote-cost-action-button:active:not(:disabled){box-shadow:none}.quote-line-items-table tfoot td{background:#f8fbff;color:var(--solon-blue);font-weight:850}.site-misc-equipment-table{min-width:780px}.site-equipment-reference-section{gap:10px}.site-equipment-reference-section h4{margin:0 0 10px;color:var(--solon-blue);font-size:1rem;line-height:1.15}.site-equipment-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.site-equipment-reference-grid div{display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.site-equipment-reference-grid span{color:var(--muted);font-size:.76rem;font-weight:750}.site-equipment-reference-grid strong{color:var(--text);font-size:.88rem}.form-section .data-table td{font-size:.82rem;background:#fff}.form-section .data-table th{background:#f8fbff}.form-section .data-table tbody tr:hover td{background:#eef4fb}.inspection-equipment-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px;color:var(--muted);font-size:.86rem}.inspection-device-list{display:grid;border:1px solid var(--border);border-radius:8px;overflow:hidden}.inspection-device-list-row{display:grid;grid-template-columns:24px 120px minmax(180px,1fr) minmax(140px,.75fr);gap:10px;align-items:center;min-height:38px;padding:7px 10px;border-bottom:1px solid #e8eef6;background:#fff;font-size:.86rem}.inspection-device-list-row:last-child{border-bottom:0}.inspection-device-list-row--saved{background:#f8fbff}.inspection-device-list-row input{width:15px;height:15px;margin:0}.inspection-device-list-row__type{color:var(--muted);font-size:.78rem;font-weight:750;text-transform:uppercase}.inspection-device-list-row strong{color:var(--solon-blue);line-height:1.2}.inspection-device-list-row>span:last-child{color:var(--muted);line-height:1.2}.inspection-device-setup{display:grid;gap:14px}.inspection-device-setup-list,.inspection-custom-inspection-list{display:grid;border:1px solid var(--border);border-radius:8px;overflow:hidden}.inspection-device-setup-row{display:grid;grid-template-columns:24px minmax(92px,.28fr) minmax(220px,1fr) minmax(210px,.85fr);gap:10px;align-items:center;min-height:46px;padding:8px 10px;border-bottom:1px solid #e8eef6;background:#fff;font-size:.86rem}.inspection-device-setup-row:last-child{border-bottom:0}.inspection-device-setup-row--header{min-height:38px;background:#f8fbff;color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase}.inspection-device-setup-row--selected{background:#f8fbff}.inspection-device-setup-row input[type=checkbox]{width:16px;height:16px;margin:0}.inspection-device-setup-row select{min-width:0;width:100%}.inspection-device-setup-row__equipment{display:grid;gap:2px;min-width:0}.inspection-device-setup-row__equipment strong{color:var(--solon-blue);line-height:1.2;overflow-wrap:anywhere}.inspection-device-setup-row__equipment span,.inspection-device-setup-row__empty{color:var(--muted);line-height:1.2}.inspection-additional-inspections{display:grid;gap:10px}.inspection-additional-inspections__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.inspection-additional-inspections__header h4{margin:0;color:var(--solon-blue);font-size:.94rem}.inspection-custom-inspection-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1fr) auto;gap:10px;align-items:end;padding:10px;border-bottom:1px solid #e8eef6;background:#fff}.inspection-custom-inspection-row:last-child{border-bottom:0}.inspection-reset-progress-modal{width:min(560px,calc(100vw - 32px));display:grid;gap:0;border:1px solid var(--border);border-top:4px solid var(--solon-orange);border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a47;overflow:hidden}.inspection-reset-progress-modal .modal-header{align-items:flex-start}.inspection-reset-progress-modal .modal-header h3{color:var(--solon-blue)}.inspection-reset-progress-modal__body{padding:16px}.inspection-reset-progress-modal__body p{margin:0;padding:12px;border:1px solid #ffd580;border-radius:8px;background:#fff7e4;color:#7a4d00;font-size:.9rem;font-weight:750;line-height:1.4}.inspection-reset-progress-modal__actions{padding:0 16px 16px}.inspection-workflow-launch{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}.inspection-workflow-launch p{margin:4px 0 0;color:var(--muted);line-height:1.4}.inspection-template-selection-header,.inspection-template-builder-header,.inspection-template-step-builder__header,.inspection-template-inputs__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.inspection-template-builder-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inspection-template-selection-header h3,.inspection-template-builder-header h3,.inspection-template-inputs__header h4{margin:0}.inspection-template-selection-header span{color:var(--muted);font-size:.82rem;font-weight:750}.inspection-template-selection-list,.inspection-template-step-list,.inspection-template-input-list{display:grid;gap:10px}.inspection-template-selection-list{margin-top:12px}.inspection-template-selection-row{display:grid;grid-template-columns:24px minmax(92px,.35fr) minmax(180px,1fr) minmax(150px,.6fr) minmax(62px,auto) 22px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-size:.86rem}.inspection-template-selection-row--selected{border-color:#9bb9e0;background:#f8fbff}.inspection-template-selection-row input{width:16px;height:16px;margin:0}.inspection-template-selection-row__type{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.inspection-template-selection-row strong{min-width:0;color:var(--solon-blue);line-height:1.2;overflow-wrap:anywhere}.inspection-template-builder-section{gap:12px}.inspection-template-step-list{gap:18px;margin-top:10px}.inspection-template-step-builder{display:grid;gap:14px;padding:14px 0 18px;border:0;border-top:3px solid var(--solon-gold);border-radius:0;background:transparent}.inspection-template-step-builder__header{padding-bottom:0}.inspection-template-step-builder__header strong{color:var(--solon-blue);font-size:.98rem}.inspection-template-step-builder__actions,.inspection-template-input-row__actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.inspection-template-step-main-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1fr);gap:12px}.inspection-template-step-settings-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.inspection-template-step-main-row>.field,.inspection-template-step-settings-row>.field,.inspection-template-input-row>.field,.inspection-template-input-contingency-row>.field{grid-column:auto}.inspection-template-step-settings-row>.field:last-child{grid-column:span 2}.inspection-template-toggle{display:flex;align-items:center;gap:8px;min-height:38px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text);font-size:.84rem;font-weight:750}.inspection-template-toggle--compact{align-self:center;min-height:36px}.inspection-template-toggle input{width:16px;height:16px;margin:0}.inspection-template-inputs{display:grid;gap:10px;padding-top:12px;border-top:1px solid #e8eef6}.inspection-template-inputs__header h4{color:var(--solon-blue);font-size:.94rem}.inspection-template-builder-empty{padding:10px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:.84rem;font-weight:650}.inspection-template-input-row{display:grid;grid-template-columns:22px minmax(190px,1.2fr) minmax(120px,.75fr) minmax(80px,.5fr) minmax(132px,.8fr) minmax(92px,.55fr) minmax(94px,.55fr) minmax(148px,auto);align-items:end;gap:10px;padding:0}.inspection-template-input-row-number{align-self:center;justify-self:center;color:var(--muted);font-size:.78rem;font-weight:850;line-height:1}.inspection-template-input-row__actions{grid-column:8;align-self:end;min-width:148px}.inspection-template-input-item{display:grid;gap:8px;padding:0 0 10px;border-bottom:1px solid #dce6f2}.inspection-template-input-item:last-child{padding-bottom:0;border-bottom:0}.inspection-template-input-options{grid-column:1 / -1;max-width:none}.inspection-template-label-with-tooltip{display:inline-flex;align-items:center;gap:5px}.inspection-template-tooltip{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);line-height:0}.inspection-template-input-contingency-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,.8fr) minmax(220px,1.1fr) minmax(140px,.8fr);gap:10px;align-items:end;padding-left:10px;border-left:3px solid #dce6f2}.inspection-template-contingency-values select[multiple]{min-height:38px}.inspection-template-input-modal{width:min(760px,100%)}.inspection-template-input-modal-body{display:grid;gap:14px;padding:16px;overflow-y:auto}.inspection-template-input-modal-grid .field{grid-column:span 1}.inspection-template-modal-options input{width:100%}.inspection-template-input-modal-actions{padding:12px 16px 16px;border-top:1px solid var(--border)}.inspection-custom-input-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.inspection-custom-input-row{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:16px;align-items:start}.inspection-custom-input-row>.field,.inspection-custom-input-row>.inspection-ppe-check{grid-column:span 1;min-width:0}.inspection-custom-input--new-row{grid-column:auto}.inspection-custom-checkbox{min-height:60px}.inspection-progress-ring{--inspection-progress: 0%;--inspection-progress-ring-size: 62px;--inspection-progress-ring-inset: 7px;--inspection-progress-ring-font-size: .9rem;width:var(--inspection-progress-ring-size);height:var(--inspection-progress-ring-size);display:grid;place-items:center;border-radius:999px;background:conic-gradient(var(--solon-blue) var(--inspection-progress),#e3ebf5 0);color:var(--solon-blue);font-weight:800;position:relative}.inspection-progress-ring:after{content:"";position:absolute;inset:var(--inspection-progress-ring-inset);border-radius:inherit;background:#fff}.inspection-progress-ring span{position:relative;z-index:1;font-size:var(--inspection-progress-ring-font-size)}.inspection-progress-ring--runner{--inspection-progress-ring-size: min(81px, calc(var(--inspection-run-toolbar-height) - 8px));--inspection-progress-ring-inset: 9px;--inspection-progress-ring-font-size: 1.05rem;font-weight:950}.inspection-progress-ring--target{--inspection-progress-ring-size: 44px;--inspection-progress-ring-inset: 5px;--inspection-progress-ring-font-size: .68rem;grid-column:2;grid-row:1 / span 2;justify-self:end;align-self:center;font-weight:950}.inspection-run-page{--inspection-run-padding: 20px;--inspection-run-gap: 14px;--inspection-run-toolbar-height: 116px;display:grid;grid-template-rows:minmax(0,var(--inspection-run-toolbar-height)) minmax(0,1fr);gap:var(--inspection-run-gap);position:fixed;inset:0;z-index:10000;width:100vw;height:100vh;min-height:0;max-height:100vh;padding:var(--inspection-run-padding);overflow:hidden;background:var(--page-bg);isolation:isolate}.inspection-run-toolbar{display:grid;grid-template-columns:minmax(207px,252px) minmax(0,1fr) auto;gap:24px;align-items:center;min-height:0;height:100%;padding:0;background:var(--page-bg);overflow:hidden}.inspection-exit-button{width:54px;height:54px}.inspection-run-toolbar-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px}.inspection-device-complete-button{min-height:54px;padding-inline:24px;font-size:1.04rem;font-weight:900}.inspection-run-shell{display:grid;grid-template-columns:minmax(207px,252px) minmax(0,1fr);gap:24px;align-items:stretch;height:100%;max-height:100%;min-height:0;overflow:hidden}.inspection-run-shell--picker .inspection-card-stage--empty{place-items:center;border:0;background:transparent;box-shadow:none}.inspection-finalize-panel{display:grid;justify-items:center;gap:14px;color:var(--solon-blue);font-weight:900}.inspection-finalize-panel--complete{color:#15803d;font-size:1.2rem}.inspection-finalize-button{min-height:66px;padding-inline:34px;font-size:1.22rem}.inspection-view-failures-button{min-height:50px;padding-inline:24px;font-size:1.02rem}.inspection-run-side-panel{display:flex;flex-direction:column;gap:12px;min-height:0;max-height:100%;overflow:hidden}.inspection-side-progress{display:grid;justify-items:center;align-self:center;padding:0;color:var(--muted);font-size:.95rem;font-weight:850}.inspection-side-progress__circle{display:grid;place-items:center;width:92px;height:92px;border-radius:50%;box-shadow:inset 0 0 0 1px #c6d5e7}.inspection-side-progress__circle:before{content:"";grid-area:1 / 1;width:66px;height:66px;border-radius:50%;background:var(--page-bg)}.inspection-side-progress__circle strong{grid-area:1 / 1;z-index:1;color:var(--solon-blue);font-size:1.25rem;font-weight:950}.inspection-run-side-scroll{display:grid;gap:12px;align-content:start;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.inspection-side-panel-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.inspection-side-back-button,.inspection-side-filter-button{display:inline-flex;align-items:center;justify-content:center;width:54px;height:46px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--solon-blue)}.inspection-side-filter-button--active{border-color:var(--solon-orange);background:#fff3d3}.inspection-low-data-toggle{justify-self:center;display:inline-flex;align-items:center;justify-content:center;width:68px;height:46px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--solon-blue)}.inspection-low-data-toggle:disabled{opacity:.62;cursor:wait}.inspection-low-data-toggle__track{position:relative;display:block;width:44px;height:24px;border-radius:999px;background:#d8e2ee;box-shadow:inset 0 0 0 1px #b8c8db}.inspection-low-data-toggle__knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0f172a47;transition:transform .16s ease}.inspection-low-data-toggle--active{border-color:var(--solon-orange);background:#fff3d3}.inspection-low-data-toggle--active .inspection-low-data-toggle__track{background:var(--solon-orange);box-shadow:inset 0 0 0 1px #d89000}.inspection-low-data-toggle--active .inspection-low-data-toggle__knob{transform:translate(20px)}.inspection-queue-upload-status{min-height:34px;display:flex;align-items:center;padding:7px 10px;border:1px solid #ffd580;border-radius:8px;background:#fff7e4;color:#7a4d00;font-size:.78rem;font-weight:850;line-height:1.2}.inspection-run-device-step,.inspection-run-question-step{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:64px;padding:16px 18px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);text-align:left;font-size:1.16rem;font-weight:800}.inspection-run-question-step{font-size:1rem;font-weight:500}.inspection-run-device-step>span,.inspection-run-question-step>span{min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.inspection-run-device-step__label{grid-column:1}.inspection-run-device-step__detail{grid-column:1;margin-top:-4px;color:var(--muted);font-size:.78rem;font-weight:750;line-height:1.2}.inspection-run-device-step--single-line .inspection-run-device-step__label{grid-row:1 / span 2;align-self:center}.inspection-run-device-step svg{grid-column:2;grid-row:1 / span 2}.inspection-run-device-step__complete-icon{justify-self:end;align-self:center;color:#207346;stroke-width:2.6}.inspection-run-device-step--active,.inspection-run-question-step--active{border-color:var(--solon-orange);background:#fff3d3;box-shadow:0 0 0 1px #ffb81c99}.inspection-run-device-step--complete,.inspection-run-question-step--complete{background:#effaf3;border-color:#9ad2a9}.inspection-run-device-step--complete.inspection-run-device-step--active,.inspection-run-question-step--complete.inspection-run-question-step--active{border-color:#207346;background:#d8f1df;color:#12462b;box-shadow:0 0 0 1px #20734647}.inspection-run-question-step--attention{border-color:#f4b4b4;background:#fff1f1;color:#7f1d1d}.inspection-run-question-step--attention.inspection-run-question-step--active{border-color:#b42318;background:#ffd8d8;color:#7a1515;box-shadow:0 0 0 1px #b4231847}.inspection-card-stage{display:grid;position:relative;overflow:hidden;justify-items:stretch;min-width:0;min-height:0;max-height:100%}.inspection-active-device-label{min-width:0;color:var(--solon-blue);font-size:4rem;font-style:italic;font-weight:650;line-height:.95;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-step-card{display:grid;grid-template-rows:auto auto minmax(max-content,1fr) auto auto;gap:24px;width:100%;min-height:0;height:100%;max-height:100%;justify-self:stretch;overflow:auto;overscroll-behavior:contain;padding:36px 48px;border:1px solid var(--border);border-top:4px solid var(--solon-orange);border-radius:8px;background:#fff;box-shadow:0 12px 30px #0f234614}.inspection-step-card--result-card{grid-template-rows:auto auto minmax(max-content,1fr) auto auto}.inspection-step-card--result-card .inspection-pass-fail{grid-row:4}.inspection-step-card__footer,.inspection-step-card--result-card .inspection-step-card__footer{grid-row:5}.inspection-step-card__header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;color:var(--muted);font-size:1.12rem}.inspection-step-card__title-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;min-width:0}.inspection-step-card__header strong{color:var(--text);font-size:2.8rem;font-weight:400;line-height:1.5;text-align:left}.inspection-step-card__header>span{font-size:1.28rem;font-weight:800}.inspection-card-error{justify-self:start;width:100%;max-width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid #f0a4a4;border-radius:8px;background:#fff5f5;color:#9f1d1d;font-size:1rem;font-weight:800;line-height:1.25}.inspection-step-card h2{margin:0;color:var(--solon-blue);font-size:2rem;letter-spacing:0}.inspection-step-card p{margin:0;color:var(--text);font-size:1.55rem;line-height:1.5}.inspection-step-card em{color:var(--muted);font-style:normal;font-size:1.22rem;line-height:1.45}.inspection-step-input{display:grid;gap:20px;align-content:start}.inspection-step-card--result-card .inspection-step-input{align-content:end}.inspection-step-card .field{gap:8px}.inspection-step-card .field span{font-size:1.22rem}.inspection-step-card input,.inspection-step-card textarea,.inspection-step-card select{min-height:60px;font-size:1.22rem}.inspection-ppe-check{display:flex;align-items:center;gap:16px;min-height:72px;padding:20px 22px;border:1px solid #b8d8ff;border-radius:8px;background:#f8fbff;color:var(--solon-blue);font-size:1.28rem;font-weight:800}.inspection-ppe-check span{display:flex;align-items:center;min-height:0;line-height:1.25}.inspection-ppe-check input{flex:0 0 auto;width:24px;height:24px;margin:0}.inspection-visual-checklist{display:grid;gap:10px}.inspection-reading-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:18px}.inspection-reading-columns{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:24px}.inspection-reading-column{display:grid;gap:16px;padding:20px;border-radius:8px;background:#f8fbff}.inspection-pass-fail{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;width:100%;min-height:104px;justify-self:stretch;justify-items:center;align-self:start;align-items:start;margin:0;padding-top:0}.inspection-pass-fail .inspection-result-button:first-child{justify-self:start}.inspection-pass-fail .inspection-result-button:last-child{justify-self:end}.inspection-result-button{min-height:76px;width:min(230px,100%);border:4px solid var(--border);border-radius:8px;background:#fff;color:var(--solon-blue);font-size:1.22rem;font-weight:900}.inspection-result-button--pass{border-color:#16a34a;background:#f0fdf4;color:#166534}.inspection-result-button--fail{border-color:#dc2626;background:#fef2f2;color:#991b1b}.inspection-result-button--na{border-color:#64748b;background:#f8fafc;color:#334155}.inspection-result-button--pass.is-selected{border-color:#16a34a;background:#16a34a;color:#fff;box-shadow:0 0 0 2px #16a34a3d}.inspection-result-button--fail.is-selected{border-color:#dc2626;background:#dc2626;color:#fff;box-shadow:0 0 0 2px #dc26263d}.inspection-result-button--na.is-selected{border-color:#64748b;background:#64748b;color:#fff;box-shadow:0 0 0 2px #64748b42}.inspection-failure-fields{display:grid;grid-template-columns:minmax(234px,.35fr) minmax(0,1fr);gap:14px;align-items:start;padding:14px;border-radius:8px;background:#fff7f7}.inspection-photo-input{display:grid;gap:10px;align-content:start;color:var(--text);font-weight:800}.inspection-photo-input .upload-action-row{gap:20px;flex-wrap:wrap}.inspection-step-card .upload-button-shell{min-height:66px;width:fit-content;padding:0 30px;font-size:1.22rem}.inspection-photo-input__minimum{color:var(--muted);font-size:1rem;font-style:italic;font-weight:750;line-height:1.2}.inspection-photo-input__list{display:flex;flex-wrap:wrap;gap:8px}.inspection-photo-thumb{display:block;width:234px;height:234px;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer}.inspection-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}.inspection-photo-thumb__queued{display:grid;place-items:center;width:100%;height:100%;padding:6px;color:var(--solon-blue);font-size:1rem;font-weight:900;line-height:1.1;text-align:center}.inspection-failure-fields .inspection-photo-thumb{width:192px;height:192px}.inspection-failure-fields .field textarea{min-height:86px}.inspection-photo-modal{width:min(980px,calc(100vw - 32px));max-height:min(900px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid var(--border);border-top:4px solid var(--solon-orange);border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a47;overflow:hidden}.inspection-photo-modal__header{justify-content:start}.inspection-photo-modal__header-title{min-width:0}.inspection-photo-modal__header-title h3{margin:0;color:var(--solon-blue);font-size:1.24rem;line-height:1.1}.inspection-photo-modal__header-title p{margin:4px 0 0;color:var(--muted);font-size:.86rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-photo-modal__body{display:grid;gap:16px;min-height:0;padding:16px;overflow:auto}.inspection-photo-modal__preview{display:grid;place-items:center;min-height:0;border:1px solid var(--border);border-radius:8px;background:#f8fbff;overflow:hidden}.inspection-photo-modal__preview img{display:block;max-width:100%;max-height:min(62vh,620px);object-fit:contain}.inspection-photo-modal__queued-placeholder{display:grid;place-items:center;min-height:260px;padding:24px;color:var(--muted);font-size:1.05rem;font-weight:800;text-align:center}.inspection-photo-modal__move-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr);gap:12px;align-items:end}.inspection-photo-modal__error{max-width:100%}.inspection-photo-modal__locked-note{padding:9px 12px;border:1px solid #d7e5d9;border-radius:8px;background:#f2fbf4;color:#207346;font-size:.9rem;font-weight:800}.inspection-photo-modal__actions{padding:0 16px 16px}.inspection-photo-modal__actions button{display:inline-flex;align-items:center;gap:8px}.inspection-photo-modal__delete-button{border-color:#f0a4a4;color:#9f1d1d;background:#fff5f5}.inspection-low-data-modal{width:min(560px,calc(100vw - 32px));display:grid;gap:16px;border:1px solid var(--border);border-top:4px solid var(--solon-orange);border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a47;overflow:hidden}.inspection-low-data-modal__body{padding:0 20px}.inspection-low-data-modal__body p{margin:0;color:var(--text);font-size:1rem;font-weight:750;line-height:1.45}.inspection-low-data-modal__actions{padding:0 20px 20px}.inspection-complete-device-modal{width:min(560px,calc(100vw - 32px));display:grid;gap:16px;border:1px solid var(--border);border-top:4px solid var(--solon-orange);border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a47;overflow:hidden}.inspection-complete-device-modal .modal-header{padding:18px 20px}.inspection-complete-device-modal .modal-header h3{margin:0;color:var(--solon-blue);font-size:1.4rem;line-height:1.1}.inspection-complete-device-modal .modal-header p{margin:6px 0 0;color:var(--muted);font-size:.96rem;font-weight:700;line-height:1.35}.inspection-complete-device-modal__actions{padding:0 20px 20px}.inspection-failures-modal{width:min(980px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;border:1px solid var(--border);border-top:4px solid var(--solon-orange);border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a47;overflow:hidden}.inspection-failures-modal__header{padding:18px 20px}.inspection-failures-modal__header h3{margin:0;color:var(--solon-blue);font-size:1.4rem;line-height:1.1}.inspection-failures-modal__header p{margin:6px 0 0;color:var(--muted);font-size:.96rem;font-weight:700;line-height:1.35}.inspection-failures-modal__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-block:1px solid var(--border);background:#f8fbff;color:var(--text);font-weight:850}.inspection-failures-select-all{display:inline-flex;align-items:center;gap:10px}.inspection-failures-select-all input,.inspection-failure-issue-row>input{width:22px;height:22px;accent-color:var(--solon-blue)}.inspection-failures-modal__body{min-height:0;overflow:auto;padding:16px 20px}.inspection-failures-list{display:grid;gap:12px}.inspection-failure-issue-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff}.inspection-failure-issue-row--created{background:#f0fdf4;border-color:#bbf7d0}.inspection-failure-issue-row__content{display:grid;gap:6px;min-width:0}.inspection-failure-issue-row__title{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;color:var(--text);font-weight:850}.inspection-failure-issue-row__title strong{color:var(--solon-blue)}.inspection-failure-issue-row__content em{color:var(--muted);font-size:.86rem;font-weight:700}.inspection-failure-issue-row__content p{margin:0;color:var(--text);font-size:.98rem;font-weight:650;line-height:1.35}.inspection-failure-created-pill{justify-self:start;padding:5px 9px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.78rem;font-weight:900}.inspection-failure-issue-row__photo{display:block;width:92px;height:92px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff}.inspection-failure-issue-row__photo img{display:block;width:100%;height:100%;object-fit:cover}.inspection-failures-modal__message{padding:10px 20px 0;color:var(--solon-blue);font-weight:800}.inspection-failures-modal__actions{padding:16px 20px 20px;border-top:1px solid var(--border)}.inspection-step-card__footer{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:96px;margin-top:0}.inspection-step-card__footer-actions{display:grid;justify-items:end;align-content:center;gap:6px;min-width:0}.inspection-step-card__footer-button-row{display:inline-flex;align-items:center;justify-content:flex-end;gap:16px}.inspection-step-completion-note{max-width:100%;color:var(--muted);font-size:.78rem;font-style:italic;font-weight:650;line-height:1.1;text-align:right;overflow-wrap:anywhere}.inspection-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:66px;padding-inline:30px;font-size:1.22rem;line-height:1}.inspection-nav-button svg{display:block;flex:0 0 auto}.inspection-nav-button span{display:inline-flex;align-items:center;line-height:1}.inspection-skip-button{color:#7a4d00;border-color:#ffd580;background:#fff7e4;min-height:66px;padding-inline:30px;font-size:1.22rem}.inspection-skip-button--active{color:var(--solon-blue);border-color:var(--solon-orange);background:#fff3d3;box-shadow:0 0 0 1px #ffb81c80}.inspection-skip-reason{max-width:640px}.inspection-skip-modal{width:min(620px,calc(100vw - 32px));display:grid;gap:16px;border:1px solid var(--border);border-top:4px solid var(--solon-orange);border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a47;overflow:hidden}.inspection-skip-modal .modal-header{padding:18px 20px}.inspection-skip-modal .modal-header h2{margin:0;color:var(--solon-blue);font-size:1.5rem;line-height:1.1}.inspection-skip-modal .field{padding:0 20px}.inspection-skip-modal textarea{min-height:140px;resize:vertical}.inspection-skip-modal .modal-actions{padding:0 20px 20px}@supports (height: 100dvh){.inspection-run-page{--inspection-run-padding: clamp(10px, 2dvh, 20px);--inspection-run-gap: clamp(8px, 1.5dvh, 14px);--inspection-run-toolbar-height: clamp(74px, 15dvh, 116px);height:100dvh;max-height:100dvh}}@media(max-height:760px){.inspection-run-page{--inspection-run-padding: 12px;--inspection-run-gap: 10px;--inspection-run-toolbar-height: 78px}.inspection-run-toolbar{gap:16px}.inspection-exit-button{width:46px;height:46px}.inspection-active-device-label{font-size:2.7rem}.inspection-step-card{grid-template-rows:auto auto minmax(0,1fr) 86px 76px;gap:14px;padding:24px 32px}.inspection-step-card--result-card{grid-template-rows:auto auto minmax(0,1fr) 86px 76px}.inspection-step-card__header strong{font-size:2rem}.inspection-step-card p{font-size:1.22rem;line-height:1.35}.inspection-step-card em{font-size:1rem}.inspection-pass-fail{min-height:86px;gap:16px}.inspection-result-button,.inspection-nav-button,.inspection-skip-button{min-height:58px}.inspection-step-card__footer{min-height:76px}}.service-ticket-correspondence-count{min-width:22px;padding:2px 7px;border-radius:999px;background:#eef4fb;color:var(--solon-blue);font-size:.78rem;font-weight:700;text-align:center}.service-ticket-correspondence-table th:nth-child(1),.service-ticket-correspondence-table td:nth-child(1){width:130px}.service-ticket-correspondence-table th:nth-child(2),.service-ticket-correspondence-table td:nth-child(2),.service-ticket-correspondence-table th:nth-child(6),.service-ticket-correspondence-table td:nth-child(6){width:90px}.monitoring-parts-preview .table-shell{border-radius:6px}.monitoring-software-pricing-preview{margin-top:20px}.monitoring-hardware-parts-table{table-layout:fixed}.monitoring-hardware-parts-table th:nth-child(1),.monitoring-hardware-parts-table td:nth-child(1){width:34%}.monitoring-hardware-parts-table th:nth-child(2),.monitoring-hardware-parts-table td:nth-child(2){width:28%}.monitoring-hardware-parts-table th:nth-child(3),.monitoring-hardware-parts-table td:nth-child(3){width:6%}.monitoring-hardware-parts-table th:nth-child(4),.monitoring-hardware-parts-table td:nth-child(4),.monitoring-hardware-parts-table th:nth-child(5),.monitoring-hardware-parts-table td:nth-child(5){width:8%}.monitoring-hardware-parts-table th:nth-child(6),.monitoring-hardware-parts-table td:nth-child(6){width:7%}.monitoring-hardware-parts-table th:nth-child(7),.monitoring-hardware-parts-table td:nth-child(7){width:9%}.monitoring-hardware-parts-table th:nth-child(n+3),.monitoring-hardware-parts-table td:nth-child(n+3){white-space:nowrap}.monitoring-parts-totals{display:flex;justify-content:flex-end;gap:18px;margin-top:12px;color:var(--solon-blue);font-size:.95rem;font-weight:750}.muted-table-text{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;font-weight:650}.site-inverter-file-links{display:grid;gap:4px;justify-items:start}.site-context-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:stretch;gap:12px}.site-context-panel{display:grid;grid-template-rows:minmax(0,1fr);align-content:stretch;gap:8px;min-width:0}.site-context-panel__heading{display:flex;align-items:center;gap:7px;color:#344054;font-size:.84rem;font-weight:800;line-height:1.15}.site-context-panel__heading:empty{display:none}.site-map-tile,.site-context-empty{height:100%;min-height:230px;border:1px solid var(--border);border-radius:8px;background:#edf2f7}.site-map-tile{position:relative;overflow:hidden}.site-map-canvas{width:100%;height:100%;min-height:230px}.site-map-status{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:#f8fbffdb;color:var(--muted);font-size:.86rem;text-align:center}.site-context-empty{display:flex;align-items:center;justify-content:center;padding:16px;color:var(--muted);font-size:.88rem;font-weight:650;text-align:center}.weather-summary{height:100%;min-height:230px;display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff}.permission-matrix-section{display:grid;gap:14px}.permission-matrix-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.permission-matrix-heading h3{margin:0}.permission-matrix-heading p{margin:5px 0 0;color:var(--muted);font-size:.84rem;font-weight:650}.permission-preset-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.permission-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.permission-matrix-group{min-width:0;display:grid;gap:7px;align-content:start;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-soft)}.permission-matrix-group h4{margin:0 0 2px;color:var(--solon-blue);font-size:.92rem;line-height:1.1}.permission-matrix-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:center;gap:8px}.permission-matrix-row>span{min-width:0;color:var(--text);font-size:.82rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-matrix-row select{width:100%;min-height:32px;padding-block:5px;font-size:.8rem}.permission-action-grid{display:grid;grid-template-columns:minmax(270px,1fr);max-width:420px}.permission-matrix-row--checkbox input{justify-self:end;width:18px;height:18px}.weather-summary strong{color:var(--solon-blue);font-size:2rem;line-height:1}.weather-summary>span{color:var(--text);font-size:.98rem;font-weight:750}.weather-summary dl{display:grid;gap:8px;margin:4px 0 0}.weather-summary dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #e9eef6}.weather-summary dt{color:var(--muted);font-size:.8rem;font-weight:750}.weather-summary dd{margin:0;color:var(--text);font-weight:800}.site-visit-weather-section{display:grid;gap:10px}.site-visit-weather-card{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(0,2fr);align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:#f8fbff;color:var(--text)}.site-visit-weather-card>svg{color:var(--solon-blue)}.site-visit-weather-card strong,.site-visit-weather-card span{display:block}.site-visit-weather-card strong{color:var(--solon-blue);font-size:.9rem;line-height:1.15}.site-visit-weather-card span{margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:700}.site-visit-weather-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.site-visit-weather-card dl div{min-width:0;padding-left:8px;border-left:1px solid #d9e5f5}.site-visit-weather-card dt{color:var(--muted);font-size:.72rem;font-weight:750;line-height:1.1}.site-visit-weather-card dd{margin:2px 0 0;color:var(--text);font-size:.84rem;font-weight:850;line-height:1.15}.site-visit-weather-card--empty{display:block;color:var(--muted);font-size:.84rem;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0f172a6b}.modal-panel{width:min(920px,100%);max-height:min(820px,calc(100vh - 40px));display:flex;flex-direction:column;border:1px solid var(--border);border-top:3px solid var(--solon-gold);border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a3d;overflow:hidden}.quote-overrides-modal{width:min(1100px,100%)}.csv-import-modal{width:min(860px,100%)}.report-manager-modal{width:min(620px,100%)}.detail-layout-modal{width:min(1040px,100%)}.feature-request-modal{width:min(620px,100%)}.customer-service-request-modal{width:min(660px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;color:var(--solon-blue);font-size:1.24rem;line-height:1.1}.modal-header p{margin:4px 0 0;color:var(--muted);font-size:.86rem;font-weight:650}.modal-header-actions{display:inline-flex;align-items:center;gap:6px}.detail-layout-editor-body{display:grid;gap:14px;padding:14px 16px;overflow-y:auto}.detail-layout-section{display:grid;gap:8px}.detail-layout-header-field-control{display:grid;grid-template-columns:140px minmax(220px,320px);align-items:center;gap:10px}.detail-layout-header-field-control span{color:#344054;font-size:.84rem;font-weight:800}.detail-layout-header-field-control select{min-height:34px;width:100%;padding:5px 8px;font-size:.84rem}.detail-layout-add-field-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,180px) minmax(180px,1fr) auto;align-items:end;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#f8fbff}.detail-layout-add-field-panel .field{gap:5px}.detail-layout-add-field-panel .field span{font-size:.78rem}.detail-layout-add-field-panel input,.detail-layout-add-field-panel select{min-height:34px;font-size:.84rem}.detail-layout-add-field-actions{display:inline-flex;align-items:center;gap:6px;padding-bottom:1px}.detail-layout-section-header{display:grid;grid-template-columns:28px minmax(180px,280px) auto max-content;align-items:center;gap:8px}.detail-layout-group-toggle{width:26px;height:26px;min-width:26px}.detail-layout-section-header>input{min-height:32px;width:100%;padding:5px 8px;color:var(--solon-blue);font-size:.92rem;font-weight:850}.detail-layout-embedded-title{min-height:32px;display:inline-flex;align-items:center;gap:8px;color:var(--solon-blue);font-size:.92rem;font-weight:850}.detail-layout-embedded-title em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:750}.detail-layout-checkbox-control{min-width:0;display:inline-flex;align-items:center;gap:6px;color:#344054;font-size:.78rem;font-weight:750}.detail-layout-checkbox-control input{flex:0 0 auto}.detail-layout-field-list{display:grid;gap:6px}.detail-layout-field-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,180px) 106px 88px 78px 88px auto;align-items:center;gap:8px;min-height:36px;padding:5px 7px;border:1px solid var(--border);border-radius:6px;background:#f8fbff}.detail-layout-field-name{min-width:0;overflow:hidden;color:var(--text);font-size:.86rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.detail-layout-field-row select{min-height:30px;width:100%;padding:4px 8px;font-size:.82rem}.detail-layout-row-start-control{justify-content:center}.detail-layout-field-actions{display:inline-flex;align-items:center;gap:2px}.detail-layout-field-actions .icon-button{width:28px;height:28px;min-width:28px}.customer-portal-field-layout-list{display:grid;gap:6px}.customer-portal-field-layout-row{grid-template-columns:minmax(180px,1fr) minmax(110px,150px) 40px auto}.customer-portal-field-type{color:var(--muted);font-size:.8rem;font-weight:750}.detail-layout-empty-group{margin:0;padding:8px;font-size:.8rem}.detail-layout-actions{padding:12px 16px 16px;border-top:1px solid var(--border)}.csv-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;overflow-y:auto}.csv-import-errors{margin:0 16px 12px;max-height:180px;overflow:auto}.csv-import-errors ul{margin:8px 0 0;padding-left:20px}.modal-close-button{width:28px;height:28px;min-width:28px;border:0;border-radius:4px;background:transparent;color:var(--solon-blue)}.modal-form{display:grid;gap:14px;padding:16px;overflow-y:auto}.feature-request-form textarea{min-height:130px;resize:vertical}.customer-service-request-form{gap:16px}.customer-service-request-step,.customer-service-request-device-fields{display:grid;gap:14px;min-width:0}.customer-service-request-choice-group{display:grid;gap:10px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#f8fbff}.customer-service-request-choice-group legend{padding:0 4px;color:var(--solon-blue);font-size:.84rem;font-weight:800}.customer-service-request-choice-group label{min-width:0;display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.9rem;font-weight:700}.customer-service-request-choice-group input[type=radio],.customer-service-request-multi-menu input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:14px;padding:0;border:0;accent-color:var(--solon-blue)}.customer-service-request-choice-group span{min-width:0;overflow-wrap:anywhere}.customer-service-request-multi-select{position:relative;min-width:0}.customer-service-request-multi-toggle{min-height:36px;width:100%;display:flex;align-items:center;justify-content:flex-start;padding:8px 10px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;color:var(--text);text-align:left}.customer-service-request-multi-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-service-request-multi-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:6;display:grid;gap:2px;max-height:210px;overflow-y:auto;padding:6px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 14px 34px #0f172a29}.customer-service-request-multi-menu label{min-width:0;display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;color:var(--text);font-size:.84rem;font-weight:700}.customer-service-request-multi-menu label:hover{background:#eef4fb}.customer-service-request-multi-menu span{min-width:0;overflow-wrap:anywhere}.customer-service-request-empty-option{padding:8px;color:var(--muted);font-size:.84rem;font-weight:700}.customer-service-request-summary{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#f8fbff}.customer-service-request-summary div{display:grid;gap:2px;min-width:0}.customer-service-request-summary span{color:var(--muted);font-size:.76rem;font-weight:600;text-transform:uppercase}.customer-service-request-summary strong{min-width:0;color:var(--text);font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.customer-service-request-summary p{min-width:0;margin:0;color:var(--text);font-size:.9rem;font-weight:500;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.customer-service-request-actions{padding-top:0}.feature-request-scope{display:grid;gap:8px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#f8fbff}.feature-request-scope legend{padding:0 4px;color:var(--solon-blue);font-size:.84rem;font-weight:800}.feature-request-scope label{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.9rem;font-weight:700}.feature-request-scope input[type=radio]{width:14px;min-width:14px;height:14px;min-height:14px}.modal-form-section{display:grid;gap:10px}.modal-form-section h4{margin:0;color:#344054;font-size:.92rem;line-height:1.15}.modal-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quote-overrides-table{min-width:960px}.quote-overrides-table th,.quote-overrides-table td{vertical-align:middle}.quote-overrides-table input,.quote-overrides-table select{min-height:32px;width:100%;padding:5px 7px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:4px}.csv-import-modal .success-panel{margin:0 16px 12px}.csv-import-modal .modal-actions{padding:12px 16px 16px;border-top:1px solid var(--border)}.upload-button-shell{min-height:36px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:100%;padding:8px 12px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;color:#1f2937;font-weight:750;line-height:1.1;overflow:hidden;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform 80ms ease}.upload-button-shell input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.app-footer{margin-top:10px;color:#475467;font-size:.75rem}.auth-loading-screen,.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#f2f5f7}.auth-loading-screen{color:var(--muted);font-weight:750}.auth-error-panel{width:min(520px,100%);display:grid;gap:8px;padding:18px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:var(--danger);text-align:left}.auth-error-panel span{color:#7f1d1d;font-size:.9rem;font-weight:650}.login-panel{width:min(420px,100%);padding:22px;border:1px solid var(--border);border-top:3px solid var(--solon-gold);border-radius:8px;background:#fff;box-shadow:0 18px 50px #09296c1f}.mfa-panel{width:min(480px,100%)}.mfa-copy{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin-bottom:16px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fbff;color:#334155;font-size:.88rem;font-weight:650;line-height:1.45}.mfa-copy svg{color:var(--solon-blue);margin-top:1px}.mfa-copy p,.mfa-expiration{margin:0}.mfa-expiration{color:var(--muted);font-size:.78rem;font-weight:650}.login-brand{display:grid;gap:12px;justify-items:start;margin-bottom:18px}.login-brand img{width:180px;height:auto}.login-brand h1{margin:0;color:var(--solon-blue);font-size:1.5rem;line-height:1.1;font-style:italic}.public-legal-page{min-height:100vh;display:grid;place-items:start center;padding:36px 18px;background:#f2f5f7}.public-legal-panel{width:min(900px,100%);border:1px solid var(--border);border-top:4px solid var(--solon-gold);border-radius:8px;background:#fff;box-shadow:0 18px 60px #0f172a1f;overflow:hidden}.public-legal-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 28px;border-bottom:1px solid var(--border);background:#f8fbff}.public-legal-header img{order:2;width:150px;height:auto;flex:0 0 auto}.public-legal-header span{display:block;margin-bottom:5px;color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.public-legal-header h1{margin:0;color:var(--solon-blue);font-size:clamp(2rem,4vw,3.8rem);font-style:italic;line-height:.98}.public-legal-header h1.public-legal-title--compact{font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.05}.public-legal-content{display:grid;gap:12px;padding:26px 28px 30px}.public-legal-content h2{margin:14px 0 0;color:var(--solon-blue);font-size:1.08rem;line-height:1.2}.public-legal-content p,.public-legal-content li{margin:0;color:#344054;font-size:.98rem;line-height:1.55}.public-legal-content ol{margin:0;padding-left:22px}.public-legal-content a,.public-legal-footer a{color:var(--solon-blue);font-weight:800;text-decoration:underline;text-underline-offset:3px}.public-legal-effective{color:var(--muted)!important;font-weight:750}.public-legal-footer{display:flex;flex-wrap:wrap;gap:14px;padding:16px 28px 22px;border-top:1px solid var(--border);background:#fff;font-size:.86rem}.login-form{display:grid;gap:12px}.login-form label{display:grid;gap:6px;color:#344054;font-size:.86rem;font-weight:750}.login-form button{width:100%}.quote-controls-section{display:grid;gap:12px}.quote-controls-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-controls-header h3{margin:0}.quote-controls-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.quote-controls-grid--actions-only{grid-template-columns:1fr}.quote-link-panel{min-width:0;display:grid;gap:4px;color:var(--muted);font-size:.78rem;font-weight:750}.quote-link-panel a{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-controls-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.quote-control-button--disabled{color:#667085;background:#f3f5f8}.quote-send-modal{width:min(860px,calc(100vw - 24px))}.invoice-send-modal{width:min(900px,calc(100vw - 24px))}.invoice-accounting-modal{width:min(980px,calc(100vw - 24px))}.quickbooks-invoice-import-modal{width:min(1360px,calc(100vw - 24px))}.quickbooks-invoice-import-body{gap:12px}.quickbooks-import-summary{width:max-content;display:inline-flex;align-items:baseline;gap:7px;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:#f8fbff;color:var(--solon-blue);font-size:.82rem;font-weight:800}.quickbooks-import-summary strong{font-size:1rem}.quickbooks-invoice-import-table-shell{max-height:min(58vh,560px)}.quickbooks-invoice-import-table{min-width:1480px}.quickbooks-invoice-import-table th:first-child,.quickbooks-invoice-import-table td:first-child{width:42px;min-width:42px;text-align:center}.quickbooks-invoice-import-table select,.quickbooks-invoice-import-table input[type=text]{width:100%;min-height:32px;padding:5px 7px;font-size:.8rem}.quickbooks-import-muted{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:650}.invoice-accounting-modal-body{gap:12px}.invoice-accounting-recipient-section{display:grid;gap:10px}.invoice-accounting-subheading{display:flex;align-items:center;justify-content:space-between;gap:12px}.invoice-accounting-subheading h4{margin:0;color:var(--solon-blue);font-size:.96rem}.invoice-accounting-subheading span{color:var(--muted);font-size:.82rem;font-weight:750}.invoice-accounting-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.invoice-accounting-summary>div{min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#f8fbff}.invoice-accounting-summary span{display:block;margin-bottom:4px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.invoice-accounting-summary strong,.invoice-accounting-summary p{margin:0;color:var(--text);font-size:.88rem;line-height:1.35}.invoice-accounting-summary p{margin-top:3px;color:var(--muted);font-weight:650}.invoice-email-preview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.35fr) minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fbff}.monitoring-quote-email-preview{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)}.invoice-email-preview div{min-width:0}.invoice-email-preview span{display:block;margin-bottom:4px;color:var(--muted);font-size:.76rem;font-weight:750;text-transform:uppercase}.invoice-email-preview strong,.invoice-email-preview p{margin:0;color:var(--text);font-size:.9rem;line-height:1.35}.invoice-recipient-remove{width:24px;height:24px;min-width:24px;color:#b42318}.inline-success-message{color:#067647;font-size:.84rem;font-weight:750}.inline-error-message{color:#b42318;font-size:.84rem;font-weight:750}.quote-recipients-table{min-width:640px}.quote-extra-recipient-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.quote-review-page{min-height:100vh;padding:24px;background:#eef2f6;color:var(--text)}.quote-document{width:min(1120px,100%);margin:0 auto;padding:28px;border-top:4px solid var(--solon-gold);border-radius:8px;background:#fff;box-shadow:0 12px 34px #0f172a21;display:grid;gap:18px}.quote-document-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}.quote-document-header img{width:180px;height:auto}.quote-document-header div{text-align:right}.quote-document-header span,.quote-official-summary span,.quote-total-section span{color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:0}.quote-document-header h1{margin:2px 0 0;color:var(--solon-blue);font-size:2.1rem;line-height:1}.quote-official-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(320px,.9fr);gap:24px;padding:4px 0 16px;border-bottom:1px solid var(--border)}.quote-party-summary,.quote-meta-summary{min-width:0}.quote-meta-summary{width:min(390px,100%);justify-self:end;padding-left:50px}.quote-official-summary strong{display:block;margin-top:6px;color:var(--solon-blue);font-size:1.05rem}.quote-official-summary p{margin:6px 0 0;color:var(--muted);font-size:.86rem;font-weight:600;line-height:1.35}.quote-meta-list{margin:8px 0 0;display:grid;gap:6px}.quote-meta-list div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,auto);gap:18px}.quote-meta-list dt,.quote-meta-list dd{margin:0;font-size:.86rem}.quote-meta-list dt{color:var(--muted);font-weight:750}.quote-meta-list dd{color:#000;font-weight:750;text-align:right}.quote-meta-nowrap{white-space:nowrap}.quote-document-section{display:grid;gap:10px}.quote-document-section h2{margin:0;color:var(--solon-blue);font-size:1.2rem}.quote-document-section p{margin:0;color:#344054;font-size:.93rem;line-height:1.45}.quote-document-section .quote-description-text{white-space:pre-wrap}.quote-recipient-note{margin-top:8px!important;color:#344054!important;font-size:.9rem!important;font-weight:700}.quote-review-line-items{display:grid;gap:24px}.quote-review-line-item{padding:0;border:0;border-radius:0;background:transparent;display:grid;gap:14px}.quote-review-line-item-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #d7e3f4;border-radius:7px}.quote-review-line-item-header--baseline{border-color:#d7f3df;background:#f4fdf6}.quote-review-line-item-header--optional{border-color:#d7e3f4;background:#f8fbff}.quote-review-line-item-header span{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase}.quote-review-line-item-header h3{margin:0;color:var(--text);font-size:1.05rem;display:inline-flex;align-items:baseline;gap:7px;flex-wrap:wrap}.quote-line-item-optional-label{color:var(--muted);font-size:.86rem;font-weight:750}.quote-line-item-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-left:auto}.quote-line-item-header-actions>strong{color:var(--solon-blue);font-size:1rem;white-space:nowrap}.invoice-scope-summary-field{margin:0}.invoice-scope-summary{gap:12px}.invoice-scope-summary__items{display:grid;gap:10px;margin-top:4px}.invoice-scope-summary__line-items{gap:12px}.invoice-scope-summary__error{color:#b42318!important}.quote-optional-approval{display:inline-flex;align-items:center;gap:8px;color:var(--solon-blue);font-size:.8rem;font-weight:800;white-space:nowrap}.quote-review-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:3px 28px 0}.quote-review-detail-grid--monitoring{grid-template-columns:minmax(0,1fr);max-width:760px}.quote-review-detail-grid--monitoring .quote-review-detail-group li{grid-template-columns:minmax(0,1fr) minmax(72px,auto)}.quote-review-detail-group{min-width:0;padding:0;border:0;border-radius:0;background:transparent}.quote-review-detail-group h4{margin:0 0 9px;padding-bottom:6px;border-bottom:1px solid #dfe8f4;color:var(--solon-blue);font-size:.9rem}.quote-review-detail-group p{color:var(--muted);font-size:.82rem}.quote-review-detail-group ul{margin:0;padding:0;list-style:none;display:grid;gap:0}.quote-review-detail-group li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:7px 0;border-bottom:1px solid #eef2f7;color:var(--text);font-size:.82rem}.quote-review-detail-group li:first-child{padding-top:0}.quote-review-detail-group li:last-child{padding-bottom:0;border-bottom:0}.quote-review-detail-row--amount-only{grid-template-columns:minmax(0,1fr)}.quote-review-detail-row--amount-only b{justify-self:end}.quote-review-detail-group li span{min-width:0;display:grid;gap:3px}.quote-review-detail-group li em{color:var(--muted);font-size:.75rem;font-style:normal;font-weight:650}.quote-review-detail-group li b{color:var(--solon-blue);font-weight:850;white-space:nowrap}.quote-total-section{width:min(420px,100%);margin-left:auto;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);display:grid;gap:8px}.quote-total-section div{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-total-section strong{color:var(--text)}.quote-total-section__tax span,.quote-total-section__tax strong{color:var(--muted);font-size:.82rem}.quote-total-section__grand{padding-top:8px;border-top:1px solid var(--border)}.quote-total-section--single .quote-total-section__grand{padding-top:0;border-top:0}.quote-total-section__grand strong{color:var(--solon-blue);font-size:1.25rem}.quote-legal-section{padding-top:4px}.monitoring-quote-legal-section{padding:16px 0;border-top:1px solid var(--border)}.monitoring-quote-legal-section--last{border-bottom:1px solid var(--border)}.monitoring-quote-legal-section a{color:var(--solon-blue);font-weight:800}.quote-terms-panel{padding:12px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#713f12;font-size:.9rem;font-weight:650}.quote-terms-panel p{margin:0}.quote-decision-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.quote-decision-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.quote-approve-button{background:var(--success);border-color:var(--success)}.quote-approve-button:hover:not(:disabled){background:#04805b}.quote-reject-button{color:var(--danger);border-color:#fecaca}.quote-decision-modal{width:min(560px,calc(100vw - 24px))}@media(max-width:1199px)and (min-width:981px){.app-main{padding-inline:16px}.app-header:before{inset-inline:-16px}.large-heading{font-size:2.35rem;line-height:1.08}.logo{width:150px;max-width:24vw}.record-form--quotes .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-form--quotes .field,.record-form--quotes .field--wide{grid-column:1 / -1}.record-form--quotes .field--quarter{grid-column:span 1}.record-form--quotes .form-section--inline-labels .field,.record-form--quotes .form-section--inline-labels .field--quarter,.record-form--quotes .form-section--inline-labels .field--wide,.record-form--quotes .form-section--inline-labels .field--row-start{grid-template-columns:minmax(150px,.8fr) minmax(160px,1fr)}.quote-controls-header{align-items:flex-start;flex-direction:column}.quote-controls-actions{justify-content:flex-start}.quote-line-items-table{min-width:1040px}}@media(max-width:980px){.app-shell{display:block}.mobile-nav-toggle{position:sticky;top:0;z-index:30;width:100%;height:44px;margin:0;border:0;border-radius:0;background:var(--solon-blue);color:#fff;display:flex;align-items:center;justify-content:flex-start;padding:0 10px}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:min(86vw,320px);max-width:320px;flex-basis:auto;transform:translate(-100%);transition:transform .28s cubic-bezier(.22,1,.36,1);box-shadow:18px 0 48px #071f5247}.app-sidebar--mobile-open{transform:translate(0)}.app-sidebar--closed{width:min(86vw,320px);padding:14px}.app-sidebar--closed .sidebar-group-title,.app-sidebar--closed .sidebar-link,.app-sidebar--closed .sidebar-help-link{justify-content:flex-start;padding:5px 8px}.app-sidebar--closed .sidebar-group-title span,.app-sidebar--closed .sidebar-group-chevron,.app-sidebar--closed .sidebar-link span,.app-sidebar--closed .sidebar-help-link span,.app-sidebar--closed .sidebar-signout-button span{display:inline}.app-sidebar--closed .sidebar-user__email,.app-sidebar--closed .sidebar-group-chevron{display:block}.app-shell--customer-sidebar-locked{display:flex}.app-shell--customer-sidebar-locked .app-sidebar--customer-locked{position:sticky;inset:0 auto auto;z-index:auto;flex:0 0 58px;width:58px;max-width:58px;padding:14px 9px;transform:none;box-shadow:none}.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-group-title,.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-link,.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-help-link{justify-content:center;padding-inline:0}.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-group-title span,.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-group-chevron,.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-link span,.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-user__email,.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-help-link span,.app-shell--customer-sidebar-locked .app-sidebar--closed .sidebar-signout-button span{display:none}.icon-button--mobile-close{display:inline-flex}.sidebar-toggle-row{justify-content:space-between}.app-main{--sticky-header-offset: 46px;padding:0 10px 10px}.guide-layout{grid-template-columns:1fr}.guide-quick-panel{position:static}.guide-link-row{grid-template-columns:1fr;gap:5px}.app-header{align-items:flex-start;gap:8px;padding-top:10px;padding-bottom:8px}.app-header:before{inset-inline:-10px}.detail-action-row{max-width:100%;top:calc(var(--sticky-header-offset) + 1px);margin-top:-1px}.large-heading{font-size:1.72rem;line-height:1.05}.logo{display:none}.content-section{margin-top:10px;padding:10px}.form-section{padding:10px}.record-form--monitoringQuotes{grid-template-columns:minmax(0,1fr)}.record-form--monitoringQuotes>.form-section,.record-form--monitoringQuotes>.form-section.form-section--half{grid-column:1 / -1;grid-row:auto;align-self:stretch}.form-section--inline-labels .field,.form-section--inline-labels .field--quarter,.form-section--inline-labels .field--wide,.form-section--inline-labels .field--row-start{grid-template-columns:minmax(0,1fr);align-items:start}.form-section--inline-labels .field em,.form-section--inline-labels .field-error{grid-column:1}.section-heading,.report-toolbar{flex-direction:column;align-items:stretch}.report-toolbar-left{flex-direction:row;align-items:center;flex-wrap:nowrap}.report-toolbar-actions{width:auto;margin-left:0;justify-content:flex-start}.section-actions,.report-filter-row,.report-toolbar-left{justify-content:flex-start}.search-input{width:auto}.report-toolbar select:not(.report-template-select){width:100%}.column-menu-panel{left:0;right:auto}.column-filter-panel{left:auto;right:0;min-width:min(240px,calc(100vw - 36px))}.form-grid{grid-template-columns:1fr}.field,.field--quarter,.field--wide{grid-column:1 / -1}.site-context-grid,.quote-official-summary,.quote-review-detail-grid,.quote-controls-grid{grid-template-columns:1fr}.quote-document{padding:18px}.quote-document-header{align-items:flex-start;flex-direction:column}.quote-document-header div{text-align:left}.site-equipment-reference-grid,.inspection-template-selection-row,.inspection-device-setup-row,.inspection-custom-inspection-row,.inspection-template-step-main-row,.inspection-template-step-settings-row,.inspection-template-input-row,.inspection-template-input-contingency-row,.inspection-custom-input-grid,.inspection-custom-input-row{grid-template-columns:1fr}.inspection-template-selection-row,.inspection-device-setup-row,.inspection-custom-inspection-row{align-items:start}.inspection-template-input-row__actions{grid-column:1;justify-self:start}.inspection-template-input-options{grid-column:1}.quote-inline-form,.quote-cost-form-grid{grid-template-columns:1fr}.quote-line-item-create{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 28px}.quote-cost-form-grid .field,.quote-cost-form-grid .field--wide,.quote-rate-reference{grid-column:1 / -1}.quote-cost-form-actions{align-items:center;flex-direction:row}.quote-cost-preview{margin-right:auto}.modal-actions{align-items:stretch;flex-direction:column}.modal-actions button{width:100%}.modal-backdrop{padding:10px}.modal-panel{max-height:calc(100vh - 20px)}.invoice-accounting-summary,.modal-form-grid{grid-template-columns:1fr}.record-form-actions{justify-content:stretch;flex-direction:column-reverse}.record-form-actions button{width:100%}}@media(min-width:768px)and (max-width:980px){.record-form--quotes .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-form--quotes .field,.record-form--quotes .field--wide{grid-column:1 / -1}.record-form--quotes .field--quarter{grid-column:span 1}.record-form--quotes .form-section--inline-labels .field,.record-form--quotes .form-section--inline-labels .field--quarter,.record-form--quotes .form-section--inline-labels .field--wide,.record-form--quotes .form-section--inline-labels .field--row-start{grid-template-columns:minmax(150px,.85fr) minmax(160px,1fr);align-items:center}.record-form--quotes .form-section--inline-labels .field em,.record-form--quotes .form-section--inline-labels .field-error{grid-column:2}}@media(max-width:767px){html,body,#root{max-width:100%;overflow-x:hidden}.mobile-nav-toggle{z-index:45}.app-main{--sticky-header-offset: 44px;width:100%;max-width:100%;padding:0 8px calc(96px + env(safe-area-inset-bottom));overflow-x:hidden}.record-form--quotes{padding-bottom:calc(250px + env(safe-area-inset-bottom))}.app-header{position:relative;min-height:0;padding-top:8px;padding-bottom:8px;align-items:flex-start}.app-header:before{inset-inline:-8px}.header-title-section{min-width:0}.large-heading{font-size:1.42rem;line-height:1.14;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.detail-action-row{position:fixed;inset:auto 0 0;z-index:75;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;max-width:none;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffffa;box-shadow:0 -12px 30px #0f172a24}.detail-action-group{display:flex;align-items:stretch;gap:8px}.detail-action-group:not(.detail-action-group--navigation){min-width:0}.detail-action-group:not(.detail-action-group--navigation) .icon-button{flex:1 1 0}.detail-action-group--navigation{flex:0 0 auto;margin-left:0}.detail-action-row .icon-button{width:auto;min-width:44px;height:44px;padding:0 8px;gap:6px;border:1px solid var(--border);border-radius:6px;background:#fff}.detail-action-row .icon-button--primary{color:#fff;border-color:var(--solon-blue);background:var(--solon-blue)}.detail-action-label{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;color:inherit;font-size:.74rem;font-weight:850;line-height:1}.detail-action-group--navigation .detail-action-label{display:none}.detail-layout-floating-button,.feature-request-floating-button{bottom:calc(72px + env(safe-area-inset-bottom))}.detail-page:has(.record-form--quotes)~.detail-layout-floating-button,.app-main:has(.record-form--quotes) .feature-request-floating-button{bottom:calc(224px + env(safe-area-inset-bottom))}.record-form--quotes .quote-controls-actions{position:fixed;left:8px;right:8px;bottom:calc(62px + env(safe-area-inset-bottom));z-index:74;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;border:1px solid var(--border);border-radius:8px 8px 0 0;background:#fffffffa;box-shadow:0 -12px 30px #0f172a1f}.record-form--quotes .quote-controls-actions button{width:100%;min-width:0;min-height:44px;white-space:normal}.quote-controls-header{align-items:stretch;flex-direction:column}.quote-controls-header h3,.site-equipment-header h3,.form-section h3{font-size:1.05rem;line-height:1.2;overflow-wrap:anywhere}.form-section{padding:12px}.record-form{gap:12px}.form-grid{gap:10px}.field{gap:5px;font-size:.84rem}.field>input:not([type=checkbox]),.field>select,.field>textarea,.field>.readonly-value,.quote-inline-form .field input,.quote-cost-form-grid .field input,.quote-cost-form-grid .field select,.quote-overrides-table input,.quote-overrides-table select,.quickbooks-invoice-import-table input[type=text],.quickbooks-invoice-import-table select,.quote-extra-recipient-row input{width:100%;min-width:0;min-height:44px;padding:9px 10px;font-size:16px}input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px}.primary-button,.secondary-button,.danger-button,.upload-button-shell,.site-equipment-add-button,.quote-inline-save-button,.quote-cost-action-button{min-height:44px}.site-equipment-add-button,.quote-inline-save-button,.quote-cost-action-button{width:44px;min-width:44px}.quote-line-item-create{grid-template-columns:minmax(0,1fr) 44px}.quote-line-items-desktop{display:none}.quote-line-items-mobile{display:grid;gap:12px}.quote-line-item-card,.quote-cost-item-card,.quote-line-items-mobile-total{min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff}.quote-line-item-card{display:grid;gap:12px;padding:12px;box-shadow:0 1px 2px #0f172a0f}.quote-line-item-card-header,.quote-cost-item-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.quote-line-item-card-number{flex:0 0 auto;min-height:28px;display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #dbe5f2;border-radius:999px;background:#f8fbff;color:var(--solon-blue);font-size:.76rem;font-weight:850}.quote-line-item-card-title{flex:1 1 auto;min-width:0;display:grid;gap:4px}.quote-line-item-card-title span,.quote-line-item-card-grid dt,.quote-cost-item-card-grid dt{color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.1;text-transform:uppercase}.quote-line-item-card-title strong,.quote-cost-item-card-header strong{min-width:0;color:var(--text);font-size:.98rem;line-height:1.25;overflow-wrap:anywhere}.quote-line-item-name-input{width:100%;min-height:44px;font-size:16px}.quote-line-item-card-grid,.quote-cost-item-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0}.quote-line-item-card-grid div,.quote-cost-item-card-grid div{min-width:0;display:grid;gap:3px;padding-top:8px;border-top:1px solid #eef2f7}.quote-line-item-card-grid div:first-child,.quote-cost-item-card-grid div:first-child{padding-top:0;border-top:0}.quote-line-item-card-grid dd,.quote-cost-item-card-grid dd{min-width:0;margin:0;color:var(--text);font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}.quote-line-item-card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}.quote-line-item-card-actions button{width:100%;min-width:0}.quote-line-item-optional--mobile{justify-content:flex-start;gap:8px;min-height:44px;color:var(--text)}.quote-cost-item-card-list{display:grid;gap:10px;padding-top:2px}.quote-cost-item-card{display:grid;gap:10px;padding:10px;background:#fff8f6}.quote-cost-item-card--editable{cursor:pointer}.quote-cost-item-card--active,.quote-cost-item-card--editable:focus-visible{outline:2px solid rgba(9,41,108,.22);outline-offset:2px}.quote-cost-form{padding:10px;border:1px solid var(--border)}.quote-cost-form-grid{display:flex;align-items:stretch;flex-direction:column;gap:10px}.quote-cost-form-grid .field,.quote-cost-form-grid .quote-cost-field--small,.quote-cost-form-grid .quote-cost-field--money,.quote-cost-form-grid .quote-cost-field--name,.quote-cost-form-grid .quote-cost-field--description,.quote-rate-reference{flex:1 1 auto;width:100%;min-width:0}.quote-rate-reference{min-height:44px;align-items:flex-start;flex-direction:column;justify-content:center;gap:2px;font-size:.82rem;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.quote-lump-sum-toggle--inline{min-height:44px}.quote-cost-form-actions{align-items:stretch;flex-wrap:wrap;gap:8px}.quote-cost-preview{flex:1 1 100%;line-height:1.3;overflow-wrap:anywhere}.quote-line-items-mobile-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;color:var(--solon-blue);font-weight:850}.quote-delete-button,.quote-delete-button--subitem{width:36px;min-width:36px;height:36px}.quote-cost-type-menu--portal{position:fixed;top:auto!important;right:8px;bottom:calc(62px + env(safe-area-inset-bottom));left:8px!important;width:auto;transform:none}.quote-cost-type-menu button{min-height:44px;font-size:.9rem}.quote-extra-recipient-row,.invoice-email-preview,.monitoring-quote-email-preview{grid-template-columns:1fr}.table-shell{max-height:none}.quote-recipients-table,.quote-overrides-table{min-width:680px}.quote-document{padding:14px}.quote-total-section{width:100%}}
