:root{--navy:#101010;--teal:#df0000;--ink:#181818;--muted:#666666;--line:#dddddd;--bg:#f5f5f5;--amber:#a96b15}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.5 'Segoe UI',Arial,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:9px 15px;font-weight:600}button:hover{background:#f3f3f3}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#b80000}button.danger{color:#b13b36}.logo{font-size:34px;font-weight:800;letter-spacing:2px}.logo span{display:block;font-size:10px;letter-spacing:1.8px;font-weight:600;color:#dddddd;margin-top:2px}aside{width:236px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:white;padding:28px 22px;display:flex;flex-direction:column;z-index:5}nav{display:grid;gap:4px;margin-top:32px}nav button{background:transparent;border:0;color:#eeeeee;text-align:left;font-size:14px;padding:10px 12px;display:flex;align-items:center;gap:12px}nav button.active{background:#d90000;color:white}nav button:hover{background:#292929}nav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}.aside-foot{margin-top:auto;padding-top:22px;font-size:12px;color:#cccccc}.aside-foot small{display:block;margin-top:10px}.aside-foot button{background:transparent;color:#cccccc;border-color:#555555;padding:5px 9px;font-size:12px;margin-top:12px}.live-dot{display:inline-block;width:7px;height:7px;background:#ff3030;border-radius:50%;margin-right:6px}main{margin-left:236px;padding:32px 38px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px}h1{font-size:29px;letter-spacing:-.6px;margin:4px 0}h2{font-size:19px;margin:0 0 8px}h3{font-size:15px;margin:0 0 8px}p{margin:5px 0}#subtitle,.muted,small{color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--teal)}.header-right{display:flex;gap:15px;align-items:center;font-size:13px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}.stat strong{display:block;font-size:31px;font-weight:650;margin:8px 0}.stat span{font-size:13px;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:23px;margin-bottom:22px}.card-head,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.card-head p{font-size:13px;color:var(--muted)}.two{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.toolbar input{max-width:330px}.toolbar .buttons,.buttons{display:flex;gap:8px;flex-wrap:wrap}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:600;color:var(--muted);background:#f7f7f7;padding:12px 10px;white-space:nowrap}td{padding:13px 10px;border-bottom:1px solid #f3f3f3;vertical-align:middle}td strong{font-weight:600}td small{display:block;font-size:11px}td button{font-size:12px;padding:6px 10px}td .buttons{flex-wrap:nowrap}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.badge{display:inline-block;padding:4px 9px;border-radius:5px;background:#f3f3f3;font-size:11px;font-weight:600;color:#666666;white-space:nowrap}.badge.approved,.badge.completed{background:#f3f3f3;color:#b80000}.badge.review,.badge.active{background:#fff2dc;color:#946114}.badge.cancelled,.bad{background:#fbe9e6;color:#aa4943}.notice{padding:14px 16px;background:#fdf5e5;border:1px solid #f0dfb7;color:#7e622f;border-radius:8px;font-size:13px;margin-bottom:22px}.empty{padding:38px 15px;text-align:center;color:var(--muted)}.empty h3{font-size:17px;color:var(--ink)}.empty button{margin-top:14px}.flow{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.flow span{font-size:12px;color:var(--muted)}.flow b{display:block;font-size:13px;color:var(--ink)}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}.filters label{min-width:150px;flex:1;font-size:12px}.filters input,.filters select{margin-top:4px}.filters button{align-self:flex-end}input,select,textarea{display:block;width:100%;border:1px solid #dddddd;border-radius:6px;background:white;color:var(--ink);padding:10px 11px;min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid #ffcccc;border-color:var(--teal)}input[type=checkbox]{width:18px;min-height:18px;display:inline-block;vertical-align:middle;margin-right:8px}input[type=file]{font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{font-size:13px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{margin-top:5px}.full{grid-column:1/-1}textarea{min-height:88px;resize:vertical}.checkboxes{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;padding:12px;background:#f7f7f7;border-radius:6px}.checkboxes label{font-weight:400}.check-row{background:#f7f7f7;padding:12px;border-radius:6px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:18px 0}.detail-grid small{display:block}.detail-grid b{display:block;font-weight:600}.section-label{font-size:13px;color:var(--teal);margin:24px 0 13px;padding-bottom:8px;border-bottom:1px solid var(--line)}dialog{border:0;border-radius:12px;padding:0;width:min(880px,94vw);max-height:90vh;box-shadow:0 30px 100px #10101040}dialog::backdrop{background:#10101080}dialog form{padding:25px 28px}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-head button{border:0;font-size:24px;padding:0 10px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.error{color:#ae4339;font-size:13px}#toast{background:#f3f3f3;border:1px solid #dddddd;color:#383838;padding:12px 16px;border-radius:7px;margin-bottom:20px}#toast.error{background:#fbe9e6;color:#ae4339;border-color:#e6bdb5}.line-table{margin-top:18px}.line-table input,.line-table select{padding:8px;font-size:13px;min-width:75px}.line-table td:first-child{min-width:230px}.line-table .line-total{white-space:nowrap}.sum{display:flex;justify-content:flex-end;gap:22px;padding:17px;background:#f7f7f7;margin-top:15px}.sum strong{display:block;font-size:20px}.sum small{font-size:12px}footer{color:#999999;font-size:11px;margin-top:32px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(120deg,#101010,#303030)}.login-card{background:white;width:min(450px,92vw);padding:38px;border-radius:14px}.login-card .logo{color:var(--navy);margin-bottom:24px}.login-card h1{font-size:25px}.login-card p{font-size:14px;color:var(--muted)}.login-card label{display:block;font-size:13px;margin:16px 0}.login-card input{margin-top:5px}.login-card button{width:100%;margin:8px 0 14px}.login-card small{display:block;font-size:11px}.timeline{display:grid;gap:13px}.timeline div{border-left:2px solid #dddddd;padding-left:12px;font-size:13px}.timeline small{display:block;font-size:11px}.expiry{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.expiry small{display:block}.count-num{font-variant-numeric:tabular-nums;text-align:right}.red{color:#b54840}.green{color:#d90000}[hidden]{display:none!important}@media(max-width:1100px){main{padding:25px 23px}.two{grid-template-columns:1fr}.stats{gap:10px}}@media(max-width:760px){aside{position:static;width:100%;padding:15px 18px}.logo{font-size:25px}.logo span{display:none}nav{display:flex;overflow:auto;margin-top:12px;gap:4px}nav button{white-space:nowrap;padding:8px}nav svg{display:none}.aside-foot{display:none}main{margin-left:0;padding:22px 16px}header{align-items:flex-start}.header-right span{display:none}h1{font-size:24px}.stats{grid-template-columns:1fr 1fr}.stat{padding:15px}.stat strong{font-size:25px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.detail-grid{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{max-width:none}.flow{flex-wrap:wrap}.card{padding:17px}dialog form{padding:20px}.sum{gap:15px}.sum strong{font-size:16px}}

.mobile-app main{margin:0 auto;max-width:600px;padding:18px 16px 100px}.mobile-app aside{position:static;width:auto;margin:auto;max-width:600px;padding:16px 20px}.mobile-app .logo{font-size:24px}.mobile-app nav{display:flex;gap:4px;overflow:auto;margin-top:12px}.mobile-app nav button{font-size:12px;padding:10px 8px;white-space:nowrap}.mobile-app nav svg{display:none}.mobile-app .aside-foot{display:none}.mobile-app header{margin-bottom:18px}.mobile-app h1{font-size:24px}.mobile-app .header-right span{display:none}.mobile-app .form-grid{grid-template-columns:1fr}.mobile-app .full{grid-column:auto}.mobile-app .detail-grid{grid-template-columns:1fr 1fr}.mobile-app .card{padding:17px}.mobile-app input,.mobile-app select,.mobile-app textarea{font-size:16px;min-height:48px}.mobile-app dialog{width:min(580px,96vw)}.mobile-app .buttons button{min-height:44px}.mobile-app .dialog-actions{position:sticky;bottom:0;background:white}.mobile-app .toolbar{flex-direction:column;align-items:stretch}.mobile-app .scroll{font-size:14px}.mobile-app .badge{font-size:12px}.mobile-app .new-device{margin-top:16px}

body.phone-preview{width:414px;max-width:100%;margin:20px auto;min-height:860px;background:#f5f5f5;border:10px solid #101010;border-radius:34px;box-shadow:0 14px 45px #10101033;overflow-x:hidden}.phone-preview .login{min-height:820px;padding:18px}.phone-preview .login-card{width:100%;padding:24px}.phone-preview main{padding:18px 12px 80px}.phone-preview aside{padding:20px 14px}.phone-preview dialog{max-width:390px;width:94vw}.phone-preview .header-right{align-self:flex-start}.phone-preview .mobile-app h1{font-size:24px}@media(max-width:440px){body.phone-preview{margin:0;border:0;border-radius:0;min-height:100vh;box-shadow:none}}

.mobile-app .phone-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.mobile-app .phone-item small{display:block;color:var(--muted)}.mobile-app .phone-item:last-child{border-bottom:0}.mobile-app .card h3{margin-top:20px}.mobile-app .card>.primary{width:100%;margin-top:18px}


.mobile-app .phone-report{max-height:360px;overflow:auto;margin-top:12px;border:1px solid var(--line);border-radius:8px}.mobile-app .phone-report table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:12px}.mobile-app .phone-report th,.mobile-app .phone-report td{padding:7px 5px;white-space:normal;overflow-wrap:anywhere}.mobile-app .phone-report th{position:sticky;top:0;z-index:1;background:#f3f3f3}.mobile-app .phone-report th:first-child{width:49%;text-align:left}.mobile-app .phone-report th:not(:first-child),.mobile-app .phone-report td:not(:first-child){text-align:center}.mobile-app .phone-report small{display:block;font-size:10px;color:var(--muted)}.mobile-app .phone-report-note{font-size:11px;margin:7px 0}
.area-grid{display:grid;grid-template-columns:1fr;gap:24px}.area-card{padding:42px 24px;text-align:left;background:white;border:1px solid var(--line);border-radius:18px;min-height:180px}.area-card strong{display:block;font-size:24px;color:#101010}.area-card span{display:block;margin-top:16px;color:var(--muted)}details>summary{cursor:pointer;font-weight:600;padding:12px 0}details details{margin-left:12px}.mobile-app .area-card{padding:24px 18px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}

.industrial-editor{width:min(1100px,96vw);max-width:1100px}.industrial-editor #formFields{display:block}.industrial-editor #industrialDevice,.industrial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.industrial-editor section[hidden]{display:none!important}.industrial-steps{display:flex;gap:12px;margin-bottom:20px}.industrial-steps .active{background:#181818;color:white}.industrial-scroll{overflow:auto;max-height:420px}.industrial-scroll input{min-width:110px}.industrial-editor h3{margin-top:24px}

.industrial-editor [data-industrial-measure]{background:#fff9be;color:#17252a}.industrial-editor #industrialMeasures small{display:block;margin-top:3px}

/* HTC company branding; measurement entry colors retain their meaning. */
.logo .htc-brand-logo{display:block;width:100%;height:auto;max-width:440px;object-fit:contain}.login-card .logo{margin-bottom:24px}.login-card .logo span{color:#555;letter-spacing:1.5px}.logo[role="button"]:focus-visible{outline:2px solid #ff3030;outline-offset:6px;border-radius:4px}.primary{background:#df0000;border-color:#df0000;color:#fff}.primary:hover{background:#b80000}nav button.active{background:#d90000;color:#fff}.area-card:hover{border-color:#df0000;background:#fff8f8}.area-card strong{color:#181818}.industrial-steps .active{background:#d90000;color:#fff}
@media(min-width:761px){body:not(.mobile-app) aside{width:310px;padding-left:14px;padding-right:14px}body:not(.mobile-app) main{margin-left:310px}body:not(.mobile-app) aside .htc-brand-logo{width:282px;max-width:100%}}.login-card .logo .htc-brand-logo{width:100%;max-width:none}.header-right{flex-wrap:wrap}

.area-entry{width:min(760px,100%);margin:24px auto 48px}.area-entry-logo{display:flex;justify-content:center;margin:0 auto 36px}.area-entry-logo .htc-brand-logo{display:block;width:100%;max-width:720px;height:auto}.area-entry .area-grid{grid-template-columns:1fr;gap:20px}.area-entry .area-card{text-align:center;min-height:150px;padding:32px 24px}.area-entry .area-card strong{font-size:27px}.area-entry .area-card span{margin-top:10px}@media(max-width:760px){.area-entry{margin-top:12px}.area-entry-logo{margin-bottom:24px}.area-entry .area-card strong{font-size:22px}}

body.area-selection #shell>aside{display:none}body.area-selection #shell>main{margin-left:0;max-width:none}body.area-selection main>header>div:first-child{display:none}body.area-selection main>header{justify-content:flex-end;margin-bottom:12px}body.area-selection .area-entry{margin-top:20px}body.area-selection main>footer{text-align:center}
body.area-selection .area-entry{width:min(940px,100%)}body.area-selection .area-entry-logo .htc-brand-logo{max-width:900px}body.area-selection .area-entry-logo{margin-bottom:42px}body.area-selection .area-entry .area-card{min-height:180px;padding:42px 28px}body.area-selection .area-entry .area-card strong{font-size:34px}body.area-selection .area-entry .area-card span{font-size:17px}@media(max-width:760px){body.area-selection .area-entry .area-card{min-height:150px;padding:30px 18px}body.area-selection .area-entry .area-card strong{font-size:25px}body.area-selection .area-entry .area-card span{font-size:15px}}

.device-chart-layout{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:32px;margin-top:22px}.device-donut{width:260px;height:260px;border-radius:50%;display:grid;place-items:center;margin:auto}.device-donut>div{width:174px;height:174px;border-radius:50%;background:white;display:flex;flex-direction:column;justify-content:center;align-items:center}.device-donut strong{font-size:42px;color:#181818}.device-donut span{color:#666}.device-chart-legend{max-height:320px;overflow:auto}.device-chart-legend>div{display:grid;grid-template-columns:12px minmax(0,1fr) 50px 55px;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #eee}.device-chart-dot{width:12px;height:12px;border-radius:50%}.device-chart-legend strong,.device-chart-legend small{text-align:right}.reference-dashboard-table{overflow:auto;max-height:400px}.reference-dashboard-table a{display:inline-block;margin:4px 8px}.reference-dashboard-table th{position:sticky;top:0;background:white}@media(max-width:1000px){.device-chart-layout{grid-template-columns:1fr;gap:20px}}

.vehicle-due-table{overflow:auto;max-height:360px}.vehicle-due-table th{position:sticky;top:0;background:white}.vehicle-due-table td:last-child{white-space:nowrap}.vehicle-due-table td:first-child button{white-space:nowrap}

/* Keep desktop navigation and footer within the available screen height. */
@media(min-width:761px){body:not(.mobile-app) #shell>aside{height:100dvh;overflow:hidden}body:not(.mobile-app) #shell>aside>.logo{flex-shrink:0}body:not(.mobile-app) #shell>aside>#nav{min-height:0;overflow-y:auto;flex:1;align-content:start;margin-top:20px}body:not(.mobile-app) #shell>aside>.aside-foot{flex-shrink:0;margin-top:12px;padding-top:10px}body:not(.mobile-app) #shell>aside>.aside-foot button{overflow-wrap:anywhere}}

#shell .aside-foot #footerManagement,#shell .aside-foot #footerReports{display:flex!important;align-items:center;gap:12px;min-height:36px;background:transparent!important;color:#eee;border:0;padding:8px 12px;font-size:14px;text-align:left}
#shell .aside-foot #footerManagement svg,#shell .aside-foot #footerReports svg{width:18px;height:18px;min-width:18px;max-width:18px;max-height:18px;flex:0 0 18px;stroke:currentColor;fill:none;stroke-width:1.6}

.phone-report .unplanned-device-row td{background:#fff3dc;color:#754500}.phone-report .unplanned-device-row td small{color:#8a5c16}

body.mobile-app #shell>aside{height:auto;overflow:visible;inset:auto;flex-shrink:0}body.mobile-app #shell>aside>#nav{flex:none;min-height:auto;overflow-x:auto;overflow-y:hidden;align-content:normal}
body.mobile-app .phone-item>div{min-width:0;overflow-wrap:anywhere}body.mobile-app .phone-item>button{flex-shrink:0}body.mobile-app header>div:first-child{min-width:0}body.mobile-app h1,body.mobile-app h2{overflow-wrap:anywhere}

.header-search{position:relative;flex:1;max-width:440px;min-width:200px;margin:0 22px}.header-search label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.header-search input{width:100%}.header-search-results{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #ddd;border-radius:10px;box-shadow:0 8px 24px #0002;padding:8px;max-height:340px;overflow:auto;z-index:100}.header-search-results button{display:block;width:100%;text-align:left;white-space:normal;margin:3px 0;padding:10px;background:#f5f5f5;color:#222}.search-found{outline:3px solid #e8ac22;background:#fff5cf!important}@media(max-width:900px){.header-search{order:3;flex-basis:100%;max-width:none;margin:12px 0}main>header{flex-wrap:wrap}}.mobile-app .header-search{display:none}

#localAssistant{position:fixed;right:22px;bottom:20px;z-index:110}#assistantToggle{background:#b91c1c;color:white;border-radius:24px;padding:13px 22px;box-shadow:0 4px 14px #0002}#assistantPanel{position:absolute;right:0;bottom:58px;width:390px;max-width:calc(100vw - 30px);max-height:75vh;overflow:auto;padding:18px;background:white;border:1px solid #ddd;border-radius:14px;box-shadow:0 8px 30px #0003;color:#222}#assistantPanel textarea,#assistantPanel input,#assistantPanel select{width:100%}#assistantPanel label{display:block;margin:12px 0}#assistantPanel p{font-size:13px;line-height:1.5}#assistantChoices button{display:block;width:100%;text-align:left;margin:5px 0}.mobile-app #localAssistant{display:none}body:has(#shell[hidden]) #localAssistant{display:none}

#assistantDrop{padding:18px;border:2px dashed #ccc;border-radius:10px;margin:12px 0;font-size:13px}#assistantDrop.dragging{background:#fff1f1;border-color:#b91c1c}#assistantRun{width:100%;background:#b91c1c;color:white}

#localAssistant .assistant-window-actions{display:flex;gap:6px;align-items:center}#localAssistant .assistant-window-actions button{width:32px;min-width:32px;padding:4px;font-size:20px;line-height:1.2}

#assistantCommand.dragging{background:#fff1f1;border:2px dashed #b91c1c}#assistantFileName{overflow-wrap:anywhere}

#assistantVoice{width:100%;margin-bottom:8px}#assistantVoice[aria-pressed="true"]{background:#b91c1c;color:#fff}

.vehicle-sort{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.vehicle-sort span{margin-left:5px}.vehicle-sort:hover{text-decoration:underline}

/* Monthly and annual totals share one responsive row. */
.device-totals-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.device-total-panel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:8px}.device-totals-pair .device-chart-layout{grid-template-columns:1fr;gap:18px;margin-top:16px}.device-totals-pair .device-chart-legend>div{grid-template-columns:12px minmax(0,1fr) 40px 48px;gap:8px}.device-totals-pair .device-chart-legend{max-height:260px}#biomedicalDashboardReports>.card>.card-head{flex-wrap:wrap}#biomedicalDashboardReports>.card>.card-head>div{flex:1 1 280px}@media(max-width:760px){.device-totals-pair{grid-template-columns:1fr;gap:16px}.device-total-panel{padding:12px}.device-totals-pair .device-donut{width:220px;height:220px}.device-totals-pair .device-donut>div{width:150px;height:150px}}

#customerPickerResults{display:grid;gap:4px;max-height:240px;overflow:auto;margin-top:6px} .customer-search-result{text-align:left;width:100%;padding:10px;background:#fff;border:1px solid #ddd;border-radius:5px;color:#222} .customer-search-result:hover{background:#fff0f0;border-color:#c00}

.dashboard-summary-row{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.dashboard-summary-row .stat strong{font-size:clamp(20px,2vw,32px);overflow-wrap:anywhere}.dashboard-summary-row .stat input{width:100%;margin-top:6px}@media(max-width:1000px){.dashboard-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dashboard-summary-row{grid-template-columns:1fr}}

.dashboard-offer-row{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.dashboard-offer-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dashboard-offer-row{grid-template-columns:1fr}}

.dashboard-work-row{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.dashboard-work-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dashboard-work-row{grid-template-columns:1fr}}

.dashboard-summary-row{gap:12px;margin-bottom:12px}.dashboard-summary-row .stat{padding:14px;min-height:0}.dashboard-summary-row .stat strong{font-size:clamp(18px,1.7vw,27px);margin:8px 0}.dashboard-summary-row .stat>span{font-size:12px}.dashboard-summary-row .stat label{font-size:12px}.dashboard-summary-row .stat input{padding:6px 8px;min-height:32px}.dashboard-price-warning{display:block;color:#b91c1c;font-weight:700;font-size:12px;animation:dashboard-price-pulse 1.6s ease-in-out infinite}@keyframes dashboard-price-pulse{0%,100%{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.dashboard-price-warning{animation:none}}

.dashboard-summary-row{gap:10px;margin-bottom:10px}.dashboard-summary-row .stat{padding:10px 12px}.dashboard-summary-row .stat strong{font-size:clamp(17px,1.5vw,24px);margin:5px 0;line-height:1.2}.dashboard-summary-row .stat>span,.dashboard-summary-row .stat label{font-size:11px;line-height:1.35}.dashboard-summary-row .stat input{padding:4px 6px;min-height:28px;margin-top:4px;font-size:12px}.dashboard-price-warning{font-size:11px;margin:2px 0}

body:not(.mobile-app) .header-right{align-self:flex-start;margin-top:0}body:not(.mobile-app) #logout{transform:translateY(-4px)}.header-notifications{background:#d90000;color:#fff;border-color:#d90000}.header-notifications:hover{background:#b80000}

.device-totals-pair{gap:16px}.device-totals-pair .device-chart-layout{grid-template-columns:minmax(120px,38%) minmax(0,1fr);gap:14px;align-items:center}.device-totals-pair .device-donut{width:min(100%,200px);height:auto;aspect-ratio:1;margin:0}.device-totals-pair .device-donut>div{width:67%;height:67%}.device-totals-pair .device-donut strong{font-size:30px}.device-totals-pair .device-donut span{font-size:12px;text-align:center}.device-totals-pair .device-chart-legend>div{grid-template-columns:8px minmax(0,1fr) 30px 42px;gap:5px;font-size:12px}.device-totals-pair .device-chart-dot{width:8px;height:8px}@media(max-width:760px){.device-totals-pair{grid-template-columns:1fr}.device-totals-pair .device-chart-layout{grid-template-columns:minmax(120px,38%) minmax(0,1fr)}}

.mobile-app .dispatch-actions{display:flex;flex-wrap:wrap;gap:8px}.mobile-app .dispatch-actions a{padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;min-height:44px}

.template-scope-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.template-scope-panel{min-width:0}.template-scope-panel .card-head{flex-wrap:wrap}.template-scope-panel td:first-child{overflow-wrap:anywhere}@media(max-width:760px){.template-scope-columns{grid-template-columns:1fr}}

.template-scope-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.template-scope-panel{padding:16px}.template-scope-panel h2{font-size:17px}@media(max-width:760px){.template-scope-columns{grid-template-columns:1fr}}

.template-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.template-group-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;min-height:150px;margin:0}.template-group-card strong{font-size:15px}.template-group-number{color:#d90000;font-size:22px;font-weight:700}@media(max-width:1000px){.template-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.template-group-grid{grid-template-columns:1fr}}

.template-group-open{display:flex;flex-direction:column;gap:12px;align-items:flex-start;text-align:left;width:100%;flex:1;border:0;padding:0;background:transparent}.template-group-card>.primary{font-size:12px;padding:7px 10px}

.template-group-grid{gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.template-group-card{padding:12px;gap:8px;min-height:125px}.template-group-card strong{font-size:13px;line-height:1.35}.template-group-number{font-size:18px}.template-group-open{gap:7px}.template-group-card>.primary{padding:5px 8px;font-size:11px}.template-group-card small{font-size:11px}@media(max-width:1100px){.template-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.template-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.template-group-grid{grid-template-columns:1fr}}

.personnel-template-groups{margin:0;padding-left:16px;min-width:210px;font-size:12px}.personnel-template-groups li{margin:4px 0}

button.dashboard-price-warning{display:block;background:none;border:0;padding:0;margin-top:6px;color:#b91c1c;cursor:pointer;text-decoration:underline;font:inherit;font-size:12px;text-align:left;}

/* Device label scanning */
.device-lookup-tools{min-width:0}.device-lookup-tools video{display:block;width:100%;max-height:45vh;object-fit:contain;background:#111;border-radius:12px}.device-lookup-tools [hidden]{display:none!important}.device-lookup-tools .buttons{flex-wrap:wrap}.device-lookup-tools p{overflow-wrap:anywhere}
