:root{
  --primary:#0D6EFD;
  --primary-soft:#E6F0FF;
  --dark:#020617;
  --muted:#6b7280;
  --bg:#F3F4F6;
  --card:#ffffff;
  --border:#E5E7EB;
  --radius:14px;
  --shadow:0 18px 45px rgba(15,23,42,.06);
  --sidebar-width:230px;
  --max-width:1100px;
}

*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--dark);
}

/* =========================
   LOGIN
   ========================= */
.admin-login-body{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at top,#E0EAFF,#F3F4F6);
}
.admin-login-shell{
  width:100%;
  max-width:380px;
  padding:1.5rem;
}
.admin-login-box{
  background:#ffffff;
  border-radius:20px;
  padding:1.6rem 1.7rem;
  box-shadow:var(--shadow);
  border:1px solid rgba(148,163,184,.35);
}
.admin-login-brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-bottom:1.1rem;
}
.admin-logo-circle{
  width:38px;height:38px;
  border-radius:999px;
  background:radial-gradient(circle at 30% 20%, #FACC15, #0D6EFD);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:1rem;
}
.admin-login-title{font-weight:700;font-size:1rem;}
.admin-login-sub{font-size:.8rem;color:var(--muted);}
.admin-login-form label{
  font-size:.8rem;
  color:var(--muted);
  display:block;
  margin-bottom:.65rem;
}
.admin-login-form input{
  width:100%;
  margin-top:.15rem;
  padding:.5rem .65rem;
  border-radius:10px;
  border:1px solid rgba(148,163,184,.7);
  font-size:.86rem;
}
.admin-login-form input:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 1px rgba(37,99,235,.35);
}
.admin-login-form button{
  margin-top:.3rem;
}

/* =========================
   ADMIN SHELL LAYOUT
   ========================= */
.admin-shell{
  min-height:100vh;
  display:flex;
}
.admin-sidebar{
  width:var(--sidebar-width);
  background:#020617;
  color:#E5E7EB;
  padding:1.1rem 1.1rem;
  display:flex;
  flex-direction:column;
  flex-shrink:0;
}
.admin-logo{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:1.5rem;
}
.admin-logo-text{
  font-size:.9rem;
  font-weight:700;
}
.admin-nav a{
  display:block;
  padding:.45rem .4rem;
  border-radius:8px;
  font-size:.82rem;
  color:#CBD5F5;
  margin-bottom:.2rem;
}
.admin-nav a:hover{
  background:rgba(37,99,235,.2);
  color:#ffffff;
}
.admin-nav-logout{
  margin-top:auto;
  border-top:1px solid rgba(148,163,184,.4);
  padding-top:.6rem;
  color:#FCA5A5;
}

/* Active state helper (from PHP) */
.admin-nav-link.is-active{
  background:rgba(37,99,235,.25);
  color:#fff;
}

/* MAIN AREA */
.admin-main{
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.admin-topbar{
  background:#ffffff;
  border-bottom:1px solid var(--border);
  padding:.75rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.admin-topbar-title{
  font-size:.9rem;
  font-weight:600;
}
.admin-topbar-tagline{
  font-size:.8rem;
  color:var(--muted);
  margin-left:.35rem;
}
.admin-topbar-user{
  display:flex;
  align-items:center;
  gap:.4rem;
  font-size:.8rem;
}
.admin-topbar-role{
  padding:.1rem .5rem;
  border-radius:999px;
  background:#EFF6FF;
  color:#1D4ED8;
}

/* Mobile menu toggle */
.admin-menu-toggle{
  display:none; /* shown only on mobile */
  border:none;
  background:transparent;
  cursor:pointer;
  padding:.3rem;
  margin-right:.25rem;
}
.admin-menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#0f172a;
  margin:3px 0;
  transition:transform .16s ease, opacity .16s ease;
}

/* Animate to X when open */
.admin-shell.admin-nav-open .admin-menu-toggle span:nth-child(1){
  transform:translateY(5px) rotate(45deg);
}
.admin-shell.admin-nav-open .admin-menu-toggle span:nth-child(2){
  opacity:0;
}
.admin-shell.admin-nav-open .admin-menu-toggle span:nth-child(3){
  transform:translateY(-5px) rotate(-45deg);
}

.admin-content{
  padding:1.6rem 1.6rem 2rem;
  max-width:var(--max-width);
  margin:0 auto;
}

/* =========================
   GENERIC BUTTONS / ALERTS
   ========================= */
.btn{
  border-radius:999px;
  padding:.55rem 1.15rem;
  font-size:.82rem;
  font-weight:600;
  border:1px solid transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  transition:.18s ease;
}
.btn-primary{
  background:var(--primary);
  color:#ffffff;
  box-shadow:0 10px 25px rgba(37,99,235,.35);
}
.btn-primary:hover{
  background:#0b5bd3;
}
.btn-block{width:100%;justify-content:center;}

.admin-page-title{
  font-size:1.35rem;
  margin-bottom:1rem;
}

.admin-alert{
  padding:.5rem .7rem;
  border-radius:8px;
  font-size:.8rem;
  margin-bottom:.8rem;
}
.admin-alert-success{
  background:#DCFCE7;
  color:#166534;
}
.admin-alert-error{
  background:#FEE2E2;
  color:#991B1B;
}

/* =========================
   CARDS
   ========================= */
.admin-cards-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-bottom:1.2rem;
}
.admin-card{
  background:#ffffff;
  border-radius:var(--radius);
  border:1px solid var(--border);
  padding:1rem 1rem;
  box-shadow:var(--shadow);
}
.admin-card-label{
  font-size:.78rem;
  color:var(--muted);
  margin-bottom:.15rem;
}
.admin-card-value{
  font-size:1.35rem;
  font-weight:700;
  margin-bottom:.2rem;
}
.admin-card-footer a{
  font-size:.78rem;
  color:#1D4ED8;
}

.admin-card-header{
  margin-bottom:.6rem;
}
.admin-card-title{
  font-size:.95rem;
  font-weight:600;
}
.admin-card-subtitle{
  font-size:.8rem;
  color:#6b7280;
}

/* =========================
   TABLES & FORMS
   ========================= */
.admin-table{
  width:100%;
  border-collapse:collapse;
  background:#ffffff;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  margin-top:.8rem;
}
.admin-table th,
.admin-table td{
  padding:.55rem .7rem;
  border-bottom:1px solid var(--border);
  font-size:.8rem;
}
.admin-table th{
  text-align:left;
  background:#F9FAFB;
  font-weight:600;
  color:var(--muted);
}
.admin-table tr:nth-child(even) td{
  background:#F9FAFB;
}

.admin-form{
  background:#ffffff;
  border-radius:var(--radius);
  padding:1rem 1rem;
  box-shadow:var(--shadow);
  border:1px solid var(--border);
  margin-bottom:1rem;
}
.admin-form label{
  display:block;
  font-size:.8rem;
  color:var(--muted);
  margin-bottom:.55rem;
}
.admin-form input,
.admin-form select,
.admin-form textarea{
  width:100%;
  margin-top:.15rem;
  padding:.45rem .6rem;
  border-radius:8px;
  border:1px solid rgba(148,163,184,.7);
  font-size:.84rem;
}
.admin-form textarea{
  resize:vertical;
  min-height:80px;
}
.admin-form-inline{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:.8rem;
}
.admin-section-title{
  font-size:1rem;
  margin:1rem 0 .4rem;
}

/* =========================
   RESPONSIVE
   ========================= */

/* Sidebar becomes off-canvas drawer on mobile */
@media (max-width:900px){
  .admin-shell{
    flex-direction:column;
  }

  .admin-sidebar{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:220px;
    padding:1rem 1rem;
    transform:translateX(-100%);
    transition:transform .2s ease, box-shadow .2s ease;
    z-index:50;
  }

  .admin-shell.admin-nav-open .admin-sidebar{
    transform:translateX(0);
    box-shadow:0 0 0 9999px rgba(15,23,42,.45);
  }

  .admin-menu-toggle{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
  }

  .admin-topbar{
    position:sticky;
    top:0;
    z-index:40;
    padding:.65rem 1rem;
  }

  .admin-topbar-title{
    font-size:.86rem;
  }

  .admin-topbar-user{
    font-size:.78rem;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .admin-content{
    padding:1rem 1rem 1.5rem;
    max-width:100%;
  }

  .admin-cards-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Small phones */
@media (max-width:640px){
  .admin-cards-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .admin-topbar{
    flex-wrap:wrap;
    align-items:flex-start;
  }

  .admin-topbar-user{
    width:100%;
    justify-content:flex-start;
  }
}




@media (max-width:900px){
  .admin-shell{
    flex-direction:column;
  }

  .admin-sidebar{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:220px;
    padding:1rem 1rem;
    transform:translateX(-100%);
    transition:transform .2s ease, box-shadow .2s ease;
    z-index:40; /* LOWER than topbar */
  }

  .admin-shell.admin-nav-open .admin-sidebar{
    transform:translateX(0);
    box-shadow:0 0 0 9999px rgba(15,23,42,.35); /* a little lighter so content still visible */
  }

  .admin-menu-toggle{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
  }

  .admin-topbar{
    position:sticky;
    top:0;
    z-index:60; /* HIGHER than sidebar + overlay */
    padding:.65rem 1rem;
    background:#ffffff; /* ensure it stays solid above overlay */
  }
}


/* Burger animation (optional) */
.admin-menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#0f172a;
  margin:3px 0;
  transition:transform .16s ease, opacity .16s ease;
}
.admin-shell.admin-nav-open .admin-menu-toggle span:nth-child(1){
  transform:translateY(5px) rotate(45deg);
}
.admin-shell.admin-nav-open .admin-menu-toggle span:nth-child(2){
  opacity:0;
}
.admin-shell.admin-nav-open .admin-menu-toggle span:nth-child(3){
  transform:translateY(-5px) rotate(-45deg);
}


/* =========================
   USERS PAGE UPGRADE
   ========================= */
.users-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
}
.users-toolbar-left{
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.users-page-kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--primary);
}
.users-page-subtitle{
  color:var(--muted);
  font-size:.92rem;
}

.users-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-bottom:1.2rem;
}
.users-stat-card{
  position:relative;
  overflow:hidden;
}
.users-stat-card::after{
  content:'';
  position:absolute;
  right:-20px;
  top:-20px;
  width:80px;
  height:80px;
  border-radius:999px;
  background:rgba(13,110,253,.06);
}
.users-stat-value{
  font-size:1.6rem;
  font-weight:800;
  margin-top:.15rem;
  color:#0f172a;
}
.users-stat-meta{
  font-size:.82rem;
  color:#64748b;
  margin-top:.2rem;
}

.users-filters{
  display:grid;
  grid-template-columns:2fr 1fr 1fr auto;
  gap:.75rem;
  align-items:end;
}
.users-filters .btn{
  height:42px;
}

.users-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(0, 1.8fr);
  gap:1.2rem;
  align-items:start;
}
.users-form-card{
  position:sticky;
  top:104px;
}
.users-form-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.users-form-title{
  font-size:1.02rem;
  font-weight:800;
  color:#0f172a;
}
.users-form-note{
  font-size:.82rem;
  color:#64748b;
}

.users-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}
.users-form-grid .span-2{
  grid-column:span 2;
}
.users-field-help{
  display:block;
  margin-top:.3rem;
  font-size:.76rem;
  color:#64748b;
}
.users-form-actions{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  margin-top:1rem;
}

.user-avatar-preview{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.75rem;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
}
.user-avatar-preview img,
.user-avatar-fallback{
  width:54px;
  height:54px;
  border-radius:999px;
  object-fit:cover;
  flex-shrink:0;
}
.user-avatar-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #0f4c81, #d4a017);
  color:#fff;
  font-weight:800;
}

.users-table-card{
  overflow:hidden;
}
.users-table-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:.9rem;
}
.users-results-meta{
  font-size:.84rem;
  color:#64748b;
}

.users-table-wrap{
  overflow:auto;
  border-radius:16px;
  border:1px solid var(--border);
}
.users-table{
  margin-top:0;
  box-shadow:none;
  border:none;
  min-width:940px;
}
.users-table th{
  white-space:nowrap;
}

.user-cell{
  display:flex;
  align-items:center;
  gap:.8rem;
}
.user-cell-avatar,
.user-cell-avatar-fallback{
  width:42px;
  height:42px;
  border-radius:999px;
  flex-shrink:0;
}
.user-cell-avatar{
  object-fit:cover;
}
.user-cell-avatar-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #0f4c81, #d4a017);
  color:#fff;
  font-weight:800;
  font-size:.8rem;
}
.user-cell-main{
  min-width:0;
}
.user-cell-name{
  font-weight:700;
  color:#0f172a;
}
.user-cell-meta,
.user-cell-email,
.user-cell-headline{
  font-size:.78rem;
  color:#64748b;
  line-height:1.35;
}

.role-badge,
.status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.35rem .65rem;
  border-radius:999px;
  font-size:.74rem;
  font-weight:700;
  white-space:nowrap;
}
.role-badge-admin{ background:#fff7ed; color:#c2410c; }
.role-badge-editor{ background:#eff6ff; color:#1d4ed8; }
.role-badge-viewer{ background:#f1f5f9; color:#334155; }

.status-badge-active{ background:#dcfce7; color:#166534; }
.status-badge-disabled{ background:#fee2e2; color:#991b1b; }

.user-actions{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
}
.btn-soft{
  background:#f8fafc;
  color:#0f172a;
  border:1px solid #dbe3ee;
}
.btn-soft:hover{
  background:#eef4fa;
}
.btn-danger-soft{
  background:#fff5f5;
  color:#b91c1c;
  border:1px solid #fecaca;
}
.btn-danger-soft:hover{
  background:#fee2e2;
}

.pagination{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  flex-wrap:wrap;
  margin-top:1rem;
}
.pagination a,
.pagination span{
  min-width:38px;
  height:38px;
  padding:0 .7rem;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.82rem;
  font-weight:700;
  border:1px solid #dbe3ee;
  background:#fff;
  color:#0f172a;
  text-decoration:none !important;
}
.pagination .is-current{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}

@media (max-width:1100px){
  .users-grid{
    grid-template-columns:1fr;
  }
  .users-form-card{
    position:static;
  }
}
@media (max-width:900px){
  .users-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .users-filters{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  .users-stats{
    grid-template-columns:1fr;
  }
  .users-filters,
  .users-form-grid{
    grid-template-columns:1fr;
  }
  .users-form-grid .span-2{
    grid-column:auto;
  }
}





/* =========================================================
   PREMIUM ADMIN ENHANCEMENTS
   ========================================================= */

body{
  background:
    radial-gradient(circle at top left, rgba(212,160,23,.06), transparent 22%),
    radial-gradient(circle at top right, rgba(13,110,253,.08), transparent 24%),
    linear-gradient(180deg, #f4f7fb 0%, #eef3f8 100%);
}

.admin-content{
  max-width: 100%;
  padding: 1.5rem 1.5rem 2.1rem;
}

.admin-alert{
  border-radius: 16px;
  padding: .9rem 1rem;
  font-size: .88rem;
  font-weight: 600;
  border: 1px solid transparent;
  box-shadow: 0 10px 24px rgba(15,23,42,.04);
}
.admin-alert-success{
  background: linear-gradient(180deg,#ecfdf3 0%, #dcfce7 100%);
  color: #166534;
  border-color: rgba(22,101,52,.10);
}
.admin-alert-error{
  background: linear-gradient(180deg,#fff5f5 0%, #fee2e2 100%);
  color: #991b1b;
  border-color: rgba(153,27,27,.10);
}

.admin-card,
.admin-form,
.admin-table{
  box-shadow: 0 18px 45px rgba(15,23,42,.05);
}

.admin-page-title{
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #0f172a;
}

.btn,
a.btn{
  text-decoration: none !important;
}

.admin-form input,
.admin-form select,
.admin-form textarea{
  background: #fbfdff;
  border: 1px solid #d8e1eb;
  min-height: 42px;
  border-radius: 12px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.admin-form textarea{
  min-height: 96px;
}
.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus{
  outline: none;
  background: #ffffff;
  border-color: #8cb8ea;
  box-shadow: 0 0 0 4px rgba(13,110,253,.08);
}

.admin-table{
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #e7edf4;
}
.admin-table th{
  background: linear-gradient(180deg,#f9fbfe 0%, #f2f6fa 100%);
  font-size: .78rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #5f6f84;
  font-weight: 800;
  padding: .95rem .8rem;
}
.admin-table td{
  padding: .95rem .8rem;
  background: #fff;
}
.admin-table tr:nth-child(even) td{
  background: #fcfdff;
}
.admin-table tbody tr:hover td{
  background: #f7fbff;
}

.btn{
  min-height: 40px;
  border-radius: 12px;
  font-size: .84rem;
  font-weight: 700;
  padding: .62rem 1rem;
}
.btn-primary{
  background: linear-gradient(135deg,#0f4c81,#1469ab);
  border: none;
  box-shadow: 0 12px 24px rgba(15,76,129,.20);
}
.btn-primary:hover{
  background: linear-gradient(135deg,#0d446f,#125d99);
}
.btn-ghost{
  background:#f8fafc;
  color:#0f172a;
  border:1px solid #dbe4ee;
}
.btn-ghost:hover{
  background:#eef3f8;
}

.admin-section-title{
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 .45rem;
}



/* =========================
   PREMIUM BUTTON SYSTEM
   ========================= */

.btn{
  appearance:none;
  border:none;
  outline:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:46px;
  padding:.78rem 1.2rem;
  border-radius:14px;
  font-size:.84rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
  text-decoration:none !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    border-color .18s ease,
    color .18s ease,
    opacity .18s ease;
  position:relative;
  overflow:hidden;
  white-space:nowrap;
}

.btn:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));
  opacity:.9;
  pointer-events:none;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn:active{
  transform:translateY(0);
}

.btn:focus-visible{
  box-shadow:
    0 0 0 3px rgba(255,255,255,.85),
    0 0 0 6px rgba(15,76,129,.22);
}

/* PRIMARY */
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg, var(--admin-primary), var(--admin-primary-dark));
  box-shadow:
    0 10px 22px rgba(15,76,129,.22),
    inset 0 1px 0 rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.10);
}

.btn-primary:hover{
  box-shadow:
    0 14px 28px rgba(15,76,129,.28),
    inset 0 1px 0 rgba(255,255,255,.16);
}

.btn-primary:active{
  box-shadow:
    0 6px 14px rgba(15,76,129,.20),
    inset 0 1px 0 rgba(255,255,255,.10);
}

/* GOLD / ACCENT */
.btn-accent{
  color:#1f2937;
  background:linear-gradient(135deg, #f7d774, var(--admin-accent));
  box-shadow:
    0 10px 22px rgba(212,160,23,.24),
    inset 0 1px 0 rgba(255,255,255,.24);
  border:1px solid rgba(255,255,255,.18);
}

.btn-accent:hover{
  box-shadow:
    0 14px 28px rgba(212,160,23,.30),
    inset 0 1px 0 rgba(255,255,255,.26);
}

/* SOFT WHITE */
.btn-ghost{
  color:var(--admin-text);
  background:linear-gradient(180deg, #ffffff, #f7fafc);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:
    0 8px 18px rgba(15,23,42,.05),
    inset 0 1px 0 rgba(255,255,255,.75);
}

.btn-ghost:hover{
  background:linear-gradient(180deg, #ffffff, #f1f5f9);
  border-color:rgba(15,76,129,.16);
  color:var(--admin-primary);
  box-shadow:
    0 12px 22px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.8);
}

/* OUTLINE */
.btn-outline{
  color:var(--admin-primary);
  background:rgba(255,255,255,.65);
  border:1px solid rgba(15,76,129,.22);
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.btn-outline:hover{
  background:rgba(15,76,129,.05);
  border-color:rgba(15,76,129,.36);
}

/* DANGER */
.btn-danger{
  color:#fff;
  background:linear-gradient(135deg, #dc2626, #991b1b);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 10px 22px rgba(185,28,28,.20),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.btn-danger:hover{
  box-shadow:
    0 14px 28px rgba(185,28,28,.28),
    inset 0 1px 0 rgba(255,255,255,.14);
}

/* SMALL */
.btn-sm{
  min-height:38px;
  padding:.62rem .9rem;
  font-size:.78rem;
  border-radius:12px;
}

/* LARGE */
.btn-lg{
  min-height:52px;
  padding:.95rem 1.35rem;
  font-size:.9rem;
  border-radius:16px;
}

/* FULL WIDTH */
.btn-block{
  width:100%;
}

/* BUTTON GROUPS */
.aaj-cfo-btnrow{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
}

@media (max-width:640px){
  .aaj-cfo-btnrow .btn{
    width:100%;
  }
}