:root{color-scheme:dark;--bg:#09120f;--surface:#101d18;--surface2:#14251e;--border:#24392e;--green:#69d994;--text:#e2ece5;--muted:#91a99a;--orange:#f3b56b;--red:#ed857c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:var(--font-body,16px)/1.6 "Microsoft YaHei","PingFang SC",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button,input,select,textarea{border:1px solid var(--border);border-radius:7px;background:#13241c;color:var(--text);padding:9px 12px}input:focus,textarea:focus,select:focus{outline:1px solid var(--green)}button:hover{background:#20382a;border-color:#497658}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#3c9560;color:white;border-color:#56b67c}.text{padding:0;border:0;color:var(--green);background:none}button.text:hover{background:none}a{color:var(--green);text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#0d1913;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:30px 18px}.brand{display:flex;align-items:center;gap:12px;color:var(--text);font-size:26px;font-weight:700;letter-spacing:3px}.brand small{display:block;font-size:var(--font-caption,14px);letter-spacing:1px;color:var(--muted);font-weight:400}.brand-mark{font-size:25px;display:grid;place-items:center;background:#204b32;border:1px solid #3e7d52;width:48px;height:48px;border-radius:13px;letter-spacing:0;color:#a1e6a8}.sidebar-label{font-size:var(--font-caption,14px);letter-spacing:2px;color:#63816d;margin:46px 14px 12px}nav{display:flex;flex-direction:column;gap:7px}.nav{display:flex;align-items:center;gap:13px;border:0;text-align:left;background:transparent;color:var(--muted);padding:12px}.nav span{font-size:21px;width:23px;text-align:center}.nav.active{background:#1c3827;color:#9ee6ae}.nav b{font-size:var(--font-caption,14px);background:#3e2922;color:var(--orange);border-radius:4px;padding:0 5px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:18px 10px 0;border-top:1px solid var(--border);font-size:var(--font-label,15px);color:var(--muted)}.sidebar-bottom small{display:block;font-size:var(--font-caption,14px);margin-top:7px}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px}main{margin-left:220px;padding:25px 30px 0;min-width:700px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.eyebrow{font-size:var(--font-caption,14px);color:#789a83;letter-spacing:2px}h1{font-size:25px;line-height:1.5;margin:3px 0 0;font-weight:600;letter-spacing:1px}h2{font-size:var(--font-subtitle,18px);font-weight:600;margin:0}h3{font-weight:500;margin:8px 0}.header-right{display:flex;align-items:center;gap:20px}time{font-size:var(--font-label,15px);color:var(--muted);font-variant-numeric:tabular-nums}.chip{display:inline-block;font-size:var(--font-caption,14px);white-space:nowrap;border:1px solid #365641;color:#a2d5af;border-radius:20px;padding:4px 12px;background:#182c20}.chip.warn{border-color:#705436;color:var(--orange);background:#2a241a}.notice{display:flex;gap:12px;align-items:center;background:#192a1c;border:1px solid #2b4b32;border-radius:8px;padding:10px 15px;color:#b9cbb4;margin-bottom:20px;font-size:var(--font-label,15px)}.notice p{margin:0;flex:1}.notice>span{color:var(--orange);font-size:var(--font-caption,14px)}.notice button{border:0;background:none;color:var(--muted);padding:0 4px;font-size:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.stats article{border:1px solid var(--border);border-radius:10px;background:linear-gradient(120deg,#13271a,#101d18);padding:16px 21px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px}.stats article span{color:#b5c8bb;font-size:var(--font-label,15px)}.stats strong{font-size:29px;grid-row:1/3;grid-column:2;font-weight:500;color:#d0efd4;line-height:1}.stats small{color:#698774;font-size:var(--font-caption,14px)}.view{display:none}.view.active{display:block}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:18px}.panel-heading{min-height:61px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:13px 18px;gap:12px}.panel-heading>div>span{font-size:var(--font-caption,14px);color:var(--muted);display:block}.panel-heading select{font-size:var(--font-label,15px);padding:5px 10px}.command-layout{display:grid;grid-template-columns:minmax(400px,1fr) 330px;gap:20px}.map-panel{display:flex;flex-direction:column;min-height:650px}#map{min-height:500px;flex:1;background:#253d2f}.map-bottom{padding:12px 17px;display:flex;gap:17px;align-items:center;font-size:var(--font-caption,14px);color:var(--muted)}.legend{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.legend.camera{background:var(--green)}.legend.fire{background:var(--orange)}.legend.drone{background:#83bce5}.map-hint{margin-left:auto;font-size:var(--font-caption,14px)}.command-side .panel{margin-bottom:20px}.quick-cameras{padding:12px;display:flex;flex-direction:column;gap:12px}.quick-camera{position:relative;border-radius:6px;overflow:hidden;background:#030705;cursor:pointer;aspect-ratio:16/8.6}.quick-camera img{width:100%;height:100%;object-fit:contain}.image-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#020804e8);padding:18px 11px 8px;display:flex;justify-content:space-between;font-size:var(--font-caption,14px);color:#e3eade}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:6px 0 20px}.toolbar>div:last-child{display:flex;gap:9px;align-items:center}.muted{color:var(--muted);font-size:var(--font-caption,14px)}.toolbar h2{font-size:var(--font-section,20px)}.toolbar .muted{display:block;margin-top:3px}.monitor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.monitor-grid.nine{grid-template-columns:repeat(3,1fr)}.monitor-grid.one{grid-template-columns:1fr}.camera-tile{background:#060d09;border:1px solid var(--border);border-radius:10px;overflow:hidden}.camera-tile .tile-heading{padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--font-label,15px)}.tile-heading select{font-size:var(--font-caption,14px);padding:3px 7px;max-width:180px}.tile-picture{position:relative;aspect-ratio:16/9;cursor:zoom-in;display:grid;place-items:center}.tile-picture img{width:100%;height:100%;position:absolute;object-fit:contain}.tile-placeholder{color:#42614c;font-size:var(--font-label,15px)}.tile-picture:hover:after{content:'⛶ 点击放大';position:absolute;top:12px;right:12px;padding:3px 9px;background:#051108b9;border-radius:5px;font-size:var(--font-caption,14px)}.tile-footer{display:flex;justify-content:space-between;padding:8px 13px;font-size:var(--font-caption,14px);color:var(--muted)}.tile-footer .live{color:var(--green)}.alerts-layout{display:grid;grid-template-columns:1fr 420px;gap:20px}.event-row{padding:18px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:13px;align-items:flex-start}.event-row:last-child{border:0}.event-row:hover,.event-row.selected{background:#1a3022}.event-icon{width:33px;height:33px;border-radius:8px;display:grid;place-items:center;color:var(--orange);background:#3b2e1d;font-size:19px;flex-shrink:0}.event-row h3{font-size:var(--font-body,16px);margin:0 0 3px}.event-row p{font-size:var(--font-caption,14px);color:var(--muted);margin:3px 0}.event-row .chip{font-size:var(--font-caption,14px);padding:1px 6px;margin-top:3px}.empty{text-align:center;color:var(--muted);padding:45px 22px}.empty>span{display:block;color:#56755e;font-size:36px}.empty h3{color:#b5c8bb;font-size:var(--font-body,16px)}.empty p{font-size:var(--font-caption,14px);max-width:300px;margin:8px auto}.padded{padding:18px}.event-detail h3{font-size:var(--font-subtitle,18px)}.detail-line{display:flex;justify-content:space-between;border-bottom:1px solid #21362a;padding:9px 0;font-size:var(--font-caption,14px)}.detail-line>span:first-child{color:var(--muted)}.form-stack{display:flex;flex-direction:column;gap:13px}label{display:flex;flex-direction:column;gap:5px;font-size:var(--font-caption,14px);color:var(--muted)}label input,label select,label textarea{font-size:var(--font-label,15px);color:var(--text);width:100%}.button-row{display:flex;gap:8px}.button-row button{flex:1;font-size:var(--font-caption,14px)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.drone-banner{display:flex;align-items:center;gap:25px;padding:28px;background:linear-gradient(120deg,#193a27,#13221c)}.drone-banner .chip{margin-left:auto}.drone-banner h2{font-size:22px;margin:5px 0}.drone-banner p{color:var(--muted);font-size:var(--font-label,15px);margin:5px 0}.drone-symbol{font-size:62px;color:#8fd0a3;line-height:1}.drone-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.drone-action{background:#12231a;border:1px solid var(--border);padding:20px 16px;text-align:left;min-height:105px}.drone-action strong{display:block;font-size:var(--font-body,16px);margin-bottom:5px}.drone-action span{font-size:var(--font-caption,14px);color:var(--muted)}.device-layout{display:grid;grid-template-columns:280px 1fr;gap:20px}.resource-list{max-height:680px;overflow:auto}.resource-button{padding:12px 17px;width:100%;border:0;border-bottom:1px solid #21362a;border-radius:0;background:none;display:flex;justify-content:space-between;text-align:left;font-size:var(--font-label,15px)}.resource-button small{color:var(--muted);font-size:var(--font-caption,14px)}.resource-button.ok small{color:#77c38e}.resource-button.bad small{color:var(--orange)}pre,.xml-editor{font:var(--font-caption,14px)/1.7 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:550px;overflow:auto;color:#b9d7bf;background:#09160e;border:1px solid var(--border);border-radius:6px;padding:14px;margin:0}textarea.xml-editor{width:100%;min-height:400px;resize:vertical}.inline-form{display:flex;align-items:flex-end;gap:14px}.inline-form label{flex:1}.api-layout{display:grid;grid-template-columns:350px minmax(350px,1fr);gap:20px}.api-list{height:700px;overflow:auto}.api-item{padding:12px 16px;width:100%;text-align:left;background:none;border-radius:0;border:0;border-bottom:1px solid #20352a;display:block}.api-item span{display:block;font-size:var(--font-label,15px);color:#c8dccd;margin-bottom:3px}.api-item small{display:block;font:var(--font-caption,14px)/1.5 Consolas,monospace;color:#698e75;overflow-wrap:anywhere}.api-item i{font-style:normal;color:#76cf99;font-size:var(--font-caption,14px);margin-right:7px}.api-item i.write{color:var(--orange)}.api-detail .form-stack{padding:18px}.api-path{font:var(--font-label,15px) Consolas,monospace;word-break:break-all;color:var(--green);margin:12px 0}.api-warning{background:#322919;border:1px solid #655133;color:#dec298;font-size:var(--font-caption,14px);padding:10px;border-radius:6px}.api-confirm{flex-direction:row;align-items:center}.api-confirm input{width:auto}.mission-row{padding:14px 18px;border-bottom:1px solid var(--border);font-size:var(--font-caption,14px)}.mission-row strong{display:block;font-size:var(--font-label,15px)}.mission-row span{color:var(--muted)}hr{border:0;border-top:1px solid var(--border);margin:20px 0}footer{display:flex;justify-content:space-between;color:#526e5b;font-size:var(--font-caption,14px);padding:20px 0}dialog{border:1px solid #3d6249;border-radius:12px;background:#0e1b14;color:var(--text);padding:0;width:min(1350px,94vw);max-width:94vw;max-height:93vh}dialog::backdrop{background:#010704db;backdrop-filter:blur(6px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 21px;border-bottom:1px solid var(--border)}.modal-header button{background:none;border:0;font-size:25px;padding:0 6px}.camera-modal-body{display:grid;grid-template-columns:minmax(0,1fr) 250px}.large-image{position:relative;display:grid;place-items:center;background:#000;min-height:500px}.large-image img{max-width:100%;max-height:75vh;object-fit:contain}.large-image>span{position:absolute;bottom:14px;left:16px;font-size:var(--font-caption,14px);color:var(--muted)}.controls{padding:18px;border-left:1px solid var(--border)}.controls h3{font-size:var(--font-body,16px)}.controls>button{margin:8px 0;width:100%}.controls label{margin-top:12px}.ptz-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:17px 0}.ptz-pad button:first-child{grid-column:2}.ptz-pad button:nth-child(2){grid-column:1}.ptz-pad button:last-child{grid-column:2}.ptz-pad button{padding:8px}.controls .muted{font-size:var(--font-caption,14px)}#add-camera-modal{width:480px}#toast{position:fixed;bottom:28px;left:calc(50% + 80px);transform:translateX(-50%);background:#21452e;color:#dbf3df;padding:11px 21px;border:1px solid #51875f;border-radius:8px;z-index:9999;max-width:80vw;display:none;font-size:var(--font-label,15px)}.leaflet-container{font-family:inherit}.map-marker{display:grid;place-items:center;border:2px solid #8ee3ac;border-radius:50%;background:#154728;color:#d9f7e3;font-size:var(--font-label,15px);width:28px;height:28px;box-shadow:0 3px 12px #0008}.map-marker.fire{border-color:#ffd6a2;background:#a6491e}.map-marker.demo{border-style:dashed}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#132b1b;color:#d6e9dc}.leaflet-control-attribution{font-size:var(--font-caption,14px)!important;background:#e4ece3df!important;color:#24382b!important}.leaflet-control-attribution a{color:#244f32!important}@media(min-width:1800px){.command-layout{grid-template-columns:1fr 390px}.map-panel{min-height:740px}#map{min-height:580px}}@media(max-width:1200px){.sidebar{width:185px;padding:25px 12px}main{margin-left:185px;padding:22px 20px 0}.brand{font-size:23px}.command-layout{grid-template-columns:1fr 280px}.alerts-layout{grid-template-columns:1fr 350px}.api-layout{grid-template-columns:290px 1fr}.map-hint{display:none}.stats article{padding:14px}.camera-modal-body{grid-template-columns:1fr 230px}}@media(max-width:900px){.command-layout,.alerts-layout,.two-col{grid-template-columns:1fr}.command-side{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quick-cameras{flex-direction:row}.quick-camera{width:50%}.stats{gap:8px}.device-layout{grid-template-columns:220px 1fr}.drone-actions{grid-template-columns:repeat(2,1fr)}.camera-modal-body{grid-template-columns:1fr}.controls{border-left:0}.large-image{min-height:300px}}

.readiness{display:flex;align-items:center;gap:22px;margin:-6px 0 22px;padding:0 4px;font-size:var(--font-caption,14px);color:var(--muted);flex-wrap:wrap}.readiness b{color:var(--orange);font-weight:400;margin-left:6px}.readiness b.good{color:var(--green)}#connect-dji-modal{width:520px}.fleet-card{padding:19px;background:#13251b;border:1px solid var(--border);border-radius:9px}.fleet-card h3{font-size:var(--font-subtitle,18px);margin:0 0 7px}.fleet-card .detail-line{font-size:var(--font-caption,14px)}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.map-marker.reference{border-color:#f3b56b;border-style:dashed;background:#5a441c}.frozen{color:var(--orange)!important}

@media(max-width:1000px){.sidebar{width:76px;padding:22px 10px}.brand{justify-content:center}.brand>span:last-child,.sidebar-label,.sidebar-bottom small{display:none}.nav{font-size:0;justify-content:center;gap:0;padding:12px 7px;position:relative}.nav span{font-size:23px}.nav b{position:absolute;right:1px;top:3px;font-size:var(--font-caption,14px)}.sidebar-bottom{font-size:0;padding:15px 7px;text-align:center}main{margin-left:76px;padding:20px 16px 0;min-width:0}.header-right{gap:8px}time{font-size:var(--font-caption,14px)}.chip{font-size:var(--font-caption,14px)}.stats{grid-template-columns:repeat(2,1fr)}.stats article{padding:12px 16px}.readiness{gap:8px 16px}.command-layout{grid-template-columns:minmax(0,1fr)}.command-side{grid-template-columns:1fr 1fr}.quick-cameras{flex-direction:column}.quick-camera{width:100%}.toolbar{flex-wrap:wrap}.toolbar>div:last-child{flex-wrap:wrap}.toolbar h2{font-size:var(--font-subtitle,18px)}.api-layout,.device-layout{grid-template-columns:minmax(0,1fr)}.api-list{height:300px}.resource-list{max-height:240px;display:grid;grid-template-columns:1fr 1fr}.inline-form{flex-wrap:wrap}.inline-form label{min-width:120px}.drone-banner{padding:18px;gap:15px;flex-wrap:wrap}.drone-banner h2{font-size:var(--font-section,20px)}.drone-symbol{font-size:45px}.map-panel{min-height:580px}#map{min-height:470px}.camera-modal-body{grid-template-columns:minmax(0,1fr)}.large-image{min-height:300px}.controls{border-left:0}.controls .ptz-pad{max-width:200px}.controls .button-row{max-width:300px}}

.device-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:14px}.device-card{text-align:left;padding:13px 16px;background:#112219}.device-card.selected{border-color:#68bd83;background:#1a3825}.device-card strong,.device-card small{display:block}.device-card small{font-size:var(--font-caption,14px);color:var(--muted);margin-top:4px}.device-scope{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-left:3px solid var(--green);background:#162e20;padding:12px 15px;margin:14px 0;color:var(--muted);font-size:var(--font-label,15px)}.device-scope strong{color:var(--text)}.device-scope>span{margin-left:auto;font-size:var(--font-caption,14px)}.alarm-banner{position:sticky;top:8px;z-index:1001;display:flex;gap:14px;align-items:center;background:#562e20;border:1px solid #e69e64;color:#fff0d7;padding:14px 18px;border-radius:8px;margin:14px 0}.alarm-banner[hidden]{display:none}.alarm-banner strong{flex:1}.alarm-banner button{font-size:var(--font-caption,14px);background:#3e2b1e;border-color:#9f764f}.cc-current-angle{font-size:var(--font-label,15px);color:var(--green)}

.tile-angles{padding:5px 13px 9px;color:#85ab90;font-size:var(--font-caption,14px);border-bottom:1px solid var(--border);white-space:normal}.header-right #alarm-sound{font-size:var(--font-caption,14px);white-space:nowrap}@media(max-width:700px){.header-right time{display:none}.header-right #connection{display:none}.stats strong{font-size:24px}.monitor-grid,.monitor-grid.nine,.command-side{grid-template-columns:1fr}.api-path{font-size:var(--font-caption,14px)}.inline-form{display:grid;grid-template-columns:1fr}.notice{font-size:var(--font-caption,14px)}.device-scope>span{margin-left:0}.alarm-banner{flex-wrap:wrap}.alarm-banner strong{flex-basis:100%}}

/* Display overlay only: geometric image center, including contain letterboxing. */
/* Latest alerts may grow the grid row; the dashboard map keeps its own height. */
#view-command>.command-layout>.map-panel{align-self:start}
.latest-alert-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border)}.latest-alert-filters button{font-size:var(--font-caption,14px);padding:5px 11px}.latest-alert-filters button[aria-pressed="true"]{background:#2a4c35;border-color:#69a97d;color:#d9f6e1}.latest-alert-filters .muted{font-size:var(--font-caption,14px)}
.event-row.event-workflow--pending{border-left:3px solid #edb660}.event-row.event-workflow--confirmed{border-left:3px solid #ee746d}.event-row.event-workflow--neutral{border-left:3px solid #75817b}.event-row.event-workflow--closed{border-left:3px solid #65b982}
.event-workflow--confirmed .event-icon{background:#442322;color:#ffaaa1}.event-workflow--neutral .event-icon{background:#28322d;color:#a5b3ab}.event-workflow--closed .event-icon{background:#203c2a;color:#99d6ac}
.event-workflow-chip--pending{border-color:#896a3b;background:#352b1b;color:#f4ca86}.event-workflow-chip--confirmed{border-color:#9c4946;background:#402321;color:#ffb2a9}.event-workflow-chip--neutral{border-color:#53625a;background:#253029;color:#bcc8c0}.event-workflow-chip--closed{border-color:#3b7851;background:#1c3525;color:#a5ddb5}
.quick-camera:has(img[data-cam])::before,.tile-picture:has(img[data-cam])::before,.large-image:has(img[data-cam])::after{content:'';position:absolute;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:#ff302b;box-shadow:0 0 0 1px #ffffff66,0 0 3px #000a;pointer-events:none;z-index:3;opacity:.3}

/* Map keys use the same marker classes as their real map counterparts. */
.map-marker.drone{border-color:#83bce5;background:#204e78;color:#e3f3ff}.map-marker.airport{border-color:#c0a0ee;background:#503675;color:#f1e8ff}.map-marker.reference{border-color:#8ee3ac;background:#154728;color:#d9f7e3}.map-device-caption.drone{border:1px solid #83bce5;background:#163b5c;color:#e3f3ff}.map-device-caption.airport{border:1px solid #c0a0ee;background:#3b2858;color:#f1e8ff}.map-marker.map-legend-icon{display:inline-grid;vertical-align:middle;width:22px;height:22px;margin-right:6px;font-size:14px;line-height:1;font-style:normal;box-shadow:none}.map-bottom>span{display:inline-flex;align-items:center}
.map-aircraft-heading{position:absolute;left:-8px;top:-8px;width:44px;height:44px;pointer-events:none;transform-origin:center;fill:#a6deff;stroke:#123b55;stroke-width:1}.map-aircraft-heading.is-historical{fill:#b9c6d0;stroke:#344957;stroke-dasharray:2 1}.map-heading-age{position:absolute;top:51px;left:14px;transform:translateX(-50%);white-space:nowrap;font-size:14px;line-height:20px;padding:0 4px;border-radius:3px;background:#26333fe8;color:#d9e4eb;pointer-events:none}
.readiness>[data-ready-target]{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px;background:transparent;border:1px solid transparent;border-radius:5px;padding:5px 7px;margin:-5px -7px;color:inherit;font:inherit;line-height:1.5;text-align:left;cursor:pointer}.readiness>[data-ready-target]:hover:not(:disabled),.readiness>[data-ready-target]:focus-visible{background:#ffffff0a;border-color:var(--border,#445166);outline:2px solid transparent}.readiness>[data-ready-target]:focus-visible{outline-color:#7baeff;outline-offset:2px}.readiness>[data-ready-target]:disabled{cursor:default;opacity:.6}.readiness #ready-position{display:inline-flex;gap:5px;flex-wrap:wrap}.camera-installation-copy{padding-bottom:0}.camera-installation-copy p{margin:0 0 10px}#camera-location-feedback:empty{display:none}#camera-installation-panel{scroll-margin-top:24px}

/* Device inventories need the full workspace width. */
#view-drone > .two-col{grid-template-columns:minmax(0,1fr)}
#view-drone .fleet-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
#view-drone .fleet-card .detail-line{display:grid;grid-template-columns:6em minmax(0,1fr);gap:10px}
#view-drone .fleet-card .detail-line>span:last-child{min-width:0;overflow-wrap:anywhere;text-align:right}
