/* BotMada UI upgrade: compact typography, responsive web-app shell, improved light/dark polish */
:root{
  --bm-font-scale:.92;
  --bm-radius:16px;
  --bm-radius-sm:12px;
  --bm-shadow:0 14px 34px rgba(15,23,42,.10);
  --bm-shadow-hover:0 18px 42px rgba(15,23,42,.16);
  --bm-accent:#2563eb;
  --bm-accent-2:#7c3aed;
  --bm-success:#10b981;
  --bm-danger:#ef4444;
}
html{font-size:calc(16px * var(--bm-font-scale));-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-size:.93rem;line-height:1.45;min-height:100dvh;}
h1,.h1{font-size:clamp(1.35rem,2.4vw,2rem)!important;letter-spacing:-.035em;}
h2,.h2{font-size:clamp(1.18rem,2vw,1.65rem)!important;letter-spacing:-.025em;}
h3,.h3{font-size:clamp(1.05rem,1.7vw,1.35rem)!important;}
h4,.h4{font-size:clamp(1rem,1.45vw,1.18rem)!important;}
h5,.h5{font-size:.98rem!important;}
h6,.h6{font-size:.9rem!important;}
.small,small,.form-text,.text-muted{font-size:.82rem;}
.lead{font-size:1rem!important;}
.btn{font-size:.86rem;border-radius:12px;padding:.46rem .72rem;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;}
.btn-sm{font-size:.78rem;padding:.34rem .56rem;border-radius:10px;}
.btn-lg{font-size:.95rem;padding:.58rem .9rem;border-radius:14px;}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(37,99,235,.14);}
.btn:active{transform:translateY(0);}
.form-control,.form-select,.input-group-text{font-size:.88rem;border-radius:12px;min-height:38px;}
.form-control-sm,.form-select-sm{font-size:.8rem;min-height:32px;border-radius:10px;}
label,.form-label{font-size:.84rem;font-weight:650;color:var(--muted,#64748b);}
.card,.modal-content,.dropdown-menu,.list-group-item{border-radius:var(--bm-radius)!important;}
.card{box-shadow:var(--bm-shadow)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.card:hover{box-shadow:var(--bm-shadow-hover)!important;}
.card-header,.card-footer{padding:.78rem .95rem;}
.card-body{padding:1rem;}
.table{font-size:.84rem;vertical-align:middle;}
.table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#64748b);white-space:nowrap;}
.table td{padding:.58rem .62rem;}
.badge{font-size:.72rem;padding:.38em .56em;border-radius:999px;}
.alert{font-size:.88rem;border-radius:14px;padding:.78rem .95rem;}
.dropdown-menu{font-size:.86rem;padding:.45rem;box-shadow:0 20px 50px rgba(15,23,42,.18);}
.dropdown-item{border-radius:10px;padding:.45rem .62rem;}
.page-wrap{max-width:100%;}
.container,.container-fluid{--bs-gutter-x:1rem;}
/* Modern shell compact layout */
.app-shell-body .app-shell{grid-template-columns:260px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;min-height:100dvh!important;}
.app-sidebar,.app-main,.app-topbar,.navbar-shell,.topbar-shell{border-radius:18px!important;}
.app-sidebar{position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow:auto;}
.app-brand-logo,.brand-mark{width:36px!important;height:36px!important;border-radius:12px!important;}
.app-brand-name,.brand-name{font-size:.95rem!important;}
.app-brand-sub,.brand-sub{font-size:.68rem!important;}
.app-nav-link{font-size:.84rem!important;padding:.58rem .68rem!important;border-radius:12px!important;transition:transform .18s ease,background .18s ease,color .18s ease;}
.app-nav-link:hover{transform:translateX(2px);}
.app-nav-icon,.nav-ic{width:32px!important;height:32px!important;border-radius:10px!important;font-size:.86rem!important;}
.app-nav-section__label{font-size:.68rem!important;letter-spacing:.08em!important;}
.app-main{min-width:0;overflow:hidden;}
.app-main__content{min-width:0;}
.app-topbar{position:sticky;top:12px;z-index:900;backdrop-filter:blur(16px) saturate(1.25);}
/* responsive tables and dense admin actions */
.table-responsive{border-radius:14px;overflow:auto;-webkit-overflow-scrolling:touch;}
.table-responsive table{min-width:760px;}
.btn-group,.action-buttons,.actions{gap:.35rem;flex-wrap:wrap;}
/* Mobile and tablet: web-app feel */
@media (max-width:991.98px){
  :root{--bm-font-scale:.89;}
  body{overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom);}
  .container,.container-fluid{--bs-gutter-x:.8rem;}
  .page-wrap{padding-inline:.75rem!important;}
  .app-shell-body .app-shell{display:block!important;padding:0!important;min-height:100dvh!important;background:var(--bg,#f6f7fb);}
  .app-shell-body .app-main{border-radius:0!important;min-height:100dvh;padding:0!important;box-shadow:none!important;background:transparent!important;}
  .app-shell-body .app-main__content{padding:.72rem!important;padding-top:.6rem!important;}
  .app-topbar{top:0!important;border-radius:0 0 18px 18px!important;margin:0!important;padding:.56rem .7rem!important;box-shadow:0 14px 30px rgba(15,23,42,.12)!important;}
  .app-sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(86vw,320px)!important;max-height:none!important;border-radius:0 22px 22px 0!important;z-index:2200!important;transform:translateX(-104%);transition:transform .24s cubic-bezier(.2,.8,.2,1)!important;padding-top:calc(env(safe-area-inset-top) + .8rem)!important;}
  .app-shell-body.is-sidebar-open .app-sidebar{transform:translateX(0)!important;}
  .app-shell-overlay{z-index:2190!important;background:rgba(2,6,23,.58)!important;backdrop-filter:blur(5px)!important;}
  .card{border-radius:15px!important;box-shadow:0 10px 26px rgba(15,23,42,.09)!important;}
  .card-body{padding:.82rem!important;}
  .row{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem;}
  .btn{min-height:36px;}
  .btn:not(.dropdown-toggle){white-space:normal;}
  .navbar .container-fluid,.topbar-shell{border-radius:0 0 18px 18px!important;}
  .modal-dialog{margin:.7rem;}
  .modal-content{border-radius:18px!important;}
  .toast,.alert{max-width:calc(100vw - 1.4rem);}
  .table-responsive table{min-width:680px;}
}
@media (max-width:575.98px){
  :root{--bm-font-scale:.86;}
  .page-wrap{padding-inline:.55rem!important;}
  .app-shell-body .app-main__content{padding:.55rem!important;}
  .card-body{padding:.72rem!important;}
  .btn{width:auto;max-width:100%;}
  .d-flex.gap-2,.d-flex.gap-3{gap:.45rem!important;}
  .d-flex:not(.dropdown):not(.app-brand):not(.app-nav-link){flex-wrap:wrap;}
  .table-responsive table{min-width:620px;}
  .pagination{flex-wrap:wrap;gap:.25rem;}
  .pagination .page-link{border-radius:10px;margin:0;font-size:.8rem;}
}
/* Better light/dark surfaces */
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 0%,rgba(37,99,235,.12),transparent 34%),radial-gradient(circle at 95% 12%,rgba(124,58,237,.10),transparent 32%);z-index:-1;}
:root[data-theme="dark"]{--bm-shadow:0 14px 34px rgba(0,0,0,.34);--bm-shadow-hover:0 18px 46px rgba(0,0,0,.45);}
:root[data-theme="dark"] body:before{background:radial-gradient(circle at 10% 0%,rgba(59,130,246,.18),transparent 34%),radial-gradient(circle at 96% 8%,rgba(124,58,237,.16),transparent 36%)!important;}
:root[data-theme="dark"] .btn:hover{box-shadow:0 10px 26px rgba(96,165,250,.12);}
:root[data-theme="dark"] .table-responsive{background:#0f172a;border-color:#22314b;}
/* Reduced motion respects user/device */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}}

/* BotMada mobile/pro UI refinement round 2 */
.app-brand-logo.app-brand-logo--full{height:58px!important;max-width:230px!important;width:auto!important;border-radius:0!important;object-fit:contain!important;filter:drop-shadow(0 14px 28px rgba(37,99,235,.18));}
.app-brand-logo.app-brand-logo--compact{width:58px!important;height:58px!important;border-radius:18px!important;object-fit:cover!important;}
.app-sidebar__brand{min-height:84px!important;padding-bottom:16px!important;}
@media (max-width:991.98px){.app-brand-logo.app-brand-logo--full{height:64px!important;max-width:240px!important}.app-brand-logo.app-brand-logo--compact{width:62px!important;height:62px!important}.app-sidebar__brand{min-height:92px!important;justify-content:flex-start!important;padding-left:14px!important}}
/* Improve Messenger page settings hero without changing backend */
.bs-hero{padding:22px!important}.bs-hero>.d-flex:first-child{align-items:center!important}.bs-hero>.d-flex:first-child>.d-flex:first-child{align-items:center!important;min-width:0}.bs-hero .cover{flex:0 0 auto}.bs-hero .d-inline-flex.rounded-pill{box-shadow:0 10px 22px rgba(37,99,235,.08)!important}.bs-hero>.d-flex.gap-3.flex-wrap.mt-4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important}.bs-hero .quick-stat{min-width:0!important;display:flex;align-items:center;justify-content:space-between;border-radius:18px!important;background:rgba(255,255,255,.94)!important}.bs-hero .quick-stat:before{font-family:"Font Awesome 6 Free";font-weight:900;width:36px;height:36px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:rgba(37,99,235,.10);color:#1d4ed8;margin-right:10px;flex:0 0 auto}.bs-hero .quick-stat:nth-child(1):before{content:"\f542"}.bs-hero .quick-stat:nth-child(2):before{content:"\f11c"}.bs-hero .quick-stat:nth-child(3):before{content:"\f4ad"}.bs-hero .quick-stat:nth-child(4):before{content:"\f3e5"}
@media (max-width:991.98px){.bs-hero{border-radius:24px!important;padding:18px!important}.bs-hero>.d-flex:first-child{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.bs-hero>.d-flex:first-child>.d-flex:first-child{align-items:flex-start!important}.bs-hero>.d-flex:first-child>.d-flex.gap-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px!important}.bs-hero>.d-flex:first-child>.d-flex.gap-2 .btn{width:100%;white-space:nowrap}.bs-hero>.d-flex.gap-3.flex-wrap.mt-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.bs-hero .quick-stat{padding:12px!important}.bs-hero .quick-stat .n{font-size:1.35rem!important}.bs-hero .quick-stat:before{width:34px;height:34px;border-radius:12px}}
@media (max-width:575.98px){.bs-hero{padding:16px!important}.bs-hero .cover{width:64px!important;height:64px!important;border-radius:20px!important}.bs-hero .d-inline-flex.rounded-pill{padding:7px 11px!important;font-size:.78rem}.bs-hero>.d-flex:first-child>.d-flex.gap-2 .btn{padding:.48rem .55rem;font-size:.8rem}.bs-hero .quick-stat{gap:8px;padding:10px!important}.bs-hero .quick-stat:before{display:none}.bs-hero .quick-stat .small{font-size:.76rem}.db-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.db-stat{padding:12px!important;border-radius:18px!important}.db-stat-label{font-size:.72rem!important;line-height:1.2}.db-stat-value{font-size:1.35rem!important;margin-top:6px!important}.db-stat-helper{display:none!important}}
:root[data-theme="dark"] .bs-hero .quick-stat{background:rgba(15,23,42,.92)!important;border-color:#334155!important}:root[data-theme="dark"] .bs-hero .quick-stat:before{background:rgba(59,130,246,.16);color:#dbeafe}

/* BotMada UI/UX round 3: mobile cards, modern page headers, offcanvas logo */
.app-sidebar__brand{min-height:82px!important;padding-top:10px!important;padding-bottom:14px!important;}
.app-brand-logo--full{height:58px!important;max-width:214px!important;object-fit:contain!important;}
.app-brand-logo--compact{width:58px!important;height:58px!important;border-radius:18px!important;object-fit:cover!important;background:#fff!important;}
@media (max-width: 991.98px){
  .app-sidebar{width:min(336px,calc(100vw - 24px))!important;}
  .app-sidebar__brand{justify-content:flex-start!important;padding-inline:12px 46px!important;}
  .app-brand{justify-content:flex-start!important;width:100%!important;}
  .app-brand-logo--full{display:block!important;height:64px!important;max-width:238px!important;}
  .app-brand-logo--compact{display:none!important;}
}

.bm-page-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:22px 24px;border-radius:26px;border:1px solid rgba(191,219,254,.9);background:radial-gradient(circle at 0 0,rgba(96,165,250,.18),transparent 28%),linear-gradient(135deg,#ffffff 0%,#f8fbff 55%,#eff6ff 100%);box-shadow:0 22px 50px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.9);}
.bm-page-hero:after{content:"";position:absolute;right:-70px;bottom:-90px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.16),transparent 66%);pointer-events:none;}
.bm-page-hero__content{position:relative;z-index:1;min-width:240px;max-width:780px;}
.bm-page-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;margin-bottom:9px;border-radius:999px;background:rgba(37,99,235,.09);color:#1d4ed8;border:1px solid rgba(147,197,253,.6);font-size:.78rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase;}
.bm-page-hero h3,.bm-page-hero h4{font-weight:950;letter-spacing:-.035em;color:#0f172a;}
.bm-hero-action,.bm-hero-actions{position:relative;z-index:1;box-shadow:0 16px 34px rgba(37,99,235,.20);border-radius:14px!important;font-weight:800;}
.bm-page-hero--flow{background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 26%),linear-gradient(135deg,#f8fbff,#ffffff 48%,#eef6ff);}
.bm-page-hero--market{background:radial-gradient(circle at top left,rgba(14,165,233,.16),transparent 25%),linear-gradient(135deg,#f8fbff,#ffffff 48%,#ecfeff);}
.bm-page-hero--comments{background:radial-gradient(circle at top left,rgba(59,130,246,.16),transparent 25%),linear-gradient(135deg,#f8fbff,#ffffff 48%,#eff6ff);}
:root[data-theme="dark"] .bm-page-hero,body.dark .bm-page-hero,.theme-dark .bm-page-hero{background:radial-gradient(circle at top left,rgba(59,130,246,.18),transparent 26%),linear-gradient(135deg,#0f172a,#111827 56%,#0b1220);border-color:#22314b;box-shadow:0 22px 54px rgba(2,6,23,.38);}
:root[data-theme="dark"] .bm-page-hero h3,:root[data-theme="dark"] .bm-page-hero h4,body.dark .bm-page-hero h3,body.dark .bm-page-hero h4{color:#f8fafc;}
:root[data-theme="dark"] .bm-page-kicker,body.dark .bm-page-kicker{background:rgba(96,165,250,.13);color:#bfdbfe;border-color:rgba(96,165,250,.34);}

@media (max-width: 576px){
  .bm-page-hero{padding:18px;border-radius:22px;align-items:stretch;}
  .bm-page-hero__content{min-width:0;width:100%;}
  .bm-hero-action,.bm-hero-actions{width:100%;justify-content:center;}
  .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .stats-strip .mp-mobile-hide{display:none!important;}
  .stats-strip .s-card{min-height:112px;padding:16px!important;display:flex;flex-direction:column;justify-content:center;}
  .stats-strip .s-card .num{font-size:1.75rem!important;}
  .pg-filterbar .search-col{flex:0 0 100%;max-width:100%;}
  .pg-filterbar .status-col,.pg-filterbar .sort-col{flex:0 0 calc(50% - 6px);max-width:calc(50% - 6px);}
  .pg-filterbar .status-col .form-label,.pg-filterbar .sort-col .form-label{font-size:.78rem;margin-bottom:6px;}
  .pg-filterbar .status-col .form-select,.pg-filterbar .sort-col .form-select{min-height:46px;font-size:.84rem;padding-inline:10px;}
  .pg-filterbar .pg-filter-actions{flex:0 0 100%;max-width:100%;display:flex;gap:10px;}
}

@media (max-width: 767.98px){
  /* Keep tables compact like the original design: no oversized mobile cards. */
  .table-responsive{border-radius:14px!important;border:1px solid rgba(191,219,254,.7);background:rgba(255,255,255,.76);overflow:auto!important;-webkit-overflow-scrolling:touch;}
  .card .table-responsive table.table{display:table!important;width:100%;min-width:640px!important;border-collapse:collapse!important;border-spacing:0!important;margin-bottom:0!important;}
  .card .table-responsive table.table thead{display:table-header-group!important;}
  .card .table-responsive table.table tbody{display:table-row-group!important;}
  .card .table-responsive table.table tr{display:table-row!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;}
  .card .table-responsive table.table th,.card .table-responsive table.table td{display:table-cell!important;width:auto!important;white-space:nowrap!important;vertical-align:middle!important;border-bottom:1px solid rgba(226,232,240,.82)!important;padding:.46rem .52rem!important;font-size:.78rem!important;text-align:inherit!important;}
  .card .table-responsive table.table th{font-size:.68rem!important;letter-spacing:.035em!important;background:rgba(248,250,252,.92)!important;position:sticky;top:0;z-index:2;}
  .card .table-responsive table.table td::before{content:none!important;display:none!important;}
  .card .table-responsive table.table td:first-child img,.card .table-responsive table.table td:first-child a>div{width:38px!important;height:38px!important;border-radius:11px!important;}
  .card .table-responsive table.table .btn,.card .table-responsive table.table .a-ic{min-height:30px!important;border-radius:9px!important;padding:.28rem .45rem!important;font-size:.72rem!important;}
  .card .table-responsive table.table .badge{font-size:.66rem!important;padding:.28em .45em!important;}
  .card .table-responsive table.table .d-flex{flex-wrap:nowrap!important;gap:.35rem!important;}
  :root[data-theme="dark"] .table-responsive,body.dark .table-responsive{background:rgba(15,23,42,.74);border-color:#22314b;}
  :root[data-theme="dark"] .card .table-responsive table.table th,body.dark .card .table-responsive table.table th{background:rgba(15,23,42,.96)!important;}
  :root[data-theme="dark"] .card .table-responsive table.table th,:root[data-theme="dark"] .card .table-responsive table.table td,body.dark .card .table-responsive table.table th,body.dark .card .table-responsive table.table td{border-bottom-color:#22314b!important;}
  .fpr-wrap{max-width:100%!important;}
  .fpr-hero{border-radius:22px!important;padding:16px!important;}
  .fpr-card{border-radius:22px!important;box-shadow:0 16px 38px rgba(15,23,42,.08);}
  .reply-item{border-radius:18px!important;padding:12px!important;}
  .sticky-actions{position:static!important;}
}

/* BotMada round 10: dynamic sidebar/content layout expansion */
@media (min-width: 992px){
  body.app-shell-body .app-shell{
    display:grid!important;
    grid-template-columns:minmax(250px, 280px) minmax(0, 1fr)!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    transition:grid-template-columns .28s cubic-bezier(.2,.8,.2,1), gap .28s cubic-bezier(.2,.8,.2,1), padding .28s cubic-bezier(.2,.8,.2,1)!important;
    will-change:grid-template-columns;
  }
  body.app-shell-body.app-sidebar-collapsed .app-shell,
  html.sidebar-collapsed-init body.app-shell-body .app-shell{
    grid-template-columns:88px minmax(0, 1fr)!important;
    gap:12px!important;
  }
  body.app-shell-body .app-sidebar{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    transition:width .28s cubic-bezier(.2,.8,.2,1), min-width .28s cubic-bezier(.2,.8,.2,1), max-width .28s cubic-bezier(.2,.8,.2,1), transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease!important;
    will-change:width, transform;
  }
  body.app-shell-body.app-sidebar-collapsed .app-sidebar,
  html.sidebar-collapsed-init body.app-shell-body .app-sidebar{
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
  }
  body.app-shell-body .app-main,
  body.app-shell-body .app-main__content,
  body.app-shell-body .page-wrap,
  body.app-shell-body .container-fluid.page-wrap{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    transition:max-width .28s cubic-bezier(.2,.8,.2,1), width .28s cubic-bezier(.2,.8,.2,1), padding .22s ease!important;
  }
  body.app-shell-body .app-main{overflow:visible!important;}
  body.app-shell-body .app-main__content{overflow:visible!important;}
  body.app-shell-body.app-sidebar-collapsed .app-topbar,
  body.app-shell-body.app-sidebar-collapsed .page-wrap,
  html.sidebar-collapsed-init body.app-shell-body .app-topbar,
  html.sidebar-collapsed-init body.app-shell-body .page-wrap{
    max-width:none!important;
  }
  body.app-shell-body .app-topbar{
    width:100%!important;
    transition:background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .28s cubic-bezier(.2,.8,.2,1)!important;
  }
}
@media (max-width: 991.98px){
  body.app-shell-body .app-shell{transition:none!important;}
  body.app-shell-body .app-main,
  body.app-shell-body .app-main__content,
  body.app-shell-body .page-wrap{
    width:100%!important;
    max-width:none!important;
  }
  body.app-shell-body .app-sidebar{
    transition:width .26s cubic-bezier(.2,.8,.2,1), transform .26s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease!important;
  }
  body.app-shell-body.app-sidebar-collapsed .app-main{
    width:100%!important;
    max-width:none!important;
  }
}
