:root{--primary:#e5532d;--dark:#0b2239;--bg:#f5f7fb;--card:#ffffff;--muted:#667085}

/* Badges & status */
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;line-height:1;border:1px solid #e6ebf3;background:#fff;color:#0b2239}
.badge.primary{background:rgba(229,83,45,.1);border-color:rgba(229,83,45,.2);color:#e5532d}
.badge.success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.25);color:#16a34a}
.badge.warning{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.25);color:#d97706}

.status{display:inline-flex;align-items:center;gap:6px}
.dot{width:8px;height:8px;border-radius:50%}
.dot.green{background:#16a34a}
.dot.gray{background:#9ca3af}

/* Pagination */
.pagination{display:flex;gap:6px;justify-content:center;margin-top:16px}
.pagination .page{min-width:36px;text-align:center;padding:8px 10px;border:1px solid #e6ebf3;border-radius:8px;background:#fff;color:#0b2239;text-decoration:none}
.pagination .page.active{background:var(--primary);border-color:var(--primary);color:#fff}

/* Action group inside table cell */
.table td .btn{margin:2px 0}
.table td{vertical-align:top}

/* Inbox detail row */
.msg-detail td{border-top:0}
.msg-detail pre{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:#1f2937}
.admin-wrapper{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:#0b2239;color:#c8d3e1;display:flex;flex-direction:column;transition:transform .25s ease}
.sidebar-overlay{display:none}
.brand{padding:16px 18px;color:#fff;font-weight:700;border-bottom:1px solid #213651}
.nav a{color:#c8d3e1;text-decoration:none;padding:12px 18px;display:block;border-left:3px solid transparent;transition:background .2s ease,border-color .2s ease}
.nav a:hover,.nav a.active{background:#0f2a48;color:#fff;border-left-color:var(--primary)}
.content{padding:22px}
.page-title{margin:0 0 16px}
.card{background:var(--card);border:1px solid #e6ebf3;border-radius:12px;box-shadow:0 10px 30px rgba(12,29,74,.05)}
.card-body{padding:18px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;background:#eef1f5;color:#0b2239;text-decoration:none;transition:filter .15s ease,box-shadow .15s ease}
.btn.primary{background:var(--primary);color:#fff}
.btn.outline{background:#fff;border:1px solid #d9e1ec;color:#0b2239}
.btn.danger{background:#e74c3c;color:#fff}
.btn:hover{filter:brightness(.96);box-shadow:0 6px 16px rgba(12,29,74,.08)}
.btn:disabled{opacity:.6;cursor:not-allowed;filter:none;box-shadow:none}

/* Toolbar and chips */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-block;padding:8px 12px;border:1px solid #e6ebf3;border-radius:999px;background:#fff;color:#0b2239;text-decoration:none;font-weight:600}
.chip:hover{background:#f5f7fb}
.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:12px;border-bottom:1px solid #eef1f5;text-align:left}
.table th{background:#f3f6fb;color:#374151;font-weight:600}
.table tr:hover td{background:#fafcff}
.table tr:first-child th:first-child{border-top-left-radius:10px}
.table tr:first-child th:last-child{border-top-right-radius:10px}
.table tr:last-child td:first-child{border-bottom-left-radius:10px}
.table tr:last-child td:last-child{border-bottom-right-radius:10px}
.form-grid{display:grid;gap:12px;max-width:820px}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:12px;border:1px solid #d9e1ec;border-radius:10px;background:#fff}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:none;border-color:#b8c7e4;box-shadow:0 0 0 3px rgba(17,88,199,.08)}
.form-actions{margin-top:8px}
.stat-card{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.stat-card .icon{font-size:32px;color:var(--primary);opacity:.8}
.stat-card .stat{font-size:24px;font-weight:700;color:var(--dark)}
.stat-card .label{color:var(--muted)}
/* Topbar */
.topbar{position:sticky;top:0;z-index:30;background:var(--card);border-bottom:1px solid #e6ebf3;border-radius:12px;padding:10px 12px;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid #e6ebf3;background:#fff;color:#0b2239;cursor:pointer}
.icon-btn:hover{filter:brightness(.98)}
.spacer{flex:1}
.topbar-link{color:#0b2239;text-decoration:none;padding:8px 10px;border-radius:8px}
.topbar-link:hover{background:#f0f3f8}

/* Sidebar collapsed */
body.sidebar-collapsed .sidebar{transform:translateX(-100%)}
body.sidebar-collapsed .admin-wrapper{grid-template-columns:0 1fr}
.icon-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(17,88,199,.08)}

/* Grid for dashboard cards */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width: 1200px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 600px){.grid{grid-template-columns:1fr}}

/* Mobile responsive */
@media (max-width: 900px){
  .admin-wrapper{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;z-index:40;transform:translateX(-100%)}
  body:not(.sidebar-collapsed) .sidebar{transform:translateX(0)}
  .sidebar-overlay{position:fixed;inset:0;background:rgba(11,34,57,.35);backdrop-filter:blur(2px);z-index:39;display:none}
  body:not(.sidebar-collapsed) .sidebar-overlay{display:block}
  .content{padding:16px}
}

/* Better small-screen experience */
@media (max-width: 720px){
  .content{padding:12px}
  .card-body{padding:12px}
  .page-title{font-size:18px; line-height:1.3; margin:0 0 10px}
  .actions{gap:8px}
  .actions .btn{flex:1 1 100%; width:100%}
  .toolbar{flex-direction:column;align-items:stretch}
  .chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .chip{border-radius:10px;text-align:center;padding:10px 12px}
  .topbar{border-radius:10px;padding:8px 12px;flex-wrap:wrap}
  .topbar-link{font-size:14px}
  .icon-btn{width:36px;height:36px}
}

/* Wider phones (e.g., iPhone Plus/Pro Max): show 3 columns for chips */
@media (min-width: 414px) and (max-width: 720px){
  .chips{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* iPhone safe-area tweaks (mobile only) */
@media (max-width: 720px){
  .topbar{padding-top:calc(8px + env(safe-area-inset-top, 0px));}
}

/* Tables become horizontally scrollable on mobile */
@media (max-width: 720px){
  .table{display:block;overflow-x:auto;white-space:nowrap;border-spacing:0}
  .table th,.table td{padding:10px 12px}
}

/* Forms spacing and touch targets */
@media (max-width: 600px){
  .form-grid{gap:10px}
  .form-grid input,.form-grid textarea,.form-grid select{padding:12px}
  .btn{padding:10px 12px}
}

/* Very small devices */
@media (max-width: 420px){
  .content{padding:12px}
  .card-body{padding:12px}
  .brand{padding:14px}
}

/* Mobile list (used in Inbox etc.) */
.mobile-list{display:none}
.mobile-list .m-item{border:1px solid #e6ebf3;border-radius:12px;background:#fff;box-shadow:0 8px 20px rgba(12,29,74,.06)}
.mobile-list .m-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.mobile-list .m-time{color:#6b7280;font-size:12px}
.mobile-list .m-row{margin:6px 0}
.mobile-list details summary{cursor:pointer;color:var(--primary);margin:8px 0}
.mobile-list details pre{white-space:pre-wrap;margin:6px 0 0;padding:10px;background:#f8fafc;border:1px solid #e6ebf3;border-radius:8px}
@media (max-width: 720px){
  /* Hide desktop table, show mobile cards */
  .table{display:none}
  .mobile-list{display:grid;gap:12px}
}

/* Sticky form actions for long forms on mobile */
.form-actions.sticky{position:sticky;bottom:0;background:var(--card);padding:10px;border-top:1px solid #e6ebf3;border-bottom-left-radius:10px;border-bottom-right-radius:10px}
