:root{font-family:Inter,"Segoe UI",system-ui,sans-serif;color:#192e40;background:#f3f5f8;font-synthesis:none;line-height:1.5;font-size:14px;--ink:#192e40;--muted:#667587;--line:#e2e7ee;--green:#087968;--nav:#142b3b}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cfd8e1;background:white;color:var(--ink);border-radius:7px;padding:9px 14px;font-weight:600;white-space:nowrap}button:hover{background:#f1f6f7;border-color:#96b8b2}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#056252}button.quiet{border-color:transparent;background:transparent}button.link-button{border:0;background:transparent;color:var(--green);padding:4px 0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #70bdb1;outline-offset:2px}
.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--nav);color:#dce8ef;padding:31px 20px;display:flex;flex-direction:column}.brand{font-size:30px;letter-spacing:-1px;font-weight:750;text-decoration:none;color:#fff;padding:0 11px}.brand span{display:block;font-size:9px;letter-spacing:1.1px;margin-top:7px;color:#91b4c1;font-weight:600}.sidebar nav{margin-top:45px;display:grid;gap:8px}.nav-button{text-align:left;border:0;background:transparent;color:#b6c7d3;padding:13px 16px;font-size:15px}.nav-button.current{background:#224756;color:#fff;box-shadow:inset 3px 0 #62d4b4}.nav-button:hover{background:#244554}.sidebar-note{margin-top:auto;padding:12px;font-size:14px;color:#c3d3df}.sidebar-note small{display:block;font-size:11px;color:#91a8ba;margin-top:14px}
.shell{margin-left:226px;min-width:0}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb span{padding:0 12px;color:#b9c3cd}.breadcrumb strong{font-weight:500;color:var(--ink)}.account{display:flex;gap:15px;align-items:center;font-size:13px}main{padding:28px 36px;max-width:1800px;margin:auto}h1{font-size:28px;line-height:1.25;font-weight:700;letter-spacing:-.7px;margin:7px 0 9px}h2{font-size:17px;line-height:1.35;margin:0}h3{font-size:15px;margin:0 0 12px}p{margin:7px 0 15px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.5px;color:#688391}.muted,.footnote{color:var(--muted);font-size:13px}.mono{font-family:Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading p{margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 25px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px}.metric span{font-size:12px;font-weight:600;color:var(--muted)}.metric strong{display:block;font-size:30px;font-weight:650;margin:8px 0 2px;font-variant-numeric:tabular-nums}.metric small{font-size:11px;color:#7b8998}.metric:nth-child(2) strong{color:var(--green)}.metric:nth-child(3) strong{color:#a36512}
.panel{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:19px 20px;border-bottom:1px solid var(--line)}.panel-heading h3{margin:0}.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}label{display:block;font-size:12px;font-weight:600}input,select,textarea{display:block;width:100%;border:1px solid #cfd8e1;border-radius:6px;padding:9px 10px;background:#fff;color:var(--ink);margin-top:6px}input::placeholder{color:#9ba6b2}textarea{font-family:Consolas,monospace;font-size:13px;resize:vertical}label small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:8px}.filters label{min-width:115px;flex:1}.filters .search{flex:2.5;min-width:250px}.filters label:has(#group-filter){max-width:160px}.filters button{margin-bottom:1px}
.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{font-size:10px;color:#73818f;font-weight:650;letter-spacing:.5px;background:#f8fafc;padding:12px 18px;text-align:left;white-space:nowrap}td{border-top:1px solid #edf0f4;padding:14px 18px;vertical-align:middle}td strong{display:block;font-weight:600}td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}tbody tr:hover{background:#fafcfd}.right{text-align:right}.device-link{border:0;background:transparent;padding:0;text-align:left;color:var(--ink);white-space:normal}.device-link:hover{background:transparent;color:var(--green)}.badge{display:inline-block;border-radius:5px;background:#eef2f6;color:#637489;padding:4px 8px;font-size:11px;font-weight:600;white-space:nowrap}.badge.recent,.badge.success{color:#08725b;background:#e6f4ed}.badge.overdue,.badge.pending,.badge.unknown{color:#986212;background:#fff3dc}.badge.active,.badge.queued,.badge.delivered{color:#2269a0;background:#eaf2fc}.badge.failed,.badge.expired{color:#b84b48;background:#ffeded}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.pagination label{display:flex;align-items:center;gap:9px;white-space:nowrap;font-weight:400}.pagination select{width:72px;margin:0;padding:6px}.pagination button{font-size:12px;padding:7px 12px;margin-left:5px}.empty{text-align:center;color:var(--muted);padding:45px 20px}.footnote{font-size:11px;margin-top:15px}footer{padding:6px 36px 25px;color:#91a0ad;font-size:11px}#message:empty{display:none}#message{padding:12px 16px;background:#fff3db;border:1px solid #f0d49b;border-radius:7px;color:#805514;font-size:13px}.login{padding:35px;max-width:460px;margin:8vh auto}.login h1{font-size:25px}.login form{display:grid;gap:17px;margin-top:25px}.login form p{font-size:12px;margin:0}.login .eyebrow{font-size:9px}
dialog{color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:0;box-shadow:0 24px 90px #0c223044;max-height:92vh}dialog::backdrop{background:#172b4059;backdrop-filter:blur(2px)}.device-dialog{width:min(740px,94vw)}.result-dialog{width:min(850px,94vw)}.dialog-header{position:sticky;top:0;z-index:1;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 26px}.dialog-header h2{font-size:22px;margin:4px 0}.dialog-body{padding:22px 26px}.device-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:18px}.dialog-body section{margin-bottom:23px}.session-box{border:1px solid #cadfda;background:#f3faf7;border-radius:8px;padding:16px}.session-box .panel-heading{padding:0;border:0}.session-box p{font-size:13px;margin:10px 0 15px}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{font-size:12px}.composer{padding:0 0 23px;border-bottom:1px solid var(--line)}.composer form{display:grid;gap:13px}.composer p{margin:0}.send-row{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:3px}.send-row span{font-size:12px}.notice:empty{display:none}.notice{font-size:13px;padding:10px 12px;background:#eaf4ff;border-radius:6px;color:#285d8e}.dialog-body .panel-heading{padding:0 0 10px}.recent-command{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.recent-command strong{font-size:13px;font-weight:600}.recent-command small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.recent-command button{font-size:11px;padding:6px 9px}.recent-commands .empty{padding:15px 0;text-align:left}details{padding:12px 0;border-top:1px solid var(--line);font-size:13px}summary{cursor:pointer;font-weight:600}.unavailable{margin-top:18px;padding-bottom:0;border:0;color:var(--muted);font-size:12px}.unavailable ul{padding-left:18px}.unavailable li{margin-top:5px}.metadata form{display:grid;gap:12px;margin:10px 0;grid-template-columns:1fr 1fr}.metadata form button{justify-self:start}pre{font-size:12px;font-family:Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f9;padding:16px;border-radius:7px;max-height:55vh;overflow:auto}#result-note{font-size:13px;color:#986212}[hidden]{display:none!important}
@media(min-width:1450px){main{padding:35px 44px}.filters{gap:16px}.metric{padding:22px}}
@media(max-width:1100px){.sidebar{width:185px;padding:26px 13px}.brand{font-size:27px}.brand span{font-size:8px}.shell{margin-left:185px}.topbar{padding:0 24px}main{padding:24px}.metrics{gap:10px}.metric{padding:15px}.metric span{font-size:11px}.metric strong{font-size:26px}td,th{padding:12px}.filters .search{min-width:200px}}
@media(max-width:750px){.sidebar{position:static;width:auto;padding:15px 20px;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:22px;padding:0}.brand span{font-size:7px;margin-top:2px}.sidebar nav{display:flex;margin:0;gap:3px}.nav-button{padding:8px 9px;font-size:12px}.sidebar-note{display:none}.shell{margin:0}.topbar{height:52px;padding:0 18px}.breadcrumb{font-size:11px}.breadcrumb span{padding:0 5px}.account{gap:4px;font-size:11px}main{padding:20px 14px}h1{font-size:24px}.page-heading{gap:10px;align-items:flex-start}.page-heading p{font-size:12px}.metrics{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:18px}.metric{padding:14px}.filters{padding:14px;gap:10px}.filters label{min-width:120px}.filters .search{flex-basis:100%}.filters label:has(#group-filter){max-width:none}.pagination{padding:12px;font-size:11px}.dialog-header,.dialog-body{padding:18px}.dialog-header h2{font-size:19px}.metadata form{grid-template-columns:1fr}.session-box{padding:12px}.actions button{font-size:11px;padding:8px 10px}.send-row{align-items:flex-start}.login{margin:4vh auto;padding:27px}.table-scroll table{min-width:730px}.dialog-body .panel-heading{align-items:flex-start}footer{padding:10px 18px}.account #account-name{display:none}}
.device-dialog{width:min(960px,96vw)}.device-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:0 0 22px;padding-bottom:8px}.device-tabs .current{background:var(--green);color:white;border-color:var(--green)}
#command-preset{height:190px;padding:6px}#command-preset optgroup{font-weight:700;color:#52716b}#command-preset option{padding:7px 10px;color:var(--ink);font-weight:400}
.template-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.template-fields small{font-size:11px;font-weight:400;color:var(--muted)}.preview-box{background:#f3f8f7;border:1px solid #d4e7e1;border-radius:8px;padding:14px;font-size:13px}.preview-box ul{margin-bottom:0}
.config-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.config-times>div{background:#f3f6fa;padding:16px;border-radius:8px}.config-times span,.config-times strong{display:block}.config-times span{font-size:12px;color:var(--muted);margin-bottom:8px}
.config-table{width:100%;table-layout:fixed}.config-table td{white-space:normal;overflow-wrap:anywhere;padding:9px 12px;font-size:12px}.config-table td:first-child{width:48%;color:var(--muted)}.config-table small{display:block;font-size:10px}.update-entry small{display:block;margin:10px 0;color:var(--muted)}.update-entry li{overflow-wrap:anywhere}.config-history .pagination{padding-left:0;padding-right:0}#device-config-view>.muted,.config-history>.muted{font-size:12px;line-height:1.6}
@media(max-width:600px){.template-fields,.config-times{grid-template-columns:1fr}.device-tabs button{padding:9px;font-size:12px}.device-dialog{width:96vw}.config-times>div{padding:12px}}
/* Full workspace pages: device commands and saved configuration. */
.sidebar .nav-button{display:block;text-decoration:none;border-radius:7px}.page-link{font-size:12px;color:var(--green);text-decoration:none;border:1px solid #cfd8e1;border-radius:6px;padding:8px 12px;background:#fff}
#device-workspace .page-heading{margin-bottom:20px}#device-picker{margin-bottom:20px;padding:20px}#picker-form{display:flex;gap:12px;align-items:flex-end}#picker-form label{flex:1;max-width:700px}#picker-status{font-size:12px}.picker-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.picker-row small{display:block;color:var(--muted);margin-top:5px}
.device-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 24px;margin-bottom:16px}.device-banner h2{font-size:21px;margin:7px 0}.device-banner .device-summary{margin-bottom:10px}.device-banner .actions{justify-content:flex-end}
#device-detail>.session-box{margin:16px 0;padding:16px 20px}#session-tools summary{display:flex;gap:12px;align-items:center}#session-tools summary::before{content:"▸";color:var(--green)}#session-tools[open] summary::before{content:"▾"}
#device-command-view .composer{padding:24px;margin-bottom:22px;border:1px solid var(--line)}#command-form{display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,1.7fr);gap:24px;align-items:start}.command-selection,.command-editor{display:grid;gap:16px}#catalog-count{margin:8px 0 20px}#command-preset{height:410px}.command-editor .send-row{padding-top:10px;border-top:1px solid var(--line)}.recent-panel{padding:22px 24px;margin-bottom:20px}
#device-config-view>.config-heading{padding:14px 0;border:0}#device-config-view>.muted{font-size:12px;line-height:1.6}.configuration-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start;margin:22px 0}.config-values,.config-history{padding:20px;min-width:0}.config-history .pagination{flex-wrap:wrap;gap:10px}.update-entry summary{line-height:1.9;overflow-wrap:anywhere}.config-values h3,.config-history h3{margin:0 0 15px}
#device-detail>.metadata{padding:20px;background:white;border:1px solid var(--line);border-radius:8px;margin:20px 0}#device-detail>details:last-child{margin-bottom:25px}
@media(min-width:1700px){#device-workspace{max-width:1500px}}
@media(max-width:1150px){.configuration-layout{grid-template-columns:1fr}#command-form{grid-template-columns:minmax(225px,1fr) minmax(250px,1.5fr)}.template-fields{grid-template-columns:1fr}}
@media(max-width:750px){.sidebar{align-items:stretch;flex-direction:column;gap:14px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.sidebar .nav-button{font-size:12px;white-space:normal}.sidebar .brand{align-self:flex-start}#command-form{grid-template-columns:1fr}#command-preset{height:250px}.device-banner{flex-direction:column;align-items:flex-start;padding:17px}.device-banner .actions{justify-content:flex-start}.device-banner .device-summary{margin:0 0 12px}#device-command-view .composer,.config-values,.config-history,.recent-panel{padding:16px}.configuration-layout{gap:16px}.config-heading{gap:10px;align-items:flex-start}.config-heading h2{font-size:18px}#picker-form{align-items:stretch;flex-direction:column}.config-times{grid-template-columns:1fr}.send-row{align-items:center}.config-table td{padding:9px 6px}}

#command-json{width:100%;box-sizing:border-box;font-family:Consolas,monospace;font-size:14px;line-height:1.5;resize:vertical;min-height:240px}.raw-command-label{display:block;font-weight:700;margin-top:20px}.editor-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 18px}#command-json-note{font-size:13px;color:var(--muted)}
:root #legacy-confirm-label { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; margin: 16px 0; }
:root #legacy-confirm-label[hidden] { display: none; }
:root #legacy-confirm { width: auto; flex: 0 0 auto; margin-top: 4px; }

.business-host-group th{background:#e7f0f2;color:#244d5c;font-size:13px;text-transform:none;overflow-wrap:anywhere;white-space:normal}.business-port-group th{background:#f3f7f9;padding-left:32px;color:#496775;font-size:12px}.fleet-group-note{padding:12px 20px;margin:0}.business-source{max-width:350px}.business-info{padding:16px 22px;margin-bottom:16px}.business-info dl{display:flex;gap:24px;flex-wrap:wrap;margin:0}.business-info dl>div{flex:1;min-width:130px}.business-info dt{color:var(--muted);font-size:12px}.business-info dd{margin:5px 0 0;font-weight:600;overflow-wrap:anywhere}.business-info p{margin:12px 0 0}

.delegation-grants {display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;margin:18px 0}.delegation-grants label {display:flex;align-items:flex-start;gap:8px}#delegation-panel pre {overflow-wrap:anywhere;white-space:pre-wrap}#delegation-example-json {width:100%;font-family:monospace}
#delegation-panel{padding:22px;margin:18px 0}#delegation-panel input[type=checkbox]{width:auto;flex:0 0 auto;margin-top:4px}#delegation-panel>label{display:flex;align-items:flex-start;gap:8px}#delegation-panel .actions{margin:12px 0}
/* Compact command entry and readable session traffic table. */
#device-command-view #command-composer{padding:0;margin-bottom:16px}#command-composer>summary{padding:14px 18px;color:var(--green);font-size:15px}#command-composer>summary span{font-size:12px;color:var(--muted);font-weight:400;margin-left:12px}#command-composer>p,#command-composer>form{margin:0 18px 16px}#command-composer>p{font-size:12px}#command-composer #command-form{grid-template-columns:1fr;gap:10px}#command-composer .command-selection{display:block;border:1px solid var(--line);border-radius:6px;padding:9px 12px}#command-composer .command-selection label{margin-top:12px}#command-composer #command-preset{height:190px}#command-composer .command-editor{gap:8px}#command-composer .raw-command-label{margin:0}#command-composer #command-json{min-height:118px;font-size:13px;line-height:1.4;margin:0}#command-composer .editor-tools{margin:0}#command-parameters{padding:6px 0}#command-parameters .template-fields{margin:12px 0}#command-parameters button{font-size:12px}#command-composer .send-row{padding-top:8px}
.traffic-panel{padding:18px;margin-bottom:20px;min-width:0}.traffic-panel .panel-heading{padding:0 0 12px;align-items:flex-start;gap:10px}.traffic-panel .panel-heading p{margin:5px 0 0;font-size:11px}.traffic-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0}.traffic-toolbar>label{min-width:120px}.traffic-toolbar .traffic-search{flex:1;min-width:210px}.traffic-toolbar input,.traffic-toolbar select{padding:7px 9px}.traffic-toolbar button{padding:7px 10px;font-size:12px}.traffic-controls{margin:8px 0}.traffic-toolbar .traffic-check{display:flex;align-items:center;gap:6px;font-size:12px;min-width:0;padding:6px 0}.traffic-check input[type=checkbox]{width:auto;margin:0;flex:0 0 auto}.traffic-toolbar .actions{margin-left:auto;flex-wrap:wrap}.traffic-summary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0;font-size:11px}.traffic-events{max-height:620px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid #ccd6df;background:#fff}.traffic-table{table-layout:fixed;width:100%;min-width:860px;font-size:12px}.traffic-col-id{width:50px}.traffic-col-time{width:143px}.traffic-col-direction{width:110px}.traffic-col-code{width:105px}.traffic-col-status{width:125px}.traffic-table th{position:sticky;top:0;z-index:1;padding:8px;color:#245b80;background:#edf2f6;border-right:1px solid #d5dee5;border-bottom:1px solid #c5d2dd;font-size:11px;letter-spacing:0;text-transform:none}.traffic-table td{vertical-align:top;padding:8px;border-top:1px solid #dce3e9;border-right:1px solid #e3e8ed;overflow-wrap:anywhere}.traffic-table th:last-child,.traffic-table td:last-child{border-right:0}.traffic-row.tx{background:#eff7ff}.traffic-row.rx{background:#fff}.traffic-row:hover{background:#f3f8f7}.traffic-table .traffic-event-id{color:var(--muted);font-variant-numeric:tabular-nums}.traffic-time{font-variant-numeric:tabular-nums;font-size:11px}.traffic-table .traffic-direction strong{font-size:12px;font-weight:600}.traffic-table .traffic-direction small{font-size:10px;line-height:1.4}.traffic-row.tx .traffic-direction{color:#1f5e9a}.traffic-row.rx .traffic-direction{color:#08705f}.traffic-command-code{font-family:Consolas,monospace;font-size:12px}.traffic-result-status{font-size:11px;color:#516679}.traffic-result-status.error{color:#b03434}.traffic-data{min-width:0}.traffic-data pre{background:transparent;color:#152f43;font:12px/1.5 Consolas,"Courier New",monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;padding:0;margin:0;border-radius:0;max-height:none}.traffic-payload-preview{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.traffic-payload-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:5px}.traffic-row-copy{border:0;background:transparent;padding:2px 0;color:#256791;font-size:11px;font-weight:500}.traffic-data details{border:0;padding:4px 0 0;font-size:11px}.traffic-data summary{color:#256791;font-weight:500;font-size:11px}.traffic-data details[open]>pre{background:#f6f8fa;border:1px solid #dce3e9;margin-top:6px;padding:9px;max-height:380px;overflow:auto}.traffic-data .traffic-envelope-details{margin-top:3px}.traffic-data .traffic-envelope-details small{font-size:10px}.traffic-panel .traffic-footnote{font-size:11px;margin:10px 0 0}.traffic-retention{border:0;padding:6px 0 0}.traffic-retention summary{font-size:11px;font-weight:400;color:var(--muted)}.traffic-retention p{font-size:11px;margin:6px 0 0}.traffic-panel .empty{padding:24px 12px}#traffic-message:empty{display:none}#traffic-message{font-size:12px}
@media(max-width:1000px){.traffic-panel{padding:14px}.traffic-events{max-height:520px}.traffic-toolbar .actions{margin-left:0}.traffic-table{min-width:810px}.traffic-col-time{width:130px}.traffic-col-direction{width:100px}.traffic-col-code{width:94px}.traffic-col-status{width:115px}}
@media(max-width:750px){.traffic-panel{padding:12px}.traffic-panel .panel-heading{flex-wrap:wrap}.traffic-toolbar{gap:8px}.traffic-toolbar .traffic-search{flex-basis:100%}.traffic-toolbar .actions{flex-basis:100%}.traffic-toolbar>label{min-width:100px}.traffic-toolbar .traffic-check{padding:3px 0}.traffic-events{max-height:480px}#command-composer>summary{padding:12px}#command-composer>summary span{display:block;margin:5px 0 0 16px}#command-composer>p,#command-composer>form{margin-left:12px;margin-right:12px}}

.traffic-payload-actions details{margin:0;padding:0}.traffic-payload-actions details[open]{flex-basis:100%;min-width:0}.traffic-payload-actions summary{white-space:nowrap}.traffic-data .traffic-payload-actions .traffic-envelope-details{margin-top:0}

/* Full records like the business monitor: dense rows, wrapping JSON, no clamp. */
.traffic-data .traffic-payload-full{display:block;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:none;overflow:visible;font:12px/1.45 Arial,sans-serif}
.traffic-table td{padding:5px 6px}.traffic-col-id{width:42px}.traffic-col-time{width:112px}.traffic-col-direction{width:84px}.traffic-col-code{width:76px}.traffic-col-status{width:98px}
.traffic-table th{white-space:normal;overflow-wrap:anywhere}
.traffic-table{min-width:790px}.traffic-table .traffic-time{font-size:10px}.traffic-table .traffic-direction strong{font-size:11px}.traffic-payload-actions{margin-top:2px}.traffic-row-copy,.traffic-data summary{font-size:10px}
.uptime-value{font-size:12px;min-width:130px;font-variant-numeric:tabular-nums}.business-info small{display:block;margin-top:5px;font-size:11px}
.directory-import,.directory-saved{padding:22px;margin-bottom:20px}.directory-import>p{font-size:13px;line-height:1.6}.directory-input-tools{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin:18px 0}.directory-input-tools label{min-width:160px}.directory-input-tools input[type=file]{max-width:360px}.directory-import textarea{display:block;width:100%;box-sizing:border-box;font:13px/1.5 Consolas,monospace;resize:vertical}.directory-import .actions{margin:14px 0}.directory-import td,.directory-saved td{white-space:normal;overflow-wrap:anywhere;font-size:12px}.directory-saved .panel-heading{padding:0}.directory-saved .panel-heading label{width:min(440px,100%)}#directory-format,#directory-preview-note,#directory-saved-note,#directory-count{font-size:12px}#directory-preview-panel{margin-top:20px}.directory-saved th{white-space:nowrap}
@media(max-width:750px){.directory-import,.directory-saved{padding:16px}.directory-input-tools{align-items:stretch;flex-direction:column}.directory-saved .panel-heading{flex-direction:column;align-items:stretch}.traffic-col-time{width:100px}.traffic-col-direction{width:76px}.traffic-col-code{width:70px}.traffic-col-status{width:90px}}
.access-panel{padding:22px;margin:0 0 20px}.access-panel p{font-size:13px;line-height:1.6}.account-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.account-form label{flex:1;min-width:180px}.account-form button{flex:0 0 auto}.access-panel table{width:100%}.access-panel td{vertical-align:top;white-space:normal;overflow-wrap:anywhere;font-size:12px}.account-actions{min-width:250px}.account-actions>label{margin:0 0 8px}.account-actions button{font-size:11px;padding:7px 9px;margin:3px}.account-actions details{font-size:12px}.account-actions input,.account-actions select{padding:7px}.account-actions details label{margin:10px 0}.account-actions summary{font-weight:400;color:var(--green)}#access-assign-fields{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}#access-assign-fields label{flex:1;min-width:150px}#access-reason{width:100%;box-sizing:border-box;resize:vertical}#access-request-form .actions{margin:14px 0}#access-discovery-page{margin-right:auto}#access-audit-rows td:last-child{font:12px/1.5 Consolas,monospace;overflow-wrap:anywhere}#access-request-rows td:last-child{width:260px}#access-grant-rows button{display:block;margin-top:8px}
@media(max-width:750px){.access-panel{padding:16px}.account-form{align-items:stretch;flex-direction:column}.account-form label{min-width:0}.account-actions{min-width:190px}}
#access-audit-rows td:first-child{width:145px}#access-audit-rows td:nth-child(2){width:215px}#access-audit-rows td:last-child{font:inherit;font-size:12px}#access-audit-rows details{border:0;padding:8px 0 0}#access-audit-rows summary{font-size:11px;color:var(--green);font-weight:400}
/* Recovery export keeps private contents out of the page and avoids dense forms. */
.recovery-panel label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.recovery-panel input[type=checkbox]{flex:0 0 auto}#recovery-view>.panel+.panel{padding:24px;margin-top:18px}
.recovery-panel{padding:24px}.recovery-panel>label,.recovery-panel form>label{display:grid;gap:7px;margin:18px 0}.recovery-panel form{display:grid;gap:16px;margin-top:24px}.recovery-panel form>label{margin:0}.recovery-panel .template-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.recovery-panel .template-fields label{display:grid;gap:7px}.recovery-panel .mono,.recovery-panel .notice{overflow-wrap:anywhere}.recovery-panel form button{justify-self:start}.recovery-panel input[type=checkbox]{width:auto;margin-right:7px}.recovery-panel p{font-size:13px;line-height:1.55}@media(max-width:750px){.recovery-panel{padding:16px}.recovery-panel .template-fields{grid-template-columns:1fr}}
.fleet-directory-action{display:block;margin:7px 0 0 auto;font-size:11px;padding:6px 9px;color:var(--green)}.fleet-directory-dialog{width:min(600px,94vw)}.fleet-directory-dialog .dialog-header>div{min-width:0}.fleet-directory-dialog .dialog-header p{margin:5px 0 0}.fleet-directory-dialog .dialog-header h2{font-size:21px}.fleet-directory-dialog .dialog-header h2 span{white-space:nowrap}.assignment-fields{display:grid;gap:20px;margin:20px 0}.assignment-fields input{font-size:14px}.assignment-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:10px}.fleet-directory-dialog .notice:empty{display:none}#assignment-scope{overflow-wrap:anywhere}@media(max-width:600px){.fleet-directory-dialog .dialog-header,.fleet-directory-dialog .dialog-body{padding:18px}.assignment-actions{flex-wrap:wrap}.assignment-actions>.actions{margin-left:auto}}

/* Shared pages: readable forms, contained tables, keyboard access and mobile menu. */
.skip-link{position:fixed;left:12px;top:-100px;z-index:100;background:#fff}
.skip-link:focus{top:12px}
.menu-toggle{display:none}
.sidebar{overflow-y:auto}
.sidebar nav{margin-top:28px;gap:4px}
.nav-button{display:block;text-decoration:none;border-radius:7px;font-size:14px;padding:11px 14px}
main>*{min-width:0}
main:focus{outline:none}
.panel,.configuration-layout>*{min-width:0}
#delegation-panel>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:16px;font-weight:700;cursor:pointer;list-style:none}
#delegation-panel>summary::before{content:"▸";color:var(--green)}
#delegation-panel[open]>summary::before{content:"▾"}
#delegation-panel>summary .muted{font-size:12px;font-weight:400}
#delegation-panel[open]>summary{margin-bottom:16px}
.panel-heading,.page-heading,.dialog-header{flex-wrap:wrap}
.dialog-header>div{min-width:0;flex:1}
.dialog-header h2{overflow-wrap:anywhere}
.dialog-header>button{flex:0 0 auto}
.page-heading>div{min-width:0;flex:1}
.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.table-scroll:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.table-scroll td{vertical-align:top}
#fleet-body>tr>td:nth-child(4).mono,#registration-body>tr>td:nth-child(2).mono{white-space:nowrap;overflow-wrap:normal}
.pagination{gap:12px;flex-wrap:wrap}
.pagination>div{display:flex;gap:7px}
.account-form label,.filters label,.template-fields>label{min-width:0}
input,select,textarea{max-width:100%}
textarea{resize:vertical;line-height:1.55}
input[type=checkbox]{accent-color:var(--green)}
small{line-height:1.5}
.actions{align-items:center}
.notice,#message,#device-message{overflow-wrap:anywhere}
#message:empty,#device-message:empty,#result-message:empty{display:none}
#message:not(:empty){padding:12px 15px;border:1px solid #cbdedc;border-radius:8px;background:#edf6f4;color:#245b52;margin:0 0 20px}
#device-message:not(:empty){padding:11px 13px;border-radius:7px;background:#edf6f4;color:#245b52}
.result-tools{margin:12px 0}
#result-note:empty{display:none}
dialog{max-width:calc(100vw - 24px);max-height:92dvh;overflow-y:auto}
.dialog-header{top:0}
.directory-saved .pagination{padding-left:0;padding-right:0}
.empty{line-height:1.6;color:var(--muted)}
[aria-busy=true]>.page-heading button{cursor:progress}
[aria-busy=true]>.page-heading::after{content:"Đang tải…";font-size:12px;color:var(--muted)}
@media(max-width:900px){
  .sidebar{position:sticky;inset:auto;top:0;width:auto;padding:12px 16px;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;z-index:20;overflow:visible;box-shadow:0 1px 8px #102b3b22}
  .brand{font-size:23px;padding:0;flex:1;min-width:0}
  .brand span{font-size:8px;margin-top:3px}
  .menu-toggle{display:block;order:2;padding:9px 14px;background:#224756;color:white;border-color:#44616e}
  .sidebar #navigation{display:none;order:3;width:100%;margin:4px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:65dvh;overflow-y:auto}
  body.menu-open .sidebar #navigation{display:grid}
  .sidebar .nav-button{font-size:13px;white-space:normal;padding:12px 10px}
  .sidebar-note{display:none}
  .shell{margin-left:0}
  .topbar{padding:12px 18px;min-height:52px;height:auto;gap:12px;align-items:flex-start}
  .breadcrumb{font-size:12px;overflow-wrap:anywhere}
  .breadcrumb span{padding:0 6px}
  .account{gap:8px;font-size:12px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
  main{padding:24px 18px}
  .login{margin:5vh auto}
}
@media(max-width:600px){
  main{padding:20px 14px}
  h1{font-size:24px}
  .page-heading{align-items:flex-start;gap:12px}
  .page-heading>div{flex-basis:calc(100% - 95px)}
  .page-heading>button{font-size:12px;padding:9px 11px}
  .panel-heading{align-items:flex-start;gap:10px}
  .metrics{gap:10px}
  .metric{padding:14px}
  .topbar #account-name{display:block;font-size:11px;max-width:135px;overflow-wrap:anywhere;text-align:right}
  .account #logout{padding:6px 8px;font-size:11px}
  input,select,textarea{font-size:16px}
  button{min-height:40px}
  .filters{padding:14px;gap:12px}
  .filters label{flex:1 1 140px;max-width:none}
  .filters .search{flex-basis:100%;min-width:0}
  .template-fields,.configuration-layout,.config-times{grid-template-columns:minmax(0,1fr)}
  .device-tabs{flex-wrap:wrap}
  .device-tabs a,.device-tabs button{flex:1;text-align:center;white-space:normal}
  .send-row{align-items:stretch;flex-direction:column;gap:12px}
  .send-row>button{align-self:flex-end}
  .traffic-toolbar .actions{flex-wrap:wrap}
  .dialog-header,.dialog-body{padding:18px}
  .dialog-header h2{font-size:19px}
  .result-dialog{width:calc(100vw - 24px)}
  .login{padding:24px;margin:4vh auto}
  .login h1{font-size:24px}
  pre{font-size:12px;padding:12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Quick commands shares the existing sender and stream; only the stream scrolls. */
.quick-device-dialog{width:min(780px,94vw)}
.quick-device-dialog .dialog-header{padding:14px 20px}
.quick-device-dialog .dialog-header h2{font-size:20px}
.quick-device-dialog .dialog-header p{margin:3px 0 0}
.quick-device-dialog #device-picker{border:0;border-radius:0;margin:0;padding:16px 20px}
.quick-device-dialog #picker-results{max-height:48dvh;overflow:auto}
body.quick-mode{height:100dvh;overflow:hidden}
.quick-mode .shell{height:100dvh;display:grid;grid-template-rows:52px minmax(0,1fr)}
.quick-mode .topbar{height:52px;min-height:0;padding:0 20px;gap:8px;align-items:center}
.quick-mode .shell>footer{display:none}
.quick-mode main{width:100%;max-width:none;margin:0;padding:12px 20px;min-height:0;display:flex;flex-direction:column}
.quick-mode #workspace{flex:1;min-height:0}
.quick-mode #message{margin:0 0 6px;padding:6px 10px;max-height:64px;overflow:auto;flex:none}
.quick-mode #device-workspace{height:100%;max-width:none;display:flex;flex-direction:column;min-height:0}
.quick-mode #device-workspace>.page-heading{flex:none;margin:0 0 9px;gap:8px}
.quick-mode #device-workspace>.page-heading .eyebrow{display:none}
.quick-mode #work-title{font-size:21px;margin:0 0 2px}
.quick-mode #work-description{font-size:12px}
.quick-mode #switch-device{padding:7px 12px}
.quick-mode .sidebar{padding:20px 12px}
.quick-mode .sidebar nav{margin-top:20px;gap:3px}
.quick-mode .sidebar .nav-button{padding:9px 12px;font-size:13px}
.quick-mode .sidebar-note{font-size:12px}
.quick-mode #device-detail{flex:1;min-height:0;display:grid;gap:7px 10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-areas:"identity business" "session session" "notice notice" "composer composer" "traffic traffic"}
.quick-mode #device-command-view{display:contents}
.quick-mode #device-detail>.device-banner{grid-area:identity;padding:8px 12px;margin:0;gap:10px;min-width:0}
.quick-mode .device-banner .eyebrow,.quick-mode .device-banner .actions{display:none}
.quick-mode .device-banner h2{font-size:14px;margin:0 0 2px;overflow-wrap:anywhere}
.quick-mode #device-id{font-size:11px}
.quick-mode .device-banner .device-summary{gap:4px 8px;margin:0;font-size:11px;justify-content:flex-end}
.quick-mode #device-detail>.business-info{grid-area:business;padding:8px 12px;margin:0;min-width:0}
.quick-mode .business-info dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.quick-mode .business-info dl>div{min-width:0}
.quick-mode .business-info dl>div:nth-child(n+3),.quick-mode #device-business-source{display:none}
.quick-mode .business-info dt{font-size:10px}
.quick-mode .business-info dd{font-size:12px;line-height:1.3;margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.quick-mode #device-detail>#device-message{grid-area:notice;margin:0;padding:6px 10px;font-size:12px;max-height:58px;overflow:auto}
.quick-mode #device-detail>#session-tools{grid-area:session;margin:0;padding:7px 12px;min-width:0}
.quick-mode #session-tools[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px 12px}
.quick-mode #session-tools summary{font-size:12px;gap:7px}
.quick-mode #session-help{font-size:11px;line-height:1.35;margin:0}
.quick-mode #session-tools .actions{gap:4px;flex-wrap:nowrap}
.quick-mode #session-tools button{font-size:11px;padding:6px 8px}
.quick-mode #delegation-panel,.quick-mode #device-metadata,.quick-mode #device-detail>details:last-child,.quick-mode .recent-panel,.quick-mode #ptc-panel{display:none!important}
.quick-mode #device-command-view>#command-composer{grid-area:composer;padding:9px 12px;margin:0;min-width:0}
.quick-mode #command-composer>summary,.quick-mode #catalog-count,.quick-mode #command-templates,.quick-mode #command-description,.quick-mode #autofill-tools,.quick-mode #command-parameters,.quick-mode #preview-box,.quick-mode .command-editor>p{display:none!important}
.quick-mode #command-composer #command-form{display:block;margin:0}
.quick-mode .command-editor{display:grid;gap:5px 14px;grid-template-columns:minmax(0,1fr) 270px;grid-template-rows:auto 1fr auto}
.quick-mode .raw-command-label{grid-column:1;grid-row:1;font-size:12px}
.quick-mode #command-composer #command-json{grid-column:1;grid-row:2;height:91px;min-height:91px;max-height:150px;resize:none;font-size:13px;line-height:1.45;padding:8px 10px;margin:0}
.quick-mode #legacy-confirm-label{grid-column:2;grid-row:1 / span 2;align-self:start;font-size:11px;font-weight:400;line-height:1.4;margin:0 0 46px}
.quick-mode #legacy-confirm-label input{display:inline-block;width:auto;margin:0 5px 0 0;vertical-align:middle}
.quick-mode #command-composer .send-row{grid-column:2;grid-row:2 / span 2;align-self:end;display:flex;flex-direction:column;align-items:stretch;gap:3px;margin:0;padding:0;border:0}
.quick-mode #send-help{font-size:10px;line-height:1.25}
.quick-mode #send-command{padding:9px 16px;font-size:14px}
.quick-mode #command-composer .editor-tools{grid-column:1;grid-row:3;margin:0;min-height:15px}
.quick-mode #command-json-note{font-size:11px;line-height:1.3;max-height:30px;overflow:auto}
.quick-mode #session-traffic-panel{grid-area:traffic;min-width:0;min-height:0;margin:0;padding:9px 12px;display:flex;flex-direction:column;overflow:hidden}
.quick-mode .traffic-panel .panel-heading{padding:0 0 5px;gap:8px;align-items:center;flex:none}
.quick-mode #traffic-title{font-size:14px}
.quick-mode #traffic-session{display:none}
.quick-mode .traffic-toolbar{gap:7px;margin:5px 0;flex:none}
.quick-mode .traffic-toolbar>label{font-size:10px;min-width:88px}
.quick-mode .traffic-toolbar .traffic-search{min-width:130px}
.quick-mode .traffic-toolbar input,.quick-mode .traffic-toolbar select{padding:5px 7px;margin-top:3px;font-size:12px}
.quick-mode .traffic-toolbar button{padding:5px 8px;font-size:11px}
.quick-mode .traffic-toolbar .traffic-check{font-size:11px;padding:0}
.quick-mode .traffic-toolbar .traffic-check input{margin:0}
.quick-mode .traffic-controls{margin:2px 0}
.quick-mode .traffic-summary{font-size:10px;margin:4px 0;flex:none}
.quick-mode #traffic-events{flex:1;min-height:0;max-height:none;overflow:auto}
.quick-mode .traffic-table{min-width:760px}
.quick-mode .traffic-col-time{width:127px}
.quick-mode .traffic-col-direction{width:93px}
.quick-mode .traffic-col-code{width:90px}
.quick-mode .traffic-col-status{width:115px}
.quick-mode #traffic-empty{padding:9px;margin:0;font-size:12px;flex:none}
.quick-mode #traffic-message,.quick-mode #traffic-limit{margin:3px 0;font-size:11px;max-height:38px;overflow:auto;flex:none}
.quick-mode .traffic-footnote{font-size:10px;margin:5px 0 0;flex:none}
.quick-mode .traffic-retention{display:none}
@media(max-width:1100px) and (min-width:751px){
  .quick-mode #session-tools[open]{grid-template-columns:auto 1fr}
  .quick-mode #session-help{grid-column:1 / -1;grid-row:2}
  .quick-mode #session-tools .actions{justify-self:end}
  .quick-mode .command-editor{grid-template-columns:minmax(0,1fr) 235px}
}
@media(max-width:900px){
  body.quick-mode{display:flex;flex-direction:column}
  .quick-mode .sidebar{flex:none;padding:8px 12px;position:relative}
  .quick-mode .sidebar #navigation{position:absolute;top:100%;left:0;background:var(--nav);padding:8px 12px;margin:0}
  .quick-mode .shell{flex:1;min-height:0;height:auto;grid-template-rows:34px minmax(0,1fr)}
  .quick-mode .topbar{height:34px;padding:0 12px}
  .quick-mode .topbar #account-name{display:none}
  .quick-mode .breadcrumb{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .quick-mode .account{flex:none;flex-wrap:nowrap}
  .quick-mode .account #logout{min-height:28px;height:28px;padding:4px 8px;font-size:11px}
  .quick-mode main{padding:8px}
  .quick-mode #work-title{font-size:17px;margin:0}
  .quick-mode #work-description{display:none}
  .quick-mode #device-workspace>.page-heading{align-items:center;margin-bottom:5px}
  .quick-mode #switch-device{font-size:12px;padding:6px 9px}
  .quick-mode #device-detail{gap:5px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto minmax(0,1fr);grid-template-areas:"identity" "business" "session" "notice" "composer" "traffic"}
  .quick-mode #device-detail>.device-banner{padding:6px 8px;flex-direction:row;align-items:center;gap:5px}
  .quick-mode .device-banner h2{font-size:12px}
  .quick-mode .device-banner .device-summary{font-size:10px;gap:2px 6px}
  .quick-mode #device-detail>.business-info{padding:4px 8px}
  .quick-mode .business-info dl{gap:6px}
  .quick-mode .business-info dl>div{display:flex;gap:5px;align-items:baseline}
  .quick-mode .business-info dd{font-size:11px;margin:0;-webkit-line-clamp:1}
  .quick-mode #device-detail>#session-tools{padding:5px 8px}
  .quick-mode #session-tools[open]{grid-template-columns:1fr;gap:4px}
  .quick-mode #session-tools summary{font-size:11px;gap:5px}
  .quick-mode #session-help{display:none}
  .quick-mode #session-tools .actions{display:grid;grid-template-columns:1fr 1fr 1fr}
  .quick-mode #session-tools button{font-size:10px;padding:5px 3px}
  .quick-mode #device-command-view>#command-composer{padding:7px 8px}
  .quick-mode .command-editor{grid-template-columns:minmax(0,1fr) 106px;grid-template-rows:auto auto auto;gap:4px 7px}
  .quick-mode .raw-command-label{font-size:11px;grid-column:1 / -1}
  .quick-mode #command-composer #command-json{grid-column:1 / -1;grid-row:2;height:64px;min-height:64px;font-size:12px;padding:6px}
  .quick-mode #legacy-confirm-label{grid-column:1;grid-row:3;font-size:10px;line-height:1.3;margin:0}
  .quick-mode #command-composer .send-row{grid-column:2;grid-row:3;align-self:center;gap:0}
  .quick-mode #send-command{font-size:12px;padding:9px 8px}
  .quick-mode #send-help{display:none}
  .quick-mode .send-row:has(#send-command:disabled) #send-help{display:block}
  .quick-mode #command-composer .editor-tools{grid-column:1 / -1;grid-row:4;min-height:0}
  .quick-mode #command-json-note{font-size:10px;max-height:26px}
  .quick-mode #session-traffic-panel{padding:7px 8px}
  .quick-mode .traffic-toolbar{gap:5px;margin:3px 0;flex-wrap:nowrap}
  .quick-mode .traffic-toolbar>label{min-width:62px;font-size:10px}
  .quick-mode .traffic-toolbar .traffic-search{min-width:0;flex-basis:auto}
  .quick-mode .traffic-toolbar input,.quick-mode .traffic-toolbar select{font-size:11px;padding:4px}
  .quick-mode #traffic-reset-filters,.quick-mode .traffic-controls>.traffic-check,.quick-mode .traffic-summary,.quick-mode .traffic-footnote{display:none}
  .quick-mode .traffic-controls .actions{margin-left:0;flex-basis:100%;flex-wrap:nowrap;gap:4px;width:100%}
  .quick-mode .traffic-controls button{font-size:10px;flex:1;padding:5px 3px}
  .quick-mode #traffic-title{font-size:12px}
  .quick-mode .traffic-panel .panel-heading{padding-bottom:2px}
}
@media(max-height:650px){
  body.quick-mode{overflow:auto}
  .quick-mode .shell{height:auto;min-height:100dvh}
  .quick-mode #device-detail{min-height:650px}
  .quick-mode #command-composer{position:sticky;top:0;z-index:5;box-shadow:0 2px 8px #142b3b22}
  .quick-mode #traffic-events{min-height:160px;max-height:45dvh}
}
.datalite-settings{display:grid;gap:18px;margin:18px 0 24px}
.datalite-settings[hidden]{display:none}
.dl-settings-panel .panel-heading{align-items:flex-start;gap:16px}
.dl-settings-panel .panel-heading p{margin:5px 0 0}
.dl-settings-panel fieldset{min-width:0;border:1px solid #d7e1e8;border-radius:10px;padding:16px;margin:14px 0}
.dl-settings-panel legend{font-weight:650;padding:0 6px;color:#29485d}
.dl-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dl-settings-grid label{min-width:0;display:flex;flex-direction:column;gap:6px}
.dl-settings-grid input,.dl-settings-grid select{width:100%;min-width:0}
.dl-settings-grid small{line-height:1.45;color:#597081;font-weight:400}
.dl-settings-panel .dl-check{display:flex;flex-direction:row;align-items:flex-start;gap:9px;margin:13px 0;line-height:1.5;font-weight:400}
.dl-settings-panel .dl-check input{width:auto;flex:none;margin-top:4px}
.dl-b-state{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.dl-b-state>div{display:flex;flex-direction:column;gap:6px;background:#f3f7f9;border:1px solid #dce6ec;border-radius:10px;padding:14px;overflow-wrap:anywhere}
.dl-b-state span,.dl-b-state small{font-size:12px;color:#597081}
.dl-b-state strong{font-size:14px;color:#153c52}
.dl-nozzle-table{max-height:340px;overflow:auto;border:1px solid #dce6ec;border-radius:8px;margin-top:12px}
.dl-nozzle-table table{width:100%;margin:0}.dl-nozzle-table thead{position:sticky;top:0;z-index:1;background:#eef4f7}
.dl-nozzle-table select{width:100%;min-width:140px}.dl-nozzle-table td:last-child{color:#597081;font-size:12px}
.dl-settings-panel .notice:empty{display:none}.dl-settings-panel .actions{flex-wrap:wrap}
@media(max-width:900px){.dl-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dl-settings-grid,.dl-b-state{grid-template-columns:1fr}.dl-settings-panel .panel-heading{flex-direction:column}.dl-settings-panel fieldset{padding:12px}.dl-settings-panel .actions button{flex:1}}
