
/* Ai B-CARD – adaptive tablet, desktop and drone workspace */
:root { --bcd-navy:#052a49;--bcd-ocean:#137ca8;--bcd-soft:#eaf6fb; }
html,body{margin:0;max-width:100%;overflow:hidden;}
#app{max-width:none!important;width:100%!important;margin:0!important;box-shadow:none!important;}
#bcDrone{position:absolute;inset:0;z-index:4;display:none;overflow:hidden;background:#0b2941;}
#app.drone-on #bcDrone{display:block;}
#app.drone-on #mapPane,#app.drone-on #arPane,#app.drone-on #screens{display:none!important;}
#bcDroneMap{position:absolute;inset:0;z-index:0;}
#bcDrone:after{content:"";position:absolute;inset:0 0 auto;height:210px;z-index:2;pointer-events:none;background:linear-gradient(#021c35aa,transparent);}
#bcDroneBadge{position:absolute;top:185px;left:15px;right:15px;max-width:max-content;z-index:3;display:flex;gap:7px;align-items:center;background:#082b48cd;color:#fff;border:1px solid #ffffff46;border-radius:11px;padding:8px 11px;font:650 11px Inter,Arial,sans-serif;backdrop-filter:blur(8px);}
#bcDronePanel{position:absolute;right:14px;bottom:calc(92px + env(safe-area-inset-bottom));width:min(360px,calc(100% - 28px));max-height:min(570px,calc(100dvh - 275px));z-index:6;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:#f7fcffef;border:1px solid #ffffffdf;border-radius:19px;padding:15px;box-shadow:0 5px 22px #06294355;color:#113f60;backdrop-filter:blur(14px);font-family:Inter,Arial,sans-serif;}
#bcDronePanel .bc-dr-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
#bcDronePanel h3{font-size:16px;margin:0;line-height:1.3;color:#082d49;}
#bcDronePanel .bc-dr-status{font-size:10px;color:#537c94;line-height:1.4;margin:5px 0 12px;}
#bcDronePanel .bc-dr-modes{display:flex;gap:6px;background:#e1f0f8;border-radius:11px;padding:4px;margin-bottom:11px;}
#bcDronePanel button{cursor:pointer;}
#bcDronePanel .bc-dr-modes button{border:0;border-radius:9px;padding:9px 10px;background:transparent;color:#496b80;font:700 12px Inter,Arial,sans-serif;flex:1;}
#bcDronePanel .bc-dr-modes button.active{background:#07537a;color:white;}
#bcDronePanel .bc-dr-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;}
#bcDronePanel .bc-dr-actions button,#bcDronePanel .bc-dr-plain{border:1px solid #c5dcea;background:#fff;border-radius:9px;color:#174e72;font:700 11px Inter,Arial,sans-serif;padding:8px 11px;}
#bcDronePanel .bc-dr-actions button.primary{border-color:#075e88;background:#075e88;color:#fff;}
#bcDronePanel .bc-dr-actions button.active{background:#e5f5fc;color:#08678b;border-color:#5baecc;}
#bcDronePanel .bc-dr-label{display:flex;justify-content:space-between;gap:6px;margin-top:13px;font-size:11px;color:#375f78;font-weight:650;}
#bcDronePanel input[type=range]{width:100%;accent-color:#137ca8;height:15px;}
#bcDronePanel input[type=url]{width:100%;box-sizing:border-box;border:1px solid #c4d8e6;border-radius:10px;padding:10px;font:12px Inter,Arial,sans-serif;color:#173c53;outline-color:#328eaf;}
#bcDronePanel video,#bcDronePanel img.bc-stream-image{width:100%;height:170px;object-fit:contain;background:#071e32;border-radius:12px;display:block;}
#bcDronePanel .bc-dr-note{margin:6px 0 0;font-size:10px;line-height:1.5;color:#698599;}
#bcDronePanel .bc-dr-live{display:none;}
#bcDronePanel[data-mode=live] .bc-dr-live{display:block;}
#bcDronePanel[data-mode=live] .bc-dr-manual{display:none;}
#bcDronePanel .bc-dr-stream-badge{font-size:10px;font-weight:700;margin:4px 0 6px;color:#547a8c;min-height:17px;}
#bcDronePanel .bc-dr-gps{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;color:#34637d;margin-top:9px;}
#bcDronePanel .bc-dr-gps b{font-size:11px;color:#0b536d;}
#bcDronePanel .bc-dr-hide{width:30px;height:30px;border:1px solid #b9d7e8;border-radius:9px;background:#fff;color:#174e72;font-size:20px;line-height:1;}
#bcDronePanel.collapsed{width:auto;max-width:calc(100% - 28px);max-height:48px;overflow:hidden;padding:8px 10px;min-height:48px;}
#bcDronePanel.collapsed .bc-dr-body{display:none;}
#bcDronePanel.collapsed .bc-dr-head h3{font-size:13px;}
#bcDronePanel.collapsed .bc-dr-head{gap:12px;}
#bcDronePanel .bc-dr-link{font-size:11px;color:#0e7499;}
#bcDronePanel .bc-dr-err{font-size:11px;color:#ad3e39;font-weight:600;}
#bcDroneMap .leaflet-control-attribution{font-size:9px!important;}
#bcDroneMap .leaflet-control-zoom{margin-right:12px;margin-bottom:14px;}
#bcDroneMap .bc-drone-marker{background:transparent;border:0;}
#bcDroneMap .bc-drone-waypoint{border:2px solid white;border-radius:50%;background:#0d82b3;color:#fff;box-shadow:0 2px 5px #06334b99;text-align:center;line-height:24px;font:700 12px/24px Arial,sans-serif;}
#bottomNav .nav[data-tab="drone"] .ico{font-size:19px;}
#bottomNav .nav[data-tab="drone"].on{color:#137ca8;}
@media(min-width:700px){
 #app{max-width:none!important;width:100vw!important;height:100dvh!important;}
 #mapPane,#map,#arPane{width:100%!important;max-width:none!important;}
 #screens{max-width:none!important;width:100%!important;box-sizing:border-box!important;}
 .panel{max-width:min(900px,calc(100% - 48px))!important;}
 .sheet{max-width:min(920px,calc(100% - 48px))!important;}
 .filterbar{max-width:calc(100% - 65px)!important;scrollbar-width:thin;}
 .top{padding:15px 24px!important;box-sizing:border-box!important;}
 #mapControls,#arControls{right:22px!important;}
 #bcDroneBadge{left:24px;}
}
@media(min-width:1024px){
 #bottomNav{position:absolute!important;left:0!important;right:auto!important;top:0!important;bottom:0!important;width:82px!important;height:100dvh!important;box-sizing:border-box!important;padding:20px 5px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:12px!important;border-top:0!important;border-right:1px solid #d6e7f1!important;box-shadow:3px 0 20px #052a4920!important;}
 #bottomNav .nav{width:100%;min-width:0!important;padding:8px 3px!important;gap:5px!important;font-size:11px!important;border-radius:10px!important;}
 #bottomNav .nav.on{background:#e9f5fa!important;}
 #top{left:100px!important;right:24px!important;width:auto!important;max-width:none!important;margin:0!important;padding:17px 6px 8px!important;}
 #mapControls,#arControls{right:24px!important;top:200px!important;}
 #screens{padding-left:110px!important;padding-right:24px!important;padding-bottom:18px!important;}
 #screens .cards-grid,#screens .cardGrid,#screens .cardsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
 #mapStats{left:105px!important;max-width:520px!important;}
 #bcDronePanel{left:105px;right:auto;bottom:18px;max-height:calc(100dvh - 245px);width:365px;}
 #bcDroneBadge{left:105px;top:190px;}
 #bcDroneMap{left:82px;}
 #bcDroneMap .leaflet-control-zoom{margin-top:210px;}
 #app.drone-on #top{left:100px!important;right:25px!important;}
 #arPane #arMarkers{left:105px!important;}
 #arPane .ar-radar{max-width:460px!important;left:calc(50% + 40px)!important;}
}
@media(min-width:700px) and (max-width:1023px){
 #bottomNav{padding:9px 25px calc(8px + env(safe-area-inset-bottom))!important;}
 #bottomNav .nav{flex:1;min-width:0;}
 #bcDronePanel{width:350px;right:18px;bottom:100px;max-height:calc(100dvh - 270px);}
 #bcDroneMap .leaflet-control-zoom{margin-top:195px;}
}
@media(max-width:699px){
 #bottomNav{gap:0!important;padding-left:2px!important;padding-right:2px!important;}
 #bottomNav .nav{min-width:0!important;flex:1;max-width:18%!important;padding:7px 1px 4px!important;font-size:9px!important;}
 #bottomNav .nav .ico{font-size:20px!important;}
 #bcDronePanel{bottom:calc(77px + env(safe-area-inset-bottom));width:calc(100% - 20px);right:10px;max-height:38dvh;padding:12px;}
 #bcDronePanel video{height:130px;}
 #bcDronePanel .bc-dr-status{margin:4px 0 6px;}
 #bcDroneBadge{top:205px;left:10px;right:68px;font-size:10px;}
 #bcDroneMap .leaflet-control-zoom{margin-top:195px;}
}
@media(max-width:380px){
 #bottomNav .nav{font-size:8px!important;}
 #bottomNav .nav .ico{font-size:18px!important;}
 #bcDronePanel{max-height:35dvh;}
}

/* Multi-column directory and wallet: avoid giant stretched mobile cards on wide screens. */
@media(min-width:700px){
  #screens .bc-cardlist{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:start!important;}
  #screens .bc-tile{min-width:0!important;width:100%!important;box-sizing:border-box!important;margin:0!important;}
  #screens .bc-tile .bc-fullcard{width:100%!important;max-width:none!important;}
  #screens .bc-tile-foot{min-height:36px!important;}
}
@media(min-width:1050px){
  #screens .bc-cardlist{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;gap:16px!important;}
}
