.device-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid #dce4e2;background:#fff;box-shadow:0 8px 24px rgba(34,56,51,.045)}.device-view-tabs button{position:relative;display:grid;gap:3px;min-height:62px;border:0;border-right:1px solid #e5ebe9;padding:11px 16px;background:transparent;color:#687772;text-align:left;cursor:pointer}.device-view-tabs button:last-child{border-right:0}.device-view-tabs button:after{position:absolute;right:16px;bottom:-1px;left:16px;height:2px;background:transparent;content:""}.device-view-tabs button:hover{background:#f7faf9}.device-view-tabs button.active{background:#f3f8f6;color:#173d32}.device-view-tabs button.active:after{background:#2e8067}.device-view-tabs strong{font-size:12px;font-weight:720}.device-view-tabs span{font-size:10px}.device-data-panel[hidden]{display:none!important}.device-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.device-heading-actions{display:flex;gap:8px;flex-wrap:wrap}.device-filters{grid-template-columns:minmax(250px,1.45fr) repeat(6,minmax(130px,.72fr)) 80px;align-items:end}.device-table-wrap{overflow-x:auto}.device-table{min-width:1280px}.device-table td,.device-table th{white-space:nowrap}.device-table td.device-id-cell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.device-table td.device-address-cell{max-width:210px;overflow:hidden;text-overflow:ellipsis}.device-source{color:#64717d;font-size:10px}.device-status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.device-status:before{width:6px;height:6px;border-radius:50%;background:var(--teal);content:""}.device-status.offline:before,.device-status.inactive:before{background:#a0aab5}.device-action{border:0;background:transparent;color:var(--blue);font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}.device-action:hover{text-decoration:underline}.filter-multiselect{position:relative;min-width:0}.filter-multiselect summary{display:grid;gap:5px;list-style:none;cursor:pointer}.filter-multiselect summary::-webkit-details-marker{display:none}.filter-multiselect summary span{color:#69787d;font-size:10px}.filter-multiselect summary b{height:39px;padding:0 28px 0 10px;border:1px solid #dbe1e7;border-radius:7px;background:#fff;color:#27363a;font-size:12px;font-weight:400;line-height:39px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-multiselect summary b:after{position:absolute;right:10px;bottom:12px;color:#7c8893;content:"▾"}.filter-options{position:absolute;z-index:9;top:calc(100% + 6px);left:0;width:max(100%,190px);max-height:240px;padding:7px;border:1px solid #d7e0e8;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(24,44,66,.16);overflow:auto}.filter-options label{display:flex!important;min-height:33px;align-items:center;gap:8px;padding:5px 7px;border-radius:5px;cursor:pointer}.filter-options label:hover{background:#f2f6fb}.filter-options input{width:15px!important;height:15px!important;margin:0}.filter-options span{color:#3c4c5b!important;font-size:11px!important}.device-failures-wrap{overflow-x:auto}.device-failures-table{min-width:900px}.device-failures-table td{vertical-align:top}.device-source-data{display:block;max-width:370px;overflow:hidden;color:#6e7b87;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.device-failure-reason{display:block;max-width:260px;color:#b04b4b;font-size:11px;line-height:1.5;white-space:normal}.device-import-form{display:grid;gap:15px}.device-import-form label{display:grid;gap:6px;color:#687784;font-size:11px;font-weight:650}.device-import-form input[type=file]{width:100%;box-sizing:border-box;border:1px solid #d5dee6;border-radius:7px;padding:10px;background:#fff;color:#4d5c68;font:inherit;font-size:11px}.device-import-help{margin:0;color:#8a96a1;font-size:10px;line-height:1.6}.device-import-error{padding:9px 10px;border:1px solid #f0c3bc;border-radius:7px;background:#fff6f4;color:#a3443d;font-size:11px;line-height:1.5}.device-import-error[hidden]{display:none}.device-mapping{display:grid;gap:10px}.device-mapping h3{margin:0;color:#34424d;font-size:13px}.device-mapping p{margin:0;color:#84909b;font-size:10px;line-height:1.5}.device-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.device-mapping-grid label{gap:4px;font-weight:500}.device-mapping-grid select{width:100%;min-height:36px;border:1px solid #d5dee6;border-radius:7px;padding:7px 8px;background:#fff;color:#35434e;font:inherit;font-size:11px}.device-preview-wrap{overflow:auto;border:1px solid #e4e9ed;border-radius:7px}.device-preview-table{min-width:660px}.device-preview-table th,.device-preview-table td{padding:8px 9px;font-size:10px}.device-preview-table td{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-import-summary{padding:10px;border-radius:7px;background:#f6f8fb;color:#697681;font-size:11px;line-height:1.6}.device-import-summary strong{color:#283640}.device-preview-pager{margin-top:10px}.failure-editor-form{display:grid;gap:11px}.failure-editor-form label{display:grid;gap:5px;color:#687784;font-size:11px;font-weight:650}.failure-editor-form input{width:100%;box-sizing:border-box;min-height:37px;border:1px solid #d5dee6;border-radius:7px;padding:7px 9px;background:#fff;color:#33424d;font:inherit;font-size:11px}.failure-editor-form .device-import-error{margin:0}.failure-editor-actions{display:flex;gap:8px}.device-qr{display:grid;gap:12px;justify-items:start}.device-qr img{width:190px;height:190px;padding:8px;border:1px solid #e1e7ec;border-radius:8px;background:#fff;object-fit:contain}.device-qr p{margin:0;color:#697681;font-size:11px;line-height:1.5;word-break:break-all}.device-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.device-detail-actions button{min-height:36px}.device-device-list{display:grid;gap:9px;margin:0}.device-device-list div{display:grid;grid-template-columns:86px 1fr;gap:8px}.device-device-list dt{color:#869499;font-size:10px}.device-device-list dd{margin:0;color:#39494e;font-size:11px;word-break:break-word}.device-import-drawer .drawer-body{padding-bottom:35px}@media(max-width:1100px){.device-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}.device-keyword-filter{grid-column:span 2}}@media(max-width:820px){.device-view-tabs{grid-template-columns:1fr}.device-view-tabs button{border-right:0;border-bottom:1px solid #e5ebe9}.device-view-tabs button:last-child{border-bottom:0}.device-filters{grid-template-columns:1fr 1fr}.device-keyword-filter{grid-column:1/-1}.device-mapping-grid{grid-template-columns:1fr}.device-panel-heading{align-items:flex-start;flex-direction:column}.device-heading-actions{width:100%}}
.success{margin-top:14px;padding:10px 14px;border:1px solid #b9e2d0;border-radius:8px;background:#f1fbf5;color:#23734f;font-size:11px;line-height:1.5}
.device-source-preview{max-height:180px;overflow:auto;margin:0;padding:10px;border:1px solid #e1e7ec;border-radius:7px;background:#f7f9fb;color:#596874;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}

.drawer.device-import-wide{width:min(760px,calc(100vw - 280px));min-width:560px;max-width:calc(100vw - 32px);overflow:visible}
.drawer.device-import-wide .drawer-head,.drawer.device-import-wide .drawer-body{overflow:auto}
.drawer.device-import-wide .drawer-head{max-height:180px}
.drawer.device-import-wide .drawer-body{height:calc(100vh - 126px);padding:22px 24px 42px}
.device-import-resize-handle{position:absolute;z-index:2;top:0;bottom:0;left:-7px;width:14px;cursor:col-resize;touch-action:none}
.device-import-resize-handle:after{position:absolute;top:50%;left:5px;width:3px;height:54px;border-radius:3px;background:#a9b9b5;content:"";opacity:.62;transform:translateY(-50%);transition:background .16s,opacity .16s}
.device-import-resize-handle:hover:after,.drawer-resizing .device-import-resize-handle:after{background:#4b8d76;opacity:1}
.drawer-resizing{cursor:col-resize;user-select:none}
.device-import-form{padding:18px;border:1px solid #dfe7e4;border-radius:10px;background:#fbfcfc;box-shadow:0 10px 28px rgba(25,57,50,.055)}
.device-import-field{display:grid;gap:7px}
.device-import-field>label,.device-file-heading>label{color:#34484b;font-size:12px;font-weight:720}
.device-import-field>small{color:#7c8b90;font-size:10px;line-height:1.5}
.device-import-field select{width:100%;height:44px;appearance:none;border:1px solid #cbd8d4;border-radius:7px;padding:0 42px 0 12px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#71817d 50%),linear-gradient(135deg,#71817d 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-repeat:no-repeat;background-size:5px 5px;color:#263a3e;font:inherit;font-size:12px;outline:0}
.device-import-field select:focus{border-color:#4d8c75;box-shadow:0 0 0 3px rgba(77,140,117,.13)}
.device-file-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.device-template-actions{display:flex;gap:7px;flex-wrap:wrap}
.device-template-actions button{height:30px;border:1px solid #c7d5d1;border-radius:6px;padding:0 10px;background:#fff;color:#2d6655;font-size:10px;font-weight:650;white-space:nowrap}
.device-template-actions button:hover{border-color:#76a493;background:#f3f8f6}
.device-template-actions button:active{transform:translateY(1px)}
.device-template-actions button:disabled{cursor:wait;opacity:.55}
.device-file-input{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;clip:rect(0 0 0 0);overflow:hidden}
.device-file-picker{min-height:68px!important;display:grid!important;grid-template-columns:max-content 1fr!important;align-items:center!important;gap:13px!important;border:1px dashed #aebfba!important;border-radius:8px!important;padding:12px!important;background:#fff!important;cursor:pointer!important}
.device-file-picker:hover{border-color:#4d8c75!important;background:#f7fbf9!important}
.device-file-picker:focus-within{box-shadow:0 0 0 3px rgba(77,140,117,.13)}
.device-file-picker b{display:inline-flex;min-height:36px;align-items:center;border-radius:6px;padding:0 13px;background:#20383c;color:#fff;font-size:11px;font-weight:700;white-space:nowrap}
.device-file-picker span{min-width:0;overflow:hidden;color:#64757a;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.device-import-assurance{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 14px;border-left:3px solid #4d8c75;border-radius:0 7px 7px 0;background:#edf5f1}
.device-import-assurance strong{color:#294a40;font-size:11px}
.device-import-assurance span{color:#637671;font-size:10px;line-height:1.65}
.device-import-primary{width:100%;min-height:44px}
.device-import-drawer #deviceImportPreview{display:grid;gap:16px;margin-top:18px}
.device-import-drawer #deviceImportPreview[hidden]{display:none}
.device-import-summary{border:1px solid #dfe8e4;background:#f4f8f6}
.device-mapping{padding:16px;border:1px solid #e0e7e5;border-radius:9px;background:#fff}
.device-mapping-grid{margin-top:3px}
.device-mapping-grid select{appearance:none;padding-right:28px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#75847f 50%),linear-gradient(135deg,#75847f 50%,transparent 50%);background-position:calc(100% - 14px) 15px,calc(100% - 10px) 15px;background-repeat:no-repeat;background-size:4px 4px;outline:0}
.device-mapping-grid select:focus{border-color:#4d8c75;box-shadow:0 0 0 2px rgba(77,140,117,.12)}
.device-preview-wrap{max-height:360px;background:#fff}
.device-preview-table{min-width:max(760px,100%)}
.device-preview-table th{position:sticky;z-index:1;top:0;background:#eef3f1;color:#50615c}

@media(max-width:820px){
  .drawer.device-import-wide{width:100vw!important;min-width:0;max-width:100vw}
  .device-import-resize-handle{display:none}
  .drawer.device-import-wide .drawer-body{height:calc(100dvh - 126px);padding:16px 14px 34px}
  .device-import-form{padding:14px}
  .device-file-heading{align-items:flex-start;flex-direction:column}
  .device-import-assurance{grid-template-columns:1fr;gap:5px}
}
.device-catalog-filters{grid-template-columns:minmax(260px,1fr) minmax(180px,.55fr) 90px;align-items:end}.device-catalog-table{min-width:880px}.device-catalog-table td:nth-child(5){max-width:300px;white-space:normal;line-height:1.55}.danger-text{color:#b14b43}.preview-invalid td{background:#fff8f6;color:#8e433d}.preview-invalid td:last-child{min-width:240px;white-space:normal}@media(max-width:820px){.device-catalog-filters{grid-template-columns:1fr}.device-catalog-filters .device-keyword-filter{grid-column:auto}}
.device-editor-form{display:grid;gap:14px}.device-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.device-editor-grid label{display:grid;gap:6px;color:#687784;font-size:11px;font-weight:650}.device-editor-grid .wide{grid-column:1/-1}.device-editor-grid input,.device-editor-grid select{width:100%;box-sizing:border-box;min-height:39px;border:1px solid #d5dee6;border-radius:7px;padding:7px 10px;background:#fff;color:#33424d;font:inherit;font-size:11px}.device-generate-confirm{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;padding:10px 12px;border:1px solid #d9e5e0;border-radius:7px;background:#f4f8f6;color:#36594d!important}.device-generate-confirm input{width:16px!important;height:16px!important;min-height:0!important;margin:0}.device-generate-confirm[hidden]{display:none!important}.danger-button{border:1px solid #e3b8b2;border-radius:7px;padding:0 14px;background:#fff7f5;color:#a7443e;font:inherit;font-size:11px;cursor:pointer}.danger-button:hover{background:#ffefec}.danger-button:disabled{cursor:wait;opacity:.55}@media(max-width:820px){.device-editor-grid{grid-template-columns:1fr}.device-editor-grid .wide{grid-column:auto}}
.failure-editor-form select{width:100%;box-sizing:border-box;min-height:37px;border:1px solid #d5dee6;border-radius:7px;padding:7px 9px;background:#fff;color:#33424d;font:inherit;font-size:11px}
.device-qr-selection-bar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 20px; background: #f3f8f6; border-bottom: 1px solid #dce8e3; font-size: 13px; }
.device-qr-selection-bar[hidden] { display: none; }
.device-qr-selection-bar label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.device-qr-selection-bar input, .device-qr-select-cell input { width: 17px; height: 17px; accent-color: #187760; }
.device-qr-select-cell { width: 48px; text-align: center; }
#deviceQrBatchDownload[hidden], #deviceQrSelectionHeading[hidden] { display: none !important; }
