:root{--bg:#e0e6ea;--surface:#edf1f4;--surface-alt:#dce5eb;--text:#17344d;--muted:#5c7181;--border:#bac9d4;--input:#f4f7f9;--blue:#c5d9e8;--purple:#ded2e8;--amber:#e7c383;--teal:#bcded9;--warn:#eac88f;--warn-text:#67460b;--expired:#edc6cc;--expired-text:#8c1a30;font-family:Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.45;background:var(--bg);color:var(--text)}html[data-size=small]{font-size:14px}html[data-size=large]{font-size:19px}html[data-theme=dark]{--bg:#101b28;--surface:#1d2b3a;--surface-alt:#253849;--text:#e4edf4;--muted:#adbeca;--border:#3c5569;--input:#152333;--blue:#23465f;--purple:#463956;--amber:#60431a;--teal:#245551;--warn:#614719;--warn-text:#ffdf98;--expired:#522b35;--expired-text:#ffc7d0}*{box-sizing:border-box}body{margin:0}a{color:var(--text)}header{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:13px 2vw;border-bottom:1px solid var(--border);background:var(--surface)}header a{text-decoration:none}.brand{font-weight:750;font-size:1rem}header nav{display:flex;gap:20px;flex:1;flex-wrap:wrap;font-size:.85rem}header span{font-size:.8rem;color:var(--muted)}header form{margin:0}header button{font-size:.85rem;padding:7px 12px}main{margin:32px auto;padding:0 2vw;max-width:2100px}h1{margin:0 0 8px;font-size:2rem;line-height:1.2}h2{font-size:1.25rem;margin:0 0 14px}p{color:var(--muted)}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}.workspace-heading p{margin:12px 0 0}.display-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;font-size:.8rem}.display-controls label{margin:0}.display-controls select{padding:6px 9px;min-width:105px}.display-controls button{padding:6px 14px}.summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.summary-card{position:relative;display:block;padding:23px 30px 26px;min-height:150px;text-decoration:none;border-radius:16px;box-shadow:0 8px 0 #7a909a33}.summary-card span{display:block;font-weight:700;font-size:1.1rem}.summary-card strong{display:block;font-size:2.8rem;line-height:1.2;margin-top:23px}.summary-card i{position:absolute;right:25px;bottom:25px;width:58px;height:58px;border-radius:50%;background:#18314915;display:grid;place-items:center;font-style:normal;font-size:1.4rem}.blue,.action-blue{background:var(--blue)}.purple,.action-purple{background:var(--purple)}.amber{background:var(--amber)}.action-teal{background:var(--teal)}.desktop-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:28px 0 24px}.desktop-toolbar>button,.desktop-toolbar>.button,.menu>summary{padding:15px 23px;font-weight:600}.desktop-toolbar .inline-field{font-size:.75rem;font-weight:500;margin:0;min-width:180px}.inline-field input{padding:7px 10px;margin-top:2px;font-size:.85rem}.menu{position:relative}.menu summary{list-style:none;border:1px solid var(--border);border-radius:4px;cursor:pointer}.menu summary::-webkit-details-marker{display:none}.menu-items{position:absolute;left:0;top:calc(100% + 5px);min-width:225px;background:var(--surface);border:1px solid var(--border);box-shadow:0 6px 15px #0002;border-radius:5px;padding:6px;z-index:10}.menu-items a,.menu-items button{display:block;width:100%;text-align:left;text-decoration:none;padding:10px;font-weight:400;border:0;background:transparent}.menu-items a:hover,.menu-items button:hover{background:var(--surface-alt)}.search-sort{display:flex;align-items:end;gap:13px;flex-wrap:wrap;margin:18px 0}.search-sort label{margin:0;font-size:.8rem}.search-sort .search-field{flex:1;min-width:250px}.search-sort .search-field input{min-height:40px}.search-sort select{min-width:130px}.filter-options{position:relative;padding:9px 0}.filter-options summary{cursor:pointer;font-size:.8rem}.filter-options>div{position:absolute;right:0;min-width:280px;background:var(--surface);padding:18px;border:1px solid var(--border);z-index:9}.table-hint{font-size:.8rem;margin:22px 0 12px}.workspace-tabs{display:flex;gap:0;align-items:end;overflow-x:auto;white-space:nowrap}.workspace-tabs a{border:1px solid var(--border);border-bottom:0;padding:16px 24px;background:var(--surface);text-decoration:none}.workspace-tabs a.active{background:var(--blue);font-weight:600;padding-bottom:18px}.inventory-panel{border:1px solid var(--border);background:var(--surface);border-radius:0 4px 4px 4px;overflow:hidden}.sensor-alerts{padding:14px 18px;font-size:.9rem;border-bottom:1px solid var(--border);background:var(--bg)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}th{padding:16px;white-space:nowrap;background:var(--surface-alt);font-weight:750;border-bottom:1px solid var(--border)}.sensor-table th{text-transform:uppercase}.sensor-table td{padding:20px 16px;min-width:145px}td{padding:13px;border-top:1px solid var(--border);vertical-align:middle}tbody tr:nth-child(2n){background:var(--surface-alt)}tbody tr.warning-row{background:var(--warn);color:var(--warn-text)}tbody tr.expired-row{background:var(--expired);color:var(--expired-text)}tbody tr.warning-row a,tbody tr.expired-row a{color:inherit}.sensor-table a{text-decoration:none}.sensor-table a:hover{text-decoration:underline}.sensor-table th.selection-column,.sensor-table td:first-child:has(.row-select){min-width:60px;width:70px}.row-select{width:20px;height:20px;accent-color:#235c89;margin:0}.sensor-table td.empty-table{padding:50px 20px;text-align:center;color:var(--muted)}.table-caption{padding:12px 18px;font-size:.8rem;color:var(--muted);border-top:1px solid var(--border)}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:1px solid var(--border);border-radius:3px;padding:9px 12px;font:inherit;color:var(--text);background:var(--input);margin-top:5px}input[readonly],textarea[readonly]{background:var(--bg)}textarea{min-height:95px}button,.button{display:inline-block;border:1px solid var(--border);background:var(--surface);padding:9px 16px;border-radius:4px;color:var(--text);font:inherit;cursor:pointer;text-decoration:none}.primary{background:#265f89;color:#fff;border-color:#265f89}button:hover,.button:hover{filter:brightness(.96)}.card{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:20px 0}.narrow{max-width:480px;margin:60px auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.heading,.toolbar,.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.heading{justify-content:space-between}.filters{padding:18px;margin:20px 0;align-items:end}.filters label{flex:1;min-width:160px}.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{width:auto;margin:0}fieldset{border:1px solid var(--border);border-radius:6px;margin:16px 0}.status{display:inline-block;background:var(--surface-alt);border-radius:5px;padding:3px 8px;white-space:nowrap}.notice{padding:14px 18px;background:var(--blue);border-left:4px solid #265f89;border-radius:5px}pre{font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere;max-width:700px}footer{text-align:center;color:var(--muted);font-size:.75rem;margin:32px}summary{cursor:pointer}@media(min-width:1500px){.summary-card{min-height:170px}.summary-card strong{font-size:3rem}.sensor-table td{padding-top:26px;padding-bottom:26px}}@media(max-width:900px){.summary-card{padding:20px;min-height:135px}.summary-card i{width:38px;height:38px;right:15px;bottom:20px}.summary-card strong{font-size:2.3rem}.summary-card span{font-size:.9rem}.workspace-tabs a{padding:12px 18px}.desktop-toolbar .inline-field{flex:1}}@media(max-width:600px){main{padding:0 12px;margin:20px auto}header{gap:12px;padding:12px}header nav{order:3;flex-basis:100%;gap:14px}.summary-cards{gap:9px}.summary-card{padding:14px 10px;min-height:120px;border-radius:9px}.summary-card span{font-size:.72rem}.summary-card strong{font-size:2rem}.summary-card i{display:none}.grid{grid-template-columns:1fr}.card{padding:18px}.display-controls{gap:8px}.search-sort .search-field{min-width:100%;flex-basis:100%}.workspace-heading h1{font-size:1.7rem}.desktop-toolbar>button,.desktop-toolbar>.button,.menu>summary{padding:11px 14px}.sensor-alerts{font-size:.75rem}}
.desktop-toolbar>.action-purple{background:var(--purple)}

#editable-grid input:not([type=checkbox]){min-width:145px;width:100%;border:1px solid transparent;background:transparent;padding:8px}#editable-grid input:focus{background:var(--surface);border-color:var(--text)}#workspace-form details{padding:14px;margin:12px 0}#workspace-form textarea{width:100%}

html[data-size=normal],html[data-size=medium]{font-size:16px}html[data-size=compact],html[data-size=small]{font-size:13px}html[data-size=large]{font-size:18px}html[data-size=fit]{font-size:clamp(12px,.96vw,16px)}
main{margin:24px auto}.summary-cards{margin:16px 0;gap:10px}.summary-card{min-height:122px;padding:20px;border-radius:20px}.summary-card strong{margin-top:16px;font-size:2.5rem}.summary-card i{width:42px;height:42px;bottom:20px}.desktop-toolbar{margin:14px 0;gap:8px}.desktop-toolbar>button,.desktop-toolbar>.button,.menu>summary{padding:9px 14px}.workspace-tabs a{padding:10px 18px}.workspace-tabs a.active{padding-bottom:12px}.sensor-table td{padding:7px 10px}.sensor-table th{padding:11px 10px}.sensor-table input{margin:0}.table-wrap{max-height:56vh}.sensor-table thead{position:sticky;top:0;z-index:2}.personal-draft{outline:1px dashed var(--border);outline-offset:-1px}.personal-draft input{font-size:inherit}.draft-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.8rem;padding:9px 0}.draft-controls span{flex:1}.paste-panel{position:absolute;right:0;z-index:15;width:min(480px,90vw);padding:16px;border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 20px #0003}.paste-panel button{margin:4px}.status-strip{display:flex;gap:10px;flex-wrap:wrap}.status-strip span{padding:8px 12px;border-radius:10px;background:var(--blue)}.drop-zone{padding:24px;border:2px dashed var(--border);text-align:center}.drop-zone.dragging{background:var(--teal)}.visually-hidden{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.damage-toolbar{padding:0 12px}.sensor-table td[data-field]{cursor:default}.sensor-table td[data-field]:focus{outline:2px solid #265f89;outline-offset:-2px}
html[data-size=fit] .sensor-table{table-layout:fixed}html[data-size=fit] .sensor-table td{min-width:65px;overflow-wrap:anywhere}html[data-size=fit] #editable-grid input:not([type=checkbox]){min-width:60px}html[data-size=fit] .sensor-table th{white-space:normal}html[data-size=fit] .selection-column{width:65px}
@media(min-width:1500px){.summary-card{min-height:122px}.sensor-table td{padding-top:8px;padding-bottom:8px}}@media(max-width:900px){html[data-size=fit] .sensor-table{table-layout:auto}.table-wrap{max-height:65vh}}

header{padding:7px 2vw}main{margin:18px auto}.workspace-heading{margin-bottom:12px}.workspace-heading p{margin-top:5px}.table-hint{margin:10px 0 8px}.search-sort{margin:12px 0}.draft-controls{padding:8px 0;margin:0}.sensor-table td{padding:6px 9px}

.app-shell.authenticated{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:calc(100vh - 110px)}
.app-shell main{min-width:0;width:100%;box-sizing:border-box}
.workspace-sidebar{background:var(--panel,#f3f6f8);border-right:1px solid var(--border,#d4dde3);padding:22px 12px;display:flex;flex-direction:column;gap:5px}
.workspace-sidebar p{font-size:11px;font-weight:700;letter-spacing:.1em;margin:0 10px 12px;color:#6a7c8d}
.workspace-sidebar a{padding:11px 10px;border-radius:7px;text-decoration:none;font-weight:600;color:inherit}
.workspace-sidebar a:hover{background:#c5d7e8;color:#182d40}.workspace-sidebar .customer-navigation{font-size:12px;padding-left:24px}
.sensor-counts{margin:8px 0}.sensor-counts summary{cursor:pointer;font-weight:600}.sensor-counts>div{max-height:220px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;padding:12px;border:1px solid #cbd6de;border-radius:8px}
.sensor-counts span{display:flex;justify-content:space-between;gap:12px;padding:4px 8px}
@media(max-width:850px){.app-shell.authenticated{display:block}.workspace-sidebar{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid #cbd6de;padding:8px}.workspace-sidebar p{display:none}.workspace-sidebar a{padding:7px;font-size:12px}}
