.app-brand{display:flex;align-items:center;gap:12px}.k3-logo{display:block;width:50px;height:44px;object-fit:contain;background:white;padding:5px;border-radius:6px}.app-brand strong{color:#65d7d0;font-size:21px;letter-spacing:-.025em}.app-brand small{display:block;color:#c6d4e6;font-size:10px;margin-top:4px}.signin-wordmark .k3-logo,.signin-mobile-brand .k3-logo{width:52px;height:46px}.signin-wordmark>span,.signin-mobile-brand>span{color:#77ddd2}.data-freshness{color:#58677b;font-size:13px;margin:0 0 20px}.fleet-summary{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;background:white;border:1px solid #dce2e9;border-radius:12px;overflow:hidden;margin:20px 0 26px}.fleet-summary-item{border:0;border-radius:0;background:white;text-align:left;padding:18px 16px;min-width:0}.fleet-summary-item>span{font-size:12px;color:#58677b;display:block;white-space:nowrap}.fleet-summary-item strong{display:block;font-size:29px;margin-top:10px;font-weight:650;font-variant-numeric:tabular-nums;color:#18294c}.fleet-summary-item.selected{background:#e4f2f1}.fleet-summary-item.selected strong{color:#006a70}.fleet-summary-item:hover{background:#eff6f7}.operator-filters{padding:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.operator-filters label{margin:0;font-size:12px;font-weight:600;min-width:0}.operator-filters input,.operator-filters select{width:100%;min-width:0;font-size:13px;min-height:42px}.operator-filters .filter-search{grid-column:span 2}.filter-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.filter-actions button{font-size:13px;white-space:nowrap}.table-meta{padding:14px 22px;border-block:1px solid #e1e7ed;background:#f7f9fb;display:flex;justify-content:space-between;gap:20px;font-size:13px}.sortable-table th{padding:0;vertical-align:middle}.sortable-table th button{display:flex;gap:8px;align-items:center;justify-content:space-between;width:100%;font-size:12px;font-weight:600;padding:14px 15px;border:0;border-radius:0;color:#58677b;background:transparent;white-space:nowrap}.sortable-table th[aria-sort]:not([aria-sort=none]) button{color:#006e74;background:#e9f4f3}.sort-icon{width:11px;height:16px;flex:none;opacity:.45}.sort-icon.sorted{opacity:1}.sortable-table td{font-size:13px;vertical-align:top}.device-link{font-weight:650;color:#007b82;text-decoration:none}.device-link:hover{text-decoration:underline}.table-badges{display:flex;gap:5px;flex-wrap:wrap;min-width:105px;max-width:205px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:5px;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;background:#edf0f4;color:#556578}.status-badge i{display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%}.status-badge.online,.status-badge.running,.status-badge.accepted{background:#e0f2e9;color:#186147}.status-badge.offline,.status-badge.critical{background:#ffebee;color:#a32937}.status-badge.offline3d{background:#792d40;color:white}.status-badge.stale,.status-badge.warning,.status-badge.quarantined{background:#fff0d2;color:#805200}.status-badge.info{background:#e9f0fa;color:#315b94}.alarm-summary{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:5px 0 18px;font-size:13px;color:#58677b}.alarm-summary strong{font-size:22px;margin-left:6px;color:#18294c}.alarm-summary>span:last-child{margin-left:auto}.incident-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;padding:22px;border-bottom:1px solid #e5ebf0}.incident-row.unread{background:#fffdf8}.incident-row:last-child{border-bottom:0}.incident-status{display:flex;align-items:start;flex-direction:column;gap:7px}.incident-main>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.incident-main .device-link{font-size:19px}.incident-main strong{font-size:15px}.incident-main p{margin:7px 0;font-size:13px}.incident-measurement{color:#006b71}.incident-actions{display:flex;gap:6px;align-items:start;flex-wrap:wrap;max-width:240px}.incident-actions button{font-size:12px;padding:8px 10px}.device-hero{display:flex;justify-content:space-between;gap:28px;align-items:center;background:white;border:1px solid #dce2e9;padding:26px 30px;border-radius:12px}.back-link{font-size:12px}.device-hero h2{font-size:34px;color:#18294c;margin:14px 0 5px;letter-spacing:-.025em}.device-hero p{margin:0 0 14px;color:#58677b;font-size:14px}.device-statuses{display:flex;flex-wrap:wrap;gap:7px}.device-last-seen{text-align:right;display:flex;flex-direction:column;gap:8px;min-width:210px}.device-last-seen>span{font-size:12px;color:#58677b}.device-last-seen strong{font-size:16px;color:#18294c}.device-last-seen small{font-size:11px}.device-context{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:22px 6px}.device-context span{display:block;color:#58677b;font-size:12px;margin-bottom:6px}.device-context strong,.device-context a{font-size:14px;font-weight:500;overflow-wrap:anywhere}.device-metrics{background:white;border:1px solid #dce2e9;border-radius:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.device-reading,.metric-ring{padding:22px 24px;min-height:124px;border-bottom:1px solid #e7edf2}.device-reading>span,.metric-ring span{font-size:12px;color:#58677b;display:block;margin-bottom:10px}.device-reading strong,.metric-ring strong{font-size:29px;color:#18294c;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.device-reading strong small,.metric-ring strong small{font-size:12px;font-weight:400;margin-left:7px}.device-reading>small{display:block;margin-top:7px;font-size:11px}.metric-ring{display:flex;align-items:center;gap:15px}.metric-ring svg{width:66px;height:66px;flex:none}.metric-ring circle{fill:none;stroke:#e2eaee;stroke-width:5}.metric-ring .ring-fill{stroke:#007b82;stroke-linecap:round;transform:rotate(-90deg);transform-origin:36px 36px}.metric-ring span{margin-bottom:7px}.metric-ring strong{font-size:27px}.device-maintenance{display:flex;gap:14px 25px;flex-wrap:wrap;align-items:center;font-size:12px;margin:18px 2px 28px;color:#58677b}.device-maintenance strong{color:#182438;font-weight:600}.device-period-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 18px;flex-wrap:wrap}.device-period-bar form{display:flex;gap:10px;align-items:end}.device-period-bar label{font-size:12px;margin:0}.device-export-actions{display:flex;gap:9px;align-items:center}.button-link{display:inline-flex;padding:10px 15px;border:1px solid #bdc8d4;background:white;border-radius:7px;min-height:42px;align-items:center;text-decoration:none;font-size:13px;white-space:nowrap}.button-link.primary{background:#007b82;color:white;border-color:#007b82}.device-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.device-chart-panel{background:white;border:1px solid #dce2e9;border-radius:12px;overflow:hidden;min-width:0;padding:20px}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.chart-heading h3{margin:0;font-size:15px;font-weight:600}.chart-heading>span{font-size:12px;color:#58677b}.device-chart-body{min-height:210px;margin-top:12px}.device-chart-body svg{display:block;width:100%;height:auto;max-height:260px}.chart-grid path{fill:none;stroke:#e4eaef;stroke-width:1;stroke-dasharray:3 4}.chart-ticks{font-size:10px;fill:#64758a;font-family:inherit}.device-chart-line{fill:none;stroke:#007b82;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#007b82}.chart-time{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#64758a;margin-top:8px}.chart-empty{display:grid;place-items:center;min-height:210px;color:#58677b;font-size:13px;text-align:center}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px}.panel-heading h2{font-size:18px;margin:0}.panel-heading p{font-size:12px;color:#58677b;margin:6px 0 0}.panel-heading button{font-size:12px}.log-table-scroll{max-height:520px}.log-table-scroll th{position:sticky;top:0;z-index:1}.log-table-scroll td{font-size:12px;padding:11px 14px}.current-values{white-space:normal}.current-values th:first-child,.current-values td:first-child{width:45%}.current-values td{font-size:13px;overflow-wrap:anywhere}.profile-note{padding:13px 16px;background:#edf4fb;color:#315577;border-radius:7px;font-size:12px;line-height:1.7;margin:18px 0}
@media(max-width:1200px){.operator-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.device-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-ring,.device-reading{padding:18px 14px}.metric-ring{gap:8px}.metric-ring svg{width:48px;height:48px}.device-reading strong{font-size:25px}}
@media(max-width:850px){.app-brand .k3-logo{width:40px;height:35px}.app-brand strong{font-size:19px}.app-brand small{display:none}.fleet-summary{display:flex;overflow:auto}.fleet-summary-item{flex:0 0 120px;padding:15px}.fleet-summary-item strong{font-size:26px}.operator-filters{padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.table-meta{padding:12px 16px;font-size:12px}.device-hero{padding:22px;align-items:start;flex-direction:column;gap:20px}.device-hero h2{font-size:29px}.device-last-seen{text-align:left;min-width:0}.device-context{grid-template-columns:1fr 1fr;gap:20px;padding:20px 4px}.device-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-ring,.device-reading{padding:18px 16px}.metric-ring svg{width:48px;height:48px}.device-reading strong,.metric-ring strong{font-size:25px}.device-chart-grid{grid-template-columns:1fr;gap:14px}.device-chart-panel{padding:17px}.device-period-bar{align-items:stretch}.device-export-actions{width:100%}.device-export-actions a{flex:1;justify-content:center}.incident-row{grid-template-columns:1fr;padding:18px;gap:12px}.incident-status{flex-direction:row}.incident-actions{max-width:none}.incident-main .device-link{font-size:18px}.alarm-summary{gap:10px 20px}.alarm-summary>span:last-child{margin-left:0;width:100%;font-size:11px}.panel-heading{padding:17px;align-items:start}.panel-heading>button{max-width:130px}.device-maintenance{gap:12px 18px}.chart-time{font-size:9px}.filter-actions{grid-column:1/-1}}

@media(max-width:850px){.operator-filters .filter-offline{grid-column:1/-1}}
