/* Coordinates belong to #world, including mobile zoom/pan. The service bubble
   is independent of the Carrier's normal Shield stat and shield artwork. */
#hospitalRepairDroneLayer { position:absolute; inset:0; pointer-events:none; z-index:72; overflow:visible; }
#hospitalRepairDroneLayer [hidden] { display:none !important; }
.hospitalRepairDrone { position:absolute !important; left:0; top:0; width:1px !important; height:1px !important; min-width:0 !important; min-height:0 !important; padding:0 !important; margin:0 !important; border:0 !important; background:none !important; box-shadow:none !important; overflow:visible !important; pointer-events:none; }
#hospitalRepairDroneLayer, #hospitalRepairDroneLayer * { pointer-events:none !important; }
.hospitalRepairDroneBody { position:absolute; display:block; width:126px; height:86px; left:-63px; top:-43px; transform:rotate(var(--repair-bearing,0deg)); transform-origin:center; }
.hospitalRepairDroneBody img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 3px #020a12) drop-shadow(0 0 4px #6aeaf077); }
.hospitalRepairDroneFloor { position:absolute; width:87px; height:39px; left:18px; top:40px; border-radius:50%; background:radial-gradient(ellipse,#55dec749,transparent 70%); transform:rotate(-12deg); }
.hospitalRepairDroneBeacon { position:absolute; left:50%; top:37%; width:5px; height:5px; border-radius:50%; background:#eaffff; box-shadow:0 0 5px #fff,0 0 10px #65eff7; animation:hospitalRepairBeacon 2s ease-in-out infinite; }
.hospitalRepairDroneJet { position:absolute; right:14%; top:22%; width:14px; height:5px; border-radius:50%; transform:rotate(-30deg); background:#c9feff; box-shadow:0 0 7px #18cdf7,4px -1px 10px #008aff; opacity:.7; }
.hospitalRepairDroneCaption { display:grid; position:absolute; width:204px; left:-102px; top:44px; justify-items:center; gap:3px; color:#d6f9ff; pointer-events:none; white-space:nowrap; text-shadow:0 2px 3px #000; }
.hospitalRepairDroneCaption b { font:800 9px/1.2 system-ui,sans-serif; letter-spacing:.06em; }
.hospitalRepairDroneCaption small { font:700 8px/1.2 system-ui,sans-serif; color:#abced4; }
.hospitalRepairDrone[data-phase="repairing"] .hospitalRepairDroneBody { animation:hospitalRepairHover 4s ease-in-out infinite; }
.hospitalRepairDrone[data-phase="repairing"] .hospitalRepairDroneJet { opacity:.25; }
.hospitalRepairBeam { display:none; position:absolute; height:2px; left:0; top:0; width:var(--repair-beam-length,110px); transform-origin:left center; transform:rotate(var(--repair-beam-bearing,150deg)); background:linear-gradient(90deg,#dfffff,#66eaca99,#73f1a722); box-shadow:0 0 5px #8cf6de; }
.hospitalRepairDrone[data-protected="true"] .hospitalRepairBeam { display:block; }
.hospitalRepairShield { position:absolute; left:0; top:0; box-sizing:border-box; border:1.8px solid #83f3dcaa; border-radius:50%; pointer-events:none; background:radial-gradient(ellipse at 33% 24%,#b2ffee24 0%,#5eb9dc0b 38%,transparent 62%,#66e9c61c 78%,#aaffed4d 97%,#e5ffff88); box-shadow:inset 0 0 18px #7bedc32e,0 0 10px #73e9dc42; }
.hospitalRepairShield::before { content:""; position:absolute; inset:5%; border:1px solid #b1ffe63a; border-top-color:#f0fffcac; border-right-color:transparent; border-radius:50%; transform:rotate(-24deg); }
.hospitalRepairShield::after { content:""; position:absolute; inset:2%; border-radius:50%; background:repeating-linear-gradient(0deg,transparent 0 22px,#a8ffed09 23px 24px); }
.hospitalRepairShieldMeridian { position:absolute; width:53%; height:96%; top:2%; left:24%; border:1px solid #a2ffe221; border-radius:50%; transform:rotate(-14deg); }
.hospitalRepairShieldRing { position:absolute; width:92%; height:24%; left:4%; bottom:8%; border:1px solid #c3fff36b; border-radius:50%; box-shadow:0 0 8px #87ead526; }
.hospitalRepairShield > span { position:absolute; top:97%; left:50%; transform:translateX(-50%); padding:5px 9px; border:1px solid #91ddbd69; border-radius:5px; background:#08262ade; color:#bdfce1; font:800 9px/1.2 system-ui,sans-serif; white-space:nowrap; letter-spacing:.05em; }
#hospitalRepairDroneLayer[data-paused="true"] * { animation-play-state:paused !important; }
@keyframes hospitalRepairBeacon { 0%,100% {opacity:.45;} 45%,55% {opacity:1;} }
@keyframes hospitalRepairHover { 0%,100% {transform:translateY(0) rotate(-2deg);} 50% {transform:translateY(-5px) rotate(1deg);} }
@media(prefers-reduced-motion:reduce) { #hospitalRepairDroneLayer * { animation:none !important; } }
#carrierInfoPanel #commandDamageReport .commandDamageRow[data-status="healthy"] .commandRepairButton[data-repair-job] { display:grid !important; }
#carrierInfoPanel #commandHospitalRepairs { margin:0 0 10px; padding:10px; border:1px solid #72d7ba38; border-radius:8px; background:#09212bcc; }
#carrierInfoPanel #commandHospitalRepairs[hidden] { display:none !important; }
#commandHospitalRepairs > strong { display:block; margin-bottom:7px; color:#acd8d4; font:800 10px/1.4 system-ui,sans-serif; }
#carrierInfoPanel #commandHospitalRepairs > button { display:grid; width:100%; min-height:44px; padding:8px 9px; margin:5px 0 0; gap:3px; text-align:left; background:#0d2b37 !important; border:1px solid #68c6c433 !important; border-radius:5px; }
#commandHospitalRepairs > button b { color:#e1f5fa; font:750 11px/1.4 system-ui,sans-serif; }
#commandHospitalRepairs > button span { color:#a2d6cb; font:700 9px/1.4 system-ui,sans-serif; }
#carrierInfoPanel #commandRepairDialog { width:min(430px,calc(100vw - 24px)) !important; max-height:calc(100dvh - 24px) !important; overflow:auto !important; overscroll-behavior:contain; }
#carrierInfoPanel #commandRepairDialog .commandRepairPreview { margin:10px 0; }
#carrierInfoPanel #commandRepairDialog .commandRepairQuote > div { padding:7px 0; }
#carrierInfoPanel #commandRepairDialog .commandRepairQuote dd { max-width:65%; font-size:11px; text-align:right; overflow-wrap:anywhere; }
#carrierInfoPanel #commandRepairDialog #commandRepairJobStatus { display:grid; gap:5px; padding:10px; margin:9px 0; border:1px solid #72cfad55; border-radius:6px; background:#0b2c32; color:#b4f1d9; }
#carrierInfoPanel #commandRepairJobStatus > strong { font:800 11px/1.4 system-ui,sans-serif; }
#carrierInfoPanel #commandRepairJobStatus > span { color:#b5ccd3; font:700 9px/1.5 system-ui,sans-serif; }
#carrierInfoPanel #commandRepairProgress { width:100%; height:6px; margin:2px 0; accent-color:#87ecc7; }
#carrierInfoPanel #commandRepairDialog #commandRepairPool { margin:9px 0; color:#a6c7d0; font:750 9px/1.45 system-ui,sans-serif; }
#carrierInfoPanel #commandRepairDialog #commandRepairMessage { min-height:0; margin:8px 0; }
#carrierInfoPanel #commandRepairDialog .nnMenuActions { display:flex; flex-wrap:wrap; gap:7px; }
#carrierInfoPanel #commandRepairDialog .nnMenuActions > button { min-height:44px !important; flex:1 1 120px; font-size:10px !important; }
#carrierInfoPanel #commandRepairDialog [hidden] { display:none !important; }
