body { font-family: Arial, sans-serif; background: #f5f7fb; margin: 0; color: #1f2937; }
.admin-shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.admin-sidebar { background: #0f172a; padding: 24px; display: grid; gap: 12px; align-content: start; }
.admin-sidebar a, .admin-sidebar button { color: #fff; text-decoration: none; background: transparent; border: 0; text-align: left; padding: 10px 0; cursor: pointer; }
.admin-main { padding: 32px; }
.stats-grid, .crm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.crm-grid { grid-template-columns: repeat(3, 1fr); }
.stat-card, .crm-card, .auth-card, form, table { background: #fff; border-radius: 16px; padding: 18px; box-shadow: 0 10px 30px rgba(2,6,23,.06); }
.auth-card { width: min(420px, calc(100% - 32px)); margin: 48px auto; }
label { display: grid; gap: 6px; margin-bottom: 12px; }
input, button { padding: 10px 12px; border-radius: 10px; border: 1px solid #cbd5e1; }
button { background: #0f766e; color: #fff; border-color: #0f766e; cursor: pointer; }
.table { width: 100%; border-collapse: collapse; }
.table td, .table th { padding: 12px; border-bottom: 1px solid #e2e8f0; text-align: left; }
.flash-success { padding: 14px 16px; background: #ecfdf5; color: #166534; border-radius: 12px; margin-bottom: 16px; }
@media (max-width: 980px) {
  .admin-shell, .stats-grid, .crm-grid { grid-template-columns: 1fr; }
}

.admin-topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; gap:16px; }
.admin-topbar-title { font-size: 1.05rem; }
.admin-topbar-actions { display:flex; align-items:center; gap:12px; }
.admin-notification-bell { position: relative; }
.admin-bell-button { position: relative; background:#fff; color:#0f172a; border:1px solid #dbe3ef; min-width:48px; height:48px; border-radius:999px; box-shadow:0 10px 24px rgba(2,6,23,.08); }
.admin-bell-icon { font-size: 1.2rem; line-height:1; }
.admin-bell-badge { position:absolute; top:-4px; right:-4px; background:#dc2626; color:#fff; border-radius:999px; min-width:22px; height:22px; display:grid; place-items:center; font-size:.75rem; padding:0 6px; }
.admin-bell-dropdown { position:absolute; top:56px; right:0; width:min(420px, calc(100vw - 40px)); background:#fff; border:1px solid #dbe3ef; border-radius:18px; box-shadow:0 20px 40px rgba(2,6,23,.12); overflow:hidden; z-index:1000; }
.admin-bell-header,.admin-bell-footer { padding:14px 16px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #eef2f7; }
.admin-bell-footer { border-bottom:0; border-top:1px solid #eef2f7; }
.admin-bell-list { max-height:420px; overflow:auto; }
.admin-bell-item { padding:14px 16px; border-bottom:1px solid #eef2f7; display:grid; gap:8px; }
.admin-bell-item:last-child { border-bottom:0; }
.admin-bell-item.is-unread { background:#f8fafc; }
.admin-bell-item-head { display:flex; justify-content:space-between; gap:12px; font-size:.88rem; }
.admin-bell-item p { margin:0; color:#475569; }
.admin-bell-item-actions { display:flex; align-items:center; gap:10px; }
.admin-bell-link,.admin-bell-mark-all,.admin-bell-inline,.admin-bell-read { font-size:.85rem; }
.admin-bell-link { color:#0f766e; text-decoration:none; }
.admin-bell-mark-all,.admin-bell-inline { background:none; border:0; color:#0f766e; padding:0; }
.admin-bell-empty { padding:18px 16px; color:#64748b; }
.notification-list { display:grid; gap:14px; }
.notification-card { background:#fff; border-radius:18px; padding:18px; box-shadow:0 10px 30px rgba(2,6,23,.06); }
.notification-card--unread { border-left:4px solid #0f766e; }
.notification-card header { display:flex; justify-content:space-between; gap:16px; margin-bottom:8px; }
.notification-actions { display:flex; gap:12px; align-items:center; }
