/* assets/app.css */
body { background:#f6f7fb; }
.card { border-radius:14px; }
.navbar-brand { font-weight:700; }
.thumb { width:90px; height:90px; object-fit:cover; border-radius:10px; border:1px solid #ddd; }
.media-tile { position:relative; display:inline-block; margin:6px; text-align:center; width:110px; }
.media-tile .cap { font-size:12px; margin-top:4px; }
.media-tile .del { position:absolute; right:-6px; top:-6px; width:22px; height:22px; border-radius:50%; padding:0; }
.sortable-placeholder { width:110px; height:110px; border:2px dashed #bbb; border-radius:10px; margin:6px; }
#mapWrap { position:relative; width:100%; max-width:100%; overflow:auto; background:#111; border-radius:14px; }
#mapImage { display:block; max-width:none; }
#mapStage { position:absolute; left:0; top:0; }


/* Device-adaptive tweaks (phone vs tablet vs desktop) */
body.device-phone .thumb { width:82px; height:82px; }
body.device-tablet .thumb { width:120px; height:120px; }
body.device-desktop .thumb { width:140px; height:140px; }

body.device-tablet .media-tile { width:150px; }
body.device-desktop .media-tile { width:170px; }


/* v1.0.6 page shell consistency */
.app-navbar{box-shadow:0 6px 24px rgba(0,0,0,.16);}
.app-shell{padding-top:1rem;padding-bottom:1.25rem;}
.app-page-hero{background:linear-gradient(180deg,#ffffff 0%,#f8f9fc 100%);border:1px solid rgba(32,44,64,.08);border-radius:18px;padding:18px 20px;box-shadow:0 8px 30px rgba(15,23,42,.05);margin-bottom:1rem;}
.app-page-title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:#1f2937;}
.app-page-subtitle{margin-top:.35rem;color:#667085;font-size:.95rem;}
.app-page-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.85rem;}
.app-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;background:#eef2ff;border:1px solid #dbe4ff;color:#344054;font-size:.78rem;font-weight:600;}
.app-chip-muted{background:#f8fafc;border-color:#e5e7eb;color:#475467;}
.app-page-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end;}
.app-section-card{border-radius:16px;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px rgba(15,23,42,.05);}
.app-section-title{font-size:1rem;font-weight:700;color:#1f2937;margin-bottom:.2rem;}
.app-section-copy{font-size:.9rem;color:#667085;}
.app-compact-tabs .btn{border-radius:999px;}
@media (max-width: 991.98px){.app-page-actions{justify-content:flex-start;}.app-page-hero{padding:16px;}}


/* v1.0.9 navbar cleanup */
.app-navbar-modern{background:linear-gradient(180deg,#111827 0%,#0f172a 100%) !important;border-bottom:1px solid rgba(255,255,255,.08);}
.app-navbar-modern .container-fluid{gap:.75rem;}
.app-navbar-modern .navbar-brand{font-weight:800;letter-spacing:-.02em;}
.app-navbar-logo{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:.6rem;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);color:#fff;font-size:.78rem;font-weight:800;box-shadow:0 10px 20px rgba(37,99,235,.28);}
.app-navbar-modern .nav-link{color:rgba(255,255,255,.88);font-weight:600;padding:.7rem .9rem;border-radius:.75rem;transition:background-color .15s ease,color .15s ease,opacity .15s ease;}
.app-navbar-modern .nav-link:hover,
.app-navbar-modern .nav-link:focus,
.app-navbar-modern .show > .nav-link{color:#fff;background:rgba(255,255,255,.08);}
.app-navbar-modern .nav-link.disabled{opacity:.45;background:transparent;}
.app-navbar-modern .dropdown-menu{border-radius:1rem;border:1px solid rgba(255,255,255,.08);padding:.55rem;min-width:15rem;background:#111827;}
.app-navbar-modern .dropdown-item{border-radius:.7rem;padding:.55rem .75rem;font-weight:500;}
.app-navbar-modern .dropdown-item:hover,
.app-navbar-modern .dropdown-item:focus{background:rgba(255,255,255,.08);}
.app-navbar-modern .dropdown-item-text{padding:.35rem .75rem;}
.app-navbar-modern .dropdown-header{padding:.3rem .75rem .45rem;letter-spacing:.08em;}
.app-navbar-badge{padding:.5rem .7rem;border-radius:999px;}
.app-navbar-user{padding-inline:.15rem;}
@media (max-width: 991.98px){
  .app-navbar-modern .navbar-collapse{padding-top:.75rem;}
  .app-navbar-modern .navbar-nav{gap:.2rem;}
  .app-navbar-modern .dropdown-menu{margin-top:.2rem;margin-bottom:.35rem;}
  .app-navbar-status{padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08);}
}
