.sensor-setup-page button,.sensor-allocation-dialog button{white-space:normal;height:auto;min-height:44px;max-width:100%;min-width:0;line-height:1.45;overflow-wrap:anywhere}.sensor-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sensor-page-actions button{flex:0 1 auto;padding:10px 16px}.sensor-setup-page .page-heading{gap:16px;flex-wrap:wrap}.sensor-connection{padding:14px 20px;margin-bottom:20px}.sensor-connection>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;cursor:pointer}.sensor-connection>summary>span:first-child{display:grid;gap:5px;min-width:0}.sensor-connection summary b{font-size:16px;color:var(--navy)}.sensor-connection summary small{font-size:13px;color:var(--muted);line-height:1.5}.sensor-connection summary>span:last-child{font-size:13px;color:var(--navy);font-weight:600;flex-shrink:0}.sensor-connection-settings{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.sensor-workflow-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 26px}.sensor-workflow-stage{display:flex;flex-direction:column;align-items:flex-start;padding:24px;min-width:0;gap:10px}.sensor-workflow-stage .card-head{width:100%;flex-wrap:wrap;gap:8px}.sensor-workflow-stage h2{font-size:24px}.sensor-workflow-stage .pill{white-space:normal}.sensor-workflow-stage p{color:var(--muted);line-height:1.6;font-size:14px;margin:0 0 8px}.sensor-workflow-stage button{margin-top:auto;width:auto;padding:11px 18px}.sensor-saved-devices h2{font-size:23px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sensor-guide-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 24px}.sensor-guide-entry span{font-size:14px;color:var(--muted)}
.sensor-allocation-dialog{width:min(1140px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:26px;overflow:auto}.sensor-allocation-dialog .dialog-head h2{font-size:27px}.sensor-allocation-form{display:grid;gap:16px;min-width:0}.sensor-step-tabs{display:flex;gap:8px;flex-wrap:wrap}.sensor-step-tabs button{flex:1 1 180px;padding:12px 16px;font-size:16px}.sensor-step-tabs button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.sensor-step-description{margin:0;font-size:15px;color:var(--muted);line-height:1.6}.sensor-bulk-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,240px);gap:14px}.sensor-bulk-toolbar .field{margin:0;min-width:0}.sensor-bulk-toolbar input,.sensor-bulk-toolbar select,.sensor-batch-allocation select,.sensor-allocation-card input:not([type=checkbox]),.sensor-allocation-card select{font-size:16px;min-height:46px;min-width:0;width:100%;max-width:100%}.sensor-selection-bar{display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.sensor-selection-bar>label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;min-height:44px;cursor:pointer}.sensor-selection-bar input[type=checkbox],.sensor-row-heading input[type=checkbox]{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:var(--navy);cursor:pointer}.sensor-selection-bar>div{display:flex;gap:4px;flex-wrap:wrap}.sensor-selection-bar .link{font-size:13px;padding:9px}.sensor-selection-bar>span{margin-left:auto;font-size:13px;color:var(--muted);line-height:1.5}.sensor-batch-allocation{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:14px;background:var(--mist);border-radius:12px}.sensor-batch-allocation .field{flex:1 1 220px;min-width:0;margin:0}.sensor-batch-allocation button{flex:0 1 auto;padding:11px 14px;font-size:14px}.sensor-allocation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:12px;max-height:min(48vh,540px);overflow:auto;overscroll-behavior:contain;padding:3px 4px 6px;align-content:start}.sensor-allocation-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;min-width:0;display:flex;flex-direction:column;gap:12px}.sensor-allocation-card[data-selected=true]{border-color:#739a8a;box-shadow:inset 0 0 0 1px #739a8a}.sensor-row-heading{display:flex;align-items:flex-start;gap:11px;cursor:pointer;min-height:44px}.sensor-row-heading input{margin-top:3px}.sensor-row-heading>span{display:grid;gap:5px;min-width:0}.sensor-row-heading b{font-size:15px;line-height:1.5;color:var(--navy);overflow-wrap:anywhere}.sensor-row-heading small{font-size:12px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.sensor-suggestion{margin:0;font-size:13px;line-height:1.7;color:var(--navy);overflow-wrap:anywhere}.sensor-suggestion .pill{font-size:11px;padding:4px 7px;margin-right:4px}.sensor-suggestion small{display:block;font-size:12px;color:var(--muted);line-height:1.5}.sensor-allocation-fields{display:grid;gap:10px;margin-top:auto}.sensor-allocation-fields .field{font-size:13px;margin:0}.sensor-allocation-fields summary{font-size:13px;color:var(--navy);min-height:44px;padding:11px 0;cursor:pointer}.sensor-allocation-fields details .field{margin:8px 0}.sensor-entity{display:block;overflow-wrap:anywhere;font-size:11px;line-height:1.5;color:var(--muted)}.sensor-allocation-card [data-bulk-result]:not(:empty){font-size:13px;color:var(--green);font-weight:600}.sensor-allocation-note{font-size:13px;margin:0;line-height:1.6}.sensor-allocation-footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:15px;border-top:1px solid var(--line)}.sensor-allocation-footer button{padding:12px 18px;flex:0 1 auto}.sensor-allocation-footer .primary{min-width:190px}.sensor-no-results{padding:20px;text-align:center;color:var(--muted);border:1px solid var(--line);border-radius:12px;margin:0}
.sensor-allocation-form[data-sensor-step=found] .sensor-allocation-fields,.sensor-allocation-form[data-sensor-step=found] .sensor-batch-allocation,.sensor-allocation-form[data-sensor-step=found] .sensor-save,.sensor-allocation-form[data-sensor-step=allocate] .sensor-next{display:none}.sensor-allocation-card[hidden],.sensor-no-results[hidden]{display:none!important}.sensor-allocation-dialog .setup-checklist{border:0;box-shadow:none;padding:0}
@media(max-width:700px){.sensor-workflow-summary{grid-template-columns:1fr;gap:12px}.sensor-workflow-stage{padding:20px}.sensor-workflow-stage h2{font-size:22px}.sensor-page-actions{width:100%}.sensor-page-actions button{flex:1 1 140px}.sensor-connection{padding:12px 15px}.sensor-connection>summary{align-items:flex-start;flex-wrap:wrap;gap:9px}.sensor-connection>summary>span:last-child{font-size:12px}.sensor-allocation-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:18px 14px}.sensor-step-tabs{gap:6px}.sensor-step-tabs button{font-size:14px;flex-basis:130px;padding:10px}.sensor-bulk-toolbar{grid-template-columns:1fr}.sensor-bulk-toolbar .field{font-size:13px}.sensor-selection-bar{gap:5px;padding:9px}.sensor-selection-bar>span{margin-left:0;flex-basis:100%}.sensor-selection-bar>div{gap:0}.sensor-selection-bar .link{padding:8px;font-size:12px}.sensor-batch-allocation{gap:8px}.sensor-batch-allocation .field{flex-basis:100%}.sensor-batch-allocation button{flex:1 1 120px}.sensor-allocation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));max-height:43vh}.sensor-allocation-footer button{flex:1 1 100px}.sensor-allocation-footer .primary{min-width:0}.sensor-allocation-note{font-size:12px}}

#modal .setup-checklist button,#modal form[data-form="device-setup"] button{white-space:normal;max-width:100%;min-height:44px;height:auto;line-height:1.45;overflow-wrap:anywhere}
.device-management-dialog{max-width:850px;width:calc(100% - 24px)}.device-manage-tools,.device-manage-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.device-management-dialog button{min-height:44px;white-space:normal;height:auto;max-width:100%;overflow-wrap:anywhere;line-height:1.45}.device-manage-tools [data-manage-count]{margin-left:auto;font-size:14px}.device-manage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:44dvh;overflow:auto;padding:3px;overscroll-behavior:contain}.device-manage-row{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:13px;font-size:14px;cursor:pointer}.device-manage-row[hidden]{display:none}.device-manage-row input{width:20px;height:20px;flex-shrink:0;accent-color:var(--navy)}.device-manage-row>span{min-width:0;display:grid;gap:5px;overflow-wrap:anywhere}.device-manage-row small{font-size:12px;color:var(--muted)}.device-removal-names{max-height:240px;overflow:auto;display:flex;gap:7px;flex-wrap:wrap}.device-removal-names span{padding:7px 10px;background:var(--mist);border-radius:8px;font-size:14px;overflow-wrap:anywhere}.device-manage-actions button{flex:1 1 125px}.device-group-card>details{margin:12px 0;border-top:1px solid var(--line);font-size:13px}.device-group-card summary{min-height:44px;padding:12px 0;cursor:pointer}.device-group-card details p{margin:6px 0;overflow-wrap:anywhere}.device-group-card>.card-head h2{margin:0;min-width:0}.device-group-card>.card-head{gap:10px;flex-wrap:wrap}.home-controls{margin:22px 0}.home-controls>.card-head h2{font-size:21px}.home-controls>.card-head{display:flex;gap:12px;justify-content:space-between;align-items:center}.home-controls .device-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.home-controls .device-card{padding:18px}.home-controls .device-card h2{font-size:18px}.home-controls .device-controls{display:flex;gap:8px;flex-wrap:wrap}.home-controls .device-controls button{flex:1;min-height:44px}.home-controls .device-reading{font-size:23px}.device-home-summary .device-grid{margin-top:15px}.device-management-dialog .row-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:600px){.device-manage-list{grid-template-columns:1fr;max-height:40dvh}.device-manage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.device-manage-tools button{flex:1 1 130px}.device-manage-tools [data-manage-count]{width:100%;margin:0}.home-controls .device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-controls .device-card{padding:13px}.home-controls .device-card h2{font-size:16px}.home-controls .device-controls{flex-direction:column}.home-controls .device-controls button{width:100%;font-size:14px}}

/* Guided, confirmed device setup. */
.onboarding-options{display:grid;gap:14px}.onboarding-results{display:grid;gap:12px;max-height:48vh;overflow:auto}.onboarding-results h3{margin:0 0 6px}.onboarding-results p{margin:4px 0}.onboarding-results .card-head{gap:16px;align-items:center}[data-onboarding] fieldset{border:1px solid var(--line,#d4dfda);border-radius:12px;padding:16px}[data-onboarding-added]{display:grid;gap:16px;padding-left:22px}@media(max-width:540px){.onboarding-results .card-head{align-items:start;flex-direction:column}}

.device-value-form{display:flex;gap:12px;align-items:end;margin-top:12px;flex-wrap:wrap}.device-value-form .field{flex:1;min-width:140px}.device-value-form .form-error{flex-basis:100%}.device-action-settings{margin-top:12px}.device-support-table{overflow:auto}.device-support-table table{border-collapse:collapse;width:100%;font-size:.94rem}.device-support-table th,.device-support-table td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line,#d4dfda)}.device-support-table th{min-width:140px}

.home-actuator-row{display:grid;gap:10px}.home-actuator-row .device-controls{justify-content:start}.home-actuator-row .device-action-settings{width:100%;margin:0}
