:root{
  --bg:#0b1220;
  --panel:#0f1b33;
  --panel2:#0b1428;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --accent:#facc15;
  --accent2:#38bdf8;
  --danger:#ef4444;
  --ok:#22c55e;
  --shadow:0 18px 40px rgba(0,0,0,.45);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif}

/* subtle "map" texture without adding assets */
body{position:relative;overflow:hidden}
body:before{
  content:"";
  position:fixed;inset:-40px;
  background:
    radial-gradient(circle at 20% 10%, rgba(250,204,21,.10), transparent 45%),
    radial-gradient(circle at 80% 30%, rgba(56,189,248,.10), transparent 50%),
    repeating-linear-gradient(120deg, rgba(255,255,255,.05) 0 2px, transparent 2px 18px),
    repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 16px);
  opacity:.35;
  pointer-events:none;
  filter:blur(.2px);
}
button,input,select,textarea{font:inherit}

.app{height:100%;display:flex;grid-template-columns:320px 1fr}
.sidebar{overflow-y:hidden;background:linear-gradient(180deg,var(--panel),var(--panel2));border-right:1px solid rgba(255,255,255,.06);padding:16px;display:flex;flex-direction:column;gap:14px}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:40px;height:40px;border-radius:14px;background:rgba(250,204,21,.14);display:grid;place-items:center;color:var(--accent);font-weight:900;letter-spacing:.5px}
.titles .name{font-weight:800}
.titles .tag{color:var(--muted);font-size:12px;margin-top:2px}

.icon-btn{
  margin-left:auto;
  width:42px;height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--text);
  cursor:pointer;
  transition:transform .15s, background .15s, border-color .15s;
}
.icon-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.06);border-color:rgba(250,204,21,.30)}
.icon-btn:active{transform:translateY(0px) scale(.98)}

.panel-title{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:0;
  background:transparent;
  color:var(--text);
  font-weight:800;
  letter-spacing:.2px;
  padding:2px 2px;
  cursor:pointer;
}
.panel-title .caret{opacity:.75;transition:transform .18s}
.panel.is-collapsed .panel-title .caret{transform:rotate(-90deg)}
.panel.is-collapsed > *:not(.panel-title){display:none !important}

.actions-grid .ico{margin-right:8px}
.actions-grid .lbl{opacity:.95}
.chip .ico{margin-right:8px}
.sidebar.collapsed .actions-grid .ico,
.sidebar.collapsed .chip .ico{margin:0 !important}
.sidebar.collapsed .chip,
.sidebar.collapsed .chip-btn{padding:12px 0; text-align:center}
.sidebar.collapsed .actions-grid{grid-template-columns:1fr}


.nav{display:flex;gap:10px}
.nav-item{flex:1;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--text);border-radius:14px;padding:10px 0;cursor:pointer;transition:.15s}
.nav-item:hover{transform:translateY(-1px)}
.nav-item.active{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.12)}
.nav-item .ico{font-size:18px}

.panel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:12px;box-shadow:none}
.panel-title{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px 0}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.label{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:6px}
.label.with-icon{justify-content:space-between}
.type-icon{width:22px;height:22px;border-radius:8px;opacity:.95;box-shadow:0 0 0 1px rgba(255,255,255,.10) inset}
select,input,textarea{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.15);color:var(--text);border-radius:14px;padding:10px 12px;outline:none}
select option{background:#0b0f14;color:var(--text)}
textarea{resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.btn{width:100%;border:1px solid rgba(56,189,248,.35);background:rgba(56,189,248,.14);color:var(--text);border-radius:14px;padding:10px 12px;cursor:pointer}
.btn:hover{background:rgba(56,189,248,.20)}
.btn-secondary{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--text);border-radius:14px;padding:10px 12px;cursor:pointer}
.btn-secondary:hover{background:rgba(255,255,255,.10)}

.info{color:var(--muted);font-size:13px;line-height:1.35;white-space:pre-wrap;max-height:210px;overflow:auto}
.footer{margin-top:auto;color:var(--muted);font-size:12px;opacity:.85}

.main{flex-grow:1;max-height: 100vh;position:relative;display:flex;flex-direction:column;min-width:0}
.topbar{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(10,14,20,.65);backdrop-filter:blur(10px);position:sticky;top:0;z-index:4}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chip{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:var(--text);border-radius:999px;padding:8px 10px;font-size:13px}
.chip-btn{cursor:pointer; text-decoration: unset;}
.chip-btn:hover{background:rgba(255,255,255,.10)}
.chip-btn.is-on{background:rgba(56,189,248,.22);border-color:rgba(56,189,248,.45)}

.content{position:relative;flex:1;min-height:0}
.map{position:absolute;inset:0}

/* FAB */
.fab{position:absolute;right:16px;bottom:16px;z-index: 9999;width:56px;height:56px;border-radius:999px;border:1px solid rgba(56,189,248,.45);background:rgba(56,189,248,.20);color:var(--text);cursor:pointer;box-shadow:var(--shadow);display:grid;place-items:center}
.fab:hover{transform:translateY(-1px);background:rgba(56,189,248,.28)}
.fab-ico{font-size:22px;line-height:1}

/* Drawer */
/* Use fixed positioning so drawers always respect the viewport height
   (and the internal body can scroll reliably). */
.drawer{overflow-y: scroll; position:fixed;top:74px;right:14px;width:360px;max-width:calc(100vw - 28px);max-height:calc(100vh - 88px);background:rgba(17,24,39,.92);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);box-shadow:var(--shadow);z-index: 9999;display:none;overflow-y:scroll}
.drawer.open{display:block}
.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.drawer-title{font-weight:800}
.drawer-body{padding:12px;overflow:auto;max-height:calc(100% - 54px)}

/* Drawer backdrop (for incident details) */
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);z-index:5}

/* Incident drawer */
.drawer--incident{top:74px;right:14px;width:420px;max-height:calc(100vh - 88px)}

/* Ad modal (separate from incident creation) */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:60}
.modal.open{display:flex}
.modal .modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.modal .modal-card{position:relative;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:hidden;background:rgba(17,24,39,.95);border:1px solid rgba(255,255,255,.10);border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.modal .modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.modal .modal-body{padding:14px;overflow:auto;max-height:calc(100vh - 140px)}
.modal .modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:12px 14px;border-top:1px solid rgba(255,255,255,.08)}
.inc-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.inc-badge{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 28%, rgba(255,255,255,.06));border:1px solid color-mix(in srgb,var(--accent) 45%, rgba(255,255,255,.10));box-shadow:0 10px 25px rgba(0,0,0,.25)}
.inc-badge img{width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.inc-name{font-weight:900;font-size:15px}
.inc-sub{color:var(--muted);font-size:12px;margin-top:2px}
.inc-photo{position:relative;margin:10px 0 8px;border:1px solid rgba(255,255,255,.10);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.02)}
.inc-photo img{display:block;width:100%;height:auto}
.inc-photo .photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.35);color:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(6px)}
.inc-photo .photo-nav:hover{background:rgba(0,0,0,.50)}
.inc-photo .photo-nav.prev{left:10px}
.inc-photo .photo-nav.next{right:10px}
.inc-photo .photo-count{position:absolute;right:10px;bottom:10px;font-size:12px;padding:4px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(0,0,0,.30);color:rgba(255,255,255,.92);backdrop-filter:blur(6px)}

/* Hover preview tooltip on map */
.maplibregl-popup.hover-popup .maplibregl-popup-content{background:rgba(15,23,42,.92);color:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 12px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.maplibregl-popup.hover-popup .maplibregl-popup-tip{border-top-color:rgba(15,23,42,.92)}
.hover-card{display:flex;gap:10px;align-items:center;min-width:180px}
.hover-ico{width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}
.hover-ico img{width:20px;height:20px;display:block}
.hover-txt{display:flex;flex-direction:column;gap:2px}
.hover-title{font-weight:800;font-size:13px;line-height:1.1}
.hover-sub{font-size:12px;color:rgba(255,255,255,.70)}
.inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.inc-kv{padding:10px 12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:14px}
.inc-kv .k{color:var(--muted);font-size:11px}
.inc-kv .v{font-weight:800;margin-top:4px}
.inc-desc{color:rgba(255,255,255,.92);font-size:13px;line-height:1.35;white-space:pre-wrap}
.inc-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}

@media (max-width: 980px){
  .drawer--incident{left:14px;right:14px;width:auto;top:74px}
}
.hint{color:var(--muted);font-size:12px;margin-bottom:10px}
.icon{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--text);border-radius:12px;padding:8px 10px;cursor:pointer}
.icon:hover{background:rgba(255,255,255,.10)}
.photo-preview{margin-top:10px;border:1px solid rgba(255,255,255,.10);border-radius:14px;overflow:hidden}
.photo-preview img{display:block;width:100%;height:auto}

/* Auth overlay */
.auth-overlay{position:absolute;inset:0;display:none;place-items:center;z-index: 9999;background:rgba(0,0,0,.55);backdrop-filter:blur(10px)}
.auth-overlay.open{display:grid}
.auth-card{width:420px;max-width:calc(100% - 30px);background:rgba(17,24,39,.96);border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.auth-card .head{padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}
.auth-card .title{font-weight:900;font-size:18px}
.small{font-size:12px}
.muted{color:var(--muted)}
.auth-card .body{padding:16px}
.auth-tabs{display:flex;gap:10px;margin-bottom:12px}
.tabbtn{flex:1;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:var(--text);border-radius:14px;padding:10px 12px;cursor:pointer}
.tabbtn.active{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.12)}

/* Modals */
.modal{position:absolute;inset:0;display:grid;place-items:center;z-index: 9999;background:rgba(0,0,0,.50);backdrop-filter:blur(10px)}
.modal[hidden]{display:none !important}
.modal-card{width:860px;max-width:calc(100% - 30px);max-height:calc(100% - 30px);background:rgba(17,24,39,.96);border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.modal-title{font-weight:900}
.modal-body{padding:14px;overflow:auto;max-height:calc(100% - 56px)}
.rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.list .item{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:14px}
.list .item .name{font-weight:700}
.badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.badge{padding:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);border-radius:14px}
.badge.on{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.10)}
.badge .t,.badge .btitle{font-weight:800}
.badge .d,.badge .bdesc{color:var(--muted);font-size:12px;margin-top:4px;line-height:1.3}

/* Responsive */
@media (max-width: 980px){
  #btnSidebarToggle{display:block !important;}
  .app{grid-template-columns:1fr}
  #btnMenu{display:inline-flex}
  .sidebar{position:fixed;inset:0 auto 0 0;width:320px;max-width:86vw;z-index: 9999;transform:translateX(-105%);transition:transform .18s ease;display:flex}
  .sidebar.open{transform:translateX(0)}
  .content{min-height:calc(100vh - 56px)}
  .drawer{left:14px;right:14px;width:auto}
  .modal-card{width:94vw}
  .rank-grid{grid-template-columns:1fr}
}

#btnMenu{display:none;align-items:center;justify-content:center;min-width:38px}

.divider{height:1px;background:rgba(255,255,255,.08);margin:10px 0}
.toggle{display:flex;align-items:center;gap:10px;color:var(--text);margin:6px 0 10px}
.toggle input{width:18px;height:18px}
.ad-fields{padding:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);border-radius:14px}
.rowitem{display:grid;grid-template-columns:56px 1fr 70px;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:14px;margin-top:8px}
.rowitem span:last-child{text-align:right;font-weight:800}


/* Contacts UI */
.contact-row{display:flex;align-items:center;gap:10px;margin:-6px 0 10px}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.14)}
.btn.danger{border-color:rgba(255,80,80,.35);color:#ffd0d0}
.modal-card.wide{max-width:860px}
a.tel{color:#dbe8ff;text-decoration:none}
a.tel:hover{text-decoration:underline}
.card.soft{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:14px;padding:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Sidebar action buttons */
.actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.panel-actions .btn{justify-content:center}
@media (max-width: 760px){
  .grid2{grid-template-columns:1fr}
  .modal-card.wide{max-width:96vw}

  /* Mobile: keep the topbar clean (everything lives in sidebar menu) */
  .topbar{padding:10px 10px;gap:10px}
  .topbar-left{gap:10px}
  .topbar-left .chip:not(#btnMenuTop):not(#btnMyLocTop):not(#chipZoom){display:none !important}
  .topbar-right .chip{display:none !important}
  .topbar-right a.chip{display:none !important}
  /* Keep only logout button in the right side on mobile */
  .topbar-right form{margin-left:auto}

  /* Ensure floating report button is always visible */
  .fab{bottom:16px;right:16px;z-index:30}
}

/* Map popup (incident bubble) */
.maplibregl-popup-content{background:transparent;border:none;box-shadow:none;padding:0}
.maplibregl-popup-close-button{color:rgba(255,255,255,.85);font-size:18px;margin:6px 6px 0 0}

/* Home marker (user-defined "casa") */
.home-marker{
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(15,23,42,.92);
  box-shadow:0 16px 32px rgba(0,0,0,.35);
  cursor:pointer;
  user-select:none;
}
.home-marker:hover{transform:translateY(-1px)}
.home-marker .inner{font-size:20px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));}
.ups-popup{width:260px;background:rgba(15,23,42,.92);border:1px solid rgba(255,255,255,.10);border-left:4px solid var(--accent,#38bdf8);border-radius:16px;box-shadow:0 18px 48px rgba(0,0,0,.35);backdrop-filter: blur(8px);overflow:hidden}
.ups-popup__head{display:flex;gap:12px;align-items:center;padding:12px 12px 12px 12px}
.ups-popup__ico{width:38px;height:38px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 2px rgba(0,0,0,.10) inset, 0 0 0 1px var(--accent,#38bdf8) inset;display:grid;place-items:center;flex:0 0 auto}
.ups-popup__ico img{width:26px;height:26px;image-rendering:auto}
.ups-popup__t1{font-weight:900;letter-spacing:.2px;display:flex;align-items:center;gap:8px}
.ups-popup__t2{font-size:12px;color:rgba(255,255,255,.78);margin-top:2px;text-transform:capitalize}
.ups-pill{font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}

/* Upschi 3D overlay (MVP) - HUD no canto (não interfere com o mapa) */
.upschi3d-layer{
  position:fixed;
  will-change: transform;
  left:14px;
  bottom:14px;
  width:220px;
  height:220px;
  pointer-events:none;
  z-index: 9999;
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.10), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  backdrop-filter: blur(6px);
}
.upschi3d-layer canvas{width:100%;height:100%;display:block;pointer-events:none}


/* 3D incident placeholders (model-viewer) */
.warning3d{filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));}
.warning3d model-viewer{pointer-events:none;}


/* 3D warning marker placeholder */
.warning3d{filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));}
.warning3d canvas{border-radius:16px;}
.warning3d .w3d-ph{width:76px;height:76px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.10);font-size:22px;color:#fff;}


/* Ensure map container can host absolute HUD layers */
#map { overflow: hidden; }

/* Upschi 3D HUD layer mounted inside map */
.upschi3d-layer { position:absolute; left:16px; bottom:16px; z-index: 50; pointer-events:none; }

/* Sidebar collapse (desktop) */
.sidebar.collapsed .titles, 
.sidebar.collapsed .section-title,
.sidebar.collapsed .section-sub,
.sidebar.collapsed .filters,
.sidebar.collapsed .actions .label,
.sidebar.collapsed .info,
.sidebar.collapsed .nav-item span:not(.ico),
.sidebar.collapsed .row label,
.sidebar.collapsed .row select,
.sidebar.collapsed .row input,
.sidebar.collapsed .row .text,
.sidebar.collapsed .btn-text {
  display:none !important;
}
.sidebar.collapsed .nav { justify-content:center; gap:10px; }
.sidebar.collapsed .card, .sidebar.collapsed .panel { padding: 10px; }


/* Sidebar collapsed (desktop) */
.app.sidebar-collapsed{grid-template-columns:88px 1fr}
.sidebar.collapsed .titles,.sidebar.collapsed .panel-title,.sidebar.collapsed .label,.sidebar.collapsed .footer,.sidebar.collapsed .field, .sidebar.collapsed select, .sidebar.collapsed .info{display:none !important}
.sidebar.collapsed .nav{flex-direction:column}
.sidebar.collapsed .nav-item{padding:10px 0}


#map{height:100%;width:100%}

/* Sidebar collapsed (desktop) */

.sidebar.collapsed{width:150px;padding:12px;padding:10px;gap:10px}
.sidebar.collapsed .titles, #btnSidebarToggle{display:none}
.sidebar.collapsed .brand{gap:8px}
.sidebar.collapsed .panel{padding:12px}
.sidebar.collapsed .panel-title{justify-content:center}
.sidebar.collapsed .panel-title .caret{display:none}
.sidebar.collapsed .panel.is-collapsed > *:not(.panel-title){display:none !important}


/* v10: Floating report button (Waze-like) */
.fab-report{
  position: absolute;
  right: 20px;
  bottom: 24px;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  border: 0;
  font-size: 34px;
  line-height: 0;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
  background: rgba(138, 92, 255, .92);
  color: #fff;
  z-index: 60;
  transition: transform .12s ease, filter .12s ease;
}
.fab-report:hover{ transform: translateY(-1px) scale(1.02); filter: brightness(1.05); }
.fab-report:active{ transform: translateY(0) scale(.98); filter: brightness(.95); }

/* v10: Quick filters chips */
.quick-filters{
  margin: 10px 0 14px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
}
.qf-row{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:8px; }
.qf-row:last-child{ margin-bottom:0; }
.qf-label{ font-size:12px; opacity:.85; min-width:46px; }
.qf-chip{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: inherit;
  padding: 7px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 12px;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.qf-chip:hover{ transform: translateY(-1px); background: rgba(255,255,255,.05); }
.qf-chip.is-on{
  background: rgba(138,92,255,.18);
  border-color: rgba(138,92,255,.40);
}

/* v10: Accordion animation for panels */
.panel-body{
  overflow: hidden;
  transition: max-height .22s ease, opacity .18s ease;
  max-height: 1200px;
  opacity: 1;
}
.panel.is-collapsed .panel-body{
  max-height: 0px;
  opacity: 0;
}

/* v10: Sidebar collapsed state on desktop */
body.sidebar-collapsed .sidebar{ width: 306px; }
body.sidebar-collapsed .sidebar .lbl,
body.sidebar-collapsed .sidebar .panel-title span,
body.sidebar-collapsed .sidebar .panel-body{ display:none !important; }
body.sidebar-collapsed .sidebar .panel-title{ justify-content:center; }

/* --- Poster-like HUD (cartões no mapa) --- */
.hud{position:absolute;left:14px;top:14px;z-index:5;pointer-events:none}
.hud-card{pointer-events:auto;min-width:260px;max-width:360px;border-radius:22px;padding:14px 14px 12px;border:1px solid rgba(255,255,255,.10);background:rgba(9,14,26,.62);backdrop-filter:blur(10px);box-shadow:0 20px 40px rgba(0,0,0,.35)}
.hud-title{font-weight:950;letter-spacing:.2px}
.hud-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hud-stat{padding:8px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);font-weight:900}
.hud-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.hud-foot{margin-top:8px}

/* Missions list */
.mission{border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:12px;background:rgba(255,255,255,.03);margin-bottom:10px}
.mission-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.mission-title{font-weight:950}
.mission-reward{font-weight:900;opacity:.92;white-space:nowrap}
.mission-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px}
.mission-bar-fill{height:100%;background:linear-gradient(90deg, rgba(250,204,21,.85), rgba(56,189,248,.75));border-radius:99px}
.mission-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}

/* Buttons: accent closer to poster */
.btn{background:linear-gradient(180deg, rgba(250,204,21,.95), rgba(250,204,21,.78));color:#0b1220;border:1px solid rgba(0,0,0,.25)}
.btn:hover{filter:brightness(1.02)}
.btn.ghost{background:rgba(255,255,255,.05);color:var(--text);border-color:rgba(255,255,255,.12)}
.btn-secondary{border-color:rgba(56,189,248,.35)}

@media(max-width:980px){
  .hud{left:10px;right:10px;top:10px}
  .hud-card{max-width:unset;width:calc(100vw - 20px)}
}

