.admin-app { transition: grid-template-columns .2s ease; }
.admin-app-sidebar { transition: opacity .2s ease, transform .2s ease; }
.admin-app.admin-sidebar-collapsed { grid-template-columns: 0 minmax(0, 1fr); }
.admin-app.admin-sidebar-collapsed .admin-app-sidebar { opacity: 0; overflow: hidden; pointer-events: none; transform: translateX(-100%); }
.admin-menu-trigger,
.admin-notification-trigger { position: relative; }
.admin-notification-dot { background: #f22a2b; border: 2px solid #fff; border-radius: 50%; height: 9px; position: absolute; right: 6px; top: 6px; width: 9px; }
.admin-notification-panel { background: #fff; border: 1px solid #dbe3ef; border-radius: 10px; box-shadow: 0 18px 48px #0f172a33; display: none; grid-template-rows: auto auto auto minmax(0, 1fr) auto; max-height: min(680px, calc(100dvh - 82px)); overflow: hidden; position: absolute; right: 16px; top: 62px; width: min(400px, calc(100vw - 24px)); z-index: 1002; }
.admin-notification-panel.open { display: grid; }
.admin-notification-panel.expanded { bottom: 24px; grid-template-rows: auto auto auto minmax(0, 1fr) auto; left: 50%; max-height: calc(100dvh - 48px); max-width: 760px; position: fixed; right: auto; top: 24px; transform: translateX(-50%); width: calc(100vw - 40px); z-index: 1102; }
.admin-notification-count { align-items:center;background:#f22a2b;border:2px solid #fff;border-radius:999px;color:#fff;display:flex;font-size:9px;font-weight:900;height:19px;justify-content:center;min-width:19px;padding:0 3px;position:absolute;right:-7px;top:-7px; }
.admin-notification-count[hidden]{display:none}
.admin-notification-filters{display:flex;gap:8px;padding:10px;border-bottom:1px solid #e2e8f0}.admin-notification-filters select{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:6px;padding:8px}.admin-notification-filters button,.admin-notification-view-all,.admin-notification-head [data-all]{border:1px solid #cbd5e1;background:#fff;border-radius:6px;color:#30348f;font-size:11px;font-weight:800;min-height:34px;padding:7px 9px}
.admin-notification-list{max-height:430px;min-height:0;overflow:auto}.expanded .admin-notification-list{max-height:none;min-height:0}
.admin-notification-status{color:#64748b;font-size:10px;min-height:25px;padding:6px 10px 4px;text-align:right}.admin-notification-status.error{color:#b91c1c}.admin-notification-filters button:disabled{cursor:wait;opacity:.65}
.admin-notification-item{border-bottom:1px solid #edf2f7;border-left:4px solid #94a3b8;display:grid;gap:5px;min-width:0;padding:12px 14px}.admin-notification-item.unread{background:#f8fbff}.admin-notification-item.severity-critical{border-left-color:#dc2626}.admin-notification-item.severity-warning{border-left-color:#f59e0b}.admin-notification-item.severity-success{border-left-color:#16a34a}.admin-notification-type{color:#64748b;font-size:9px;font-weight:900;text-transform:uppercase}.admin-notification-item b{color:#172554;font-size:13px;overflow-wrap:anywhere}.admin-notification-item p{color:#475569;font-size:12px;margin:0;overflow-wrap:anywhere}.admin-notification-item>div{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.admin-notification-item time{color:#64748b;font-size:10px;margin-right:auto;white-space:nowrap}.admin-notification-item button{background:transparent;border:0;color:#30348f;font-size:10px;font-weight:900;min-height:30px;padding:5px}.admin-notification-empty{display:grid;gap:5px;padding:28px;text-align:center}.admin-notification-view-all{margin:10px;text-align:center!important}
.admin-notification-head { align-items: center; background: #f8fafc; border-bottom: 1px solid #e2e8f0; display: flex; gap:10px; justify-content: space-between; padding: 13px 14px; }
.admin-notification-head div { display: grid; gap: 2px; }
.admin-notification-head strong { color: #172554; }
.admin-notification-head span { color: #64748b; font-size: 11px; font-weight: 700; }
.admin-notification-head > div:last-child { align-items:center; display:flex; flex-direction:row; flex-shrink:0; }
.admin-notification-head button { background: transparent; border: 0; color: #64748b; font-size: 22px; padding: 2px 6px; }
.admin-notification-panel > button { background: #fff; border: 0; border-bottom: 1px solid #eef2f7; display: grid; gap: 3px; padding: 13px 15px; text-align: left; }
.admin-notification-panel > button:hover { background: #f8fafc; }
.admin-notification-panel > button b { color: #30348f; font-size: 13px; }
.admin-notification-panel > button span { color: #64748b; font-size: 12px; }
.admin-sidebar-overlay { display: none; }
@media (max-width: 900px) {
  .admin-app-sidebar { bottom: 0; height: 100vh !important; left: 0; max-width: 300px; min-height: 100vh !important; opacity: 1; overflow: auto; position: fixed !important; top: 0; transform: translateX(-105%); width: min(86vw, 300px); z-index: 1001; }
  .admin-app.admin-sidebar-open .admin-app-sidebar { transform: translateX(0); }
  .admin-sidebar-overlay { background: #0f172a99; border: 0; display: block; inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .2s ease; z-index: 1000; }
  .admin-sidebar-overlay.open { opacity: 1; pointer-events: auto; }
  .admin-app.admin-sidebar-collapsed { grid-template-columns: 1fr; }
  .admin-app.admin-sidebar-collapsed .admin-app-sidebar { opacity: 1; }
  .admin-notification-panel { left: 12px; max-height: calc(100dvh - 88px); right: 12px; top: 72px; width: auto; }
  .admin-notification-panel.expanded { bottom: 12px; left: 12px; max-height: calc(100dvh - 24px); right: 12px; top: 12px; transform: none; width: auto; }
}
@media (max-width: 480px) {
  .admin-notification-panel { border-radius:8px; left:8px; max-height:calc(100dvh - 76px); right:8px; top:68px; }
  .admin-notification-panel.expanded { border-radius:8px; bottom:6px; left:6px; max-height:calc(100dvh - 12px); right:6px; top:6px; }
  .admin-notification-head { align-items:flex-start; padding:10px; }
  .admin-notification-head [data-all] { font-size:10px; padding:5px 7px; }
  .admin-notification-filters { padding:8px; }
  .admin-notification-item { padding:10px; }
  .admin-notification-item>div { align-items:flex-start; }
  .admin-notification-item time { flex-basis:100%; margin-right:0; }
  .admin-notification-view-all { margin:8px; }
}
