/* Mazzo Reserve UI 2026
   Shared visual system for Admin, Manager, Profile, Auth and public utility pages.
   Intentionally never loaded on routes matching ops.*. */
:root{
  --mz-bg:#070a12;--mz-panel:rgba(17,24,39,.72);--mz-panel-2:rgba(30,41,59,.56);
  --mz-line:rgba(148,163,184,.16);--mz-line-strong:rgba(167,139,250,.32);
  --mz-text:#f8fafc;--mz-muted:#9aa8bd;--mz-purple:#8b5cf6;--mz-purple-2:#6d28d9;
  --mz-blue:#38bdf8;--mz-green:#34d399;--mz-red:#fb7185;--mz-amber:#fbbf24;
  --mz-radius:22px;--mz-radius-sm:14px;--mz-shadow:0 22px 70px rgba(0,0,0,.34);
}
html{background:var(--mz-bg);color-scheme:dark;-webkit-text-size-adjust:100%}
body:not(.ops-page){background:var(--mz-bg);color:var(--mz-text)}
.neo-body:not(.ops-page){
 background:
 radial-gradient(900px 620px at 8% -10%,rgba(139,92,246,.24),transparent 65%),
 radial-gradient(700px 540px at 100% 10%,rgba(56,189,248,.12),transparent 62%),
 linear-gradient(180deg,#080b14 0%,#090d18 45%,#070a12 100%)!important;
 background-attachment:fixed;
}
.neo-body:not(.ops-page)::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.neo-admin-shell{min-height:100svh}
.neo-sidebar{width:272px;padding:18px 14px max(16px,env(safe-area-inset-bottom));background:rgba(8,12,22,.82)!important;border-right:1px solid var(--mz-line)!important;backdrop-filter:blur(24px) saturate(145%);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
.neo-sidebar-brand{padding:10px 10px 18px;margin:0 0 8px;border-bottom:1px solid var(--mz-line);border-radius:0}
.neo-sidebar-mark{width:42px;height:42px;border-radius:15px;background:linear-gradient(145deg,var(--mz-purple),var(--mz-purple-2));border:0;box-shadow:0 12px 28px rgba(109,40,217,.38);font-size:18px}
.neo-sidebar-name{font-size:17px;font-weight:800;letter-spacing:.02em}
.neo-side-nav{gap:5px;padding:8px 2px 16px}
.neo-side-link{position:relative;padding:11px 13px;border-radius:14px;border:1px solid transparent;background:transparent;color:#aebbd0;font-size:14px;font-weight:650}
.neo-side-link:hover{transform:none;background:rgba(255,255,255,.05);border-color:var(--mz-line);color:#fff}
.neo-side-link.active{background:linear-gradient(90deg,rgba(139,92,246,.22),rgba(139,92,246,.08));border-color:rgba(167,139,250,.28);color:#fff;box-shadow:inset 3px 0 0 var(--mz-purple)}
.neo-side-footer{margin-top:auto;background:rgba(255,255,255,.025);border:1px solid var(--mz-line);border-radius:18px;padding:9px}
.neo-side-user{padding:8px;background:transparent;border:0}
.neo-side-actions{padding:7px 0 0;gap:6px}
.neo-side-action{padding:8px;border-radius:11px;font-size:12px;background:rgba(255,255,255,.035)}
.neo-avatar{border-radius:13px!important;background:linear-gradient(145deg,rgba(139,92,246,.38),rgba(56,189,248,.2))!important}
.neo-admin-main{min-width:0}
.neo-admin-topbar{min-height:76px;padding:14px clamp(16px,2.4vw,32px);background:rgba(7,10,18,.7);border-bottom:1px solid var(--mz-line);backdrop-filter:blur(22px) saturate(145%)}
.neo-admin-heading h2,.neo-admin-heading .text-xl{font-size:clamp(1.2rem,2vw,1.55rem)!important;font-weight:780!important;letter-spacing:-.02em}
.neo-admin-content{padding:clamp(16px,2.5vw,32px) clamp(14px,2.5vw,34px) max(34px,env(safe-area-inset-bottom));width:100%}
.admin-wrap{max-width:1580px}
.neo-surface,.neo-admin .bg-white,.neo-admin .dark\:bg-gray-800,.neo-admin .dark\:bg-gray-900{background:linear-gradient(145deg,rgba(30,41,59,.54),rgba(15,23,42,.54))!important;border:1px solid var(--mz-line)!important;border-radius:var(--mz-radius)!important;box-shadow:0 18px 50px rgba(0,0,0,.2)!important;backdrop-filter:blur(18px)}
.neo-surface--pad{padding:clamp(16px,2.1vw,24px)}
.neo-stat{padding:16px;border-radius:17px;background:rgba(255,255,255,.035);border:1px solid var(--mz-line)}
.neo-stat__label{color:var(--mz-muted);font-weight:650;text-transform:uppercase;letter-spacing:.06em;font-size:10px}
.neo-stat__value{font-size:clamp(25px,3vw,34px);font-weight:800;color:#fff}
.neo-row,.neo-user-card,.neo-usercard{border-radius:16px;background:rgba(255,255,255,.028);border:1px solid var(--mz-line);transition:border-color .16s ease,background .16s ease}
.neo-row:hover,.neo-user-card:hover,.neo-usercard:hover{border-color:rgba(167,139,250,.27);background:rgba(139,92,246,.055)}
.neo-btn,button.neo-btn,a.neo-btn{min-height:40px;border-radius:12px!important;padding:.62rem .9rem;font-size:13px;font-weight:750;letter-spacing:0;box-shadow:none;white-space:nowrap}
.neo-btn:hover{transform:translateY(-1px)}
.neo-btn-primary{background:linear-gradient(135deg,var(--mz-purple),var(--mz-purple-2));border-color:rgba(196,181,253,.32);box-shadow:0 10px 24px rgba(109,40,217,.24)}
.neo-btn-secondary{background:rgba(255,255,255,.045);border-color:var(--mz-line)}
.neo-btn-danger{background:rgba(244,63,94,.13);border-color:rgba(251,113,133,.26)}
.neo-chip,.neo-badge{border-radius:999px;background:rgba(139,92,246,.11);border-color:rgba(167,139,250,.22);padding:5px 9px}
.neo-admin-content input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.neo-admin-content select,.neo-admin-content textarea,.mazzo-guest input:not([type=checkbox]):not([type=radio]),.mazzo-guest select,.mazzo-guest textarea{width:100%;min-height:44px;border-radius:12px!important;background:rgba(2,6,23,.72)!important;border:1px solid rgba(148,163,184,.22)!important;color:#f8fafc!important;padding:.68rem .78rem!important;font-size:16px!important;line-height:1.25;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
.neo-admin-content textarea,.mazzo-guest textarea{min-height:104px;resize:vertical}
.neo-admin-content input:focus,.neo-admin-content select:focus,.neo-admin-content textarea:focus,.mazzo-guest input:focus,.mazzo-guest select:focus,.mazzo-guest textarea:focus{border-color:rgba(167,139,250,.58)!important;box-shadow:0 0 0 3px rgba(139,92,246,.15)!important;outline:none!important}
label,.neo-label{color:#cbd5e1;font-weight:650}
.neo-admin table{display:table;width:100%;border-collapse:separate;border-spacing:0 7px}
.neo-admin thead th{padding:9px 12px;color:#91a0b5;font-size:11px;text-transform:uppercase;letter-spacing:.055em;border:0!important}
.neo-admin tbody tr{background:rgba(255,255,255,.026)}
.neo-admin tbody td{padding:11px 12px;border-top:1px solid var(--mz-line)!important;border-bottom:1px solid var(--mz-line)!important}
.neo-admin tbody td:first-child{border-left:1px solid var(--mz-line)!important;border-radius:13px 0 0 13px}
.neo-admin tbody td:last-child{border-right:1px solid var(--mz-line)!important;border-radius:0 13px 13px 0}
.neo-slideover__panel{background:rgba(8,12,22,.96);backdrop-filter:blur(25px);width:min(560px,100vw)}
.neo-burger{border-radius:12px;background:rgba(255,255,255,.045)}
/* Profile and regular authenticated pages */
.neo-shell>.neo-header,.neo-shell>header{background:rgba(7,10,18,.72)!important;border-color:var(--mz-line)!important;backdrop-filter:blur(20px)}
.neo-main,.neo-shell main{position:relative}
.neo-page-surface{max-width:1500px;margin:0 auto}
/* Guest/auth */
.mazzo-guest .neo-shell{position:relative;isolation:isolate;padding-left:18px!important;padding-right:18px!important}
.mazzo-guest .neo-shell:before{content:"";position:absolute;width:min(70vw,720px);aspect-ratio:1;left:50%;top:48%;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.17),transparent 65%);filter:blur(18px);z-index:-1}
.mazzo-guest .neo-card{width:min(100%,430px);padding:clamp(22px,6vw,32px)!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(30,41,59,.7),rgba(15,23,42,.66));border:1px solid var(--mz-line);box-shadow:var(--mz-shadow);backdrop-filter:blur(22px)}
.mazzo-guest svg,.mazzo-guest img{max-width:min(260px,70vw)!important;height:auto!important}
.mazzo-guest button,.mazzo-guest input[type=submit]{min-height:44px;border-radius:12px!important}
/* Standalone app refinements */
@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.neo-admin-topbar{top:env(safe-area-inset-top)}.neo-sidebar{padding-top:max(18px,env(safe-area-inset-top))}.neo-admin-content{padding-bottom:max(36px,calc(env(safe-area-inset-bottom) + 22px))}}
@media (max-width:820px){
 .neo-sidebar{width:min(86vw,310px);max-width:310px;border-radius:0 22px 22px 0}
 .neo-admin-topbar{min-height:64px;padding:10px 12px;flex-wrap:nowrap}
 .neo-admin-heading{min-width:0;flex:1}.neo-admin-heading h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .neo-admin-content{padding:14px 12px 30px}
 .neo-surface--pad{padding:15px}
 .neo-btn{min-height:42px}
}
@media (max-width:640px){
 .neo-admin-topbar{flex-wrap:nowrap!important}.neo-admin-heading{flex:1 1 auto!important}.neo-admin-heading>div{min-width:0}
 .neo-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
 .neo-stat{padding:13px}.neo-stat__value{font-size:25px}
 .neo-grid-2,.grid.grid-cols-1.lg\:grid-cols-2,.grid.grid-cols-1.lg\:grid-cols-3,.grid.grid-cols-1.lg\:grid-cols-5{gap:11px!important}
 .neo-surface{border-radius:18px!important}.neo-row,.neo-user-card{padding:11px}
 .neo-admin-content .flex.gap-2,.neo-admin-content .flex.gap-3{row-gap:8px}
 .neo-admin-content table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;border-radius:14px}
 .neo-admin-content form .grid{grid-template-columns:1fr!important}
 .neo-search{width:100%;max-width:none}
}
@media (max-width:380px){.neo-stats-grid{grid-template-columns:1fr!important}.neo-admin-content{padding-left:9px;padding-right:9px}.neo-surface--pad{padding:13px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Customer-directory visual alignment for all Admin / Manager panels */
.neo-admin-content .neo-panel,
.neo-admin-content .neo-card,
.neo-admin-content .neo-surface{
  border:1px solid rgba(148,163,184,.16)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(30,41,59,.58),rgba(15,23,42,.68))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.2)!important;
  backdrop-filter:blur(18px);
}
.neo-admin-content .neo-panel-title,
.neo-admin-content .neo-card-title{font-size:17px!important;font-weight:750!important;color:#f8fafc!important}
.neo-admin-content .neo-field>span,
.neo-admin-content .neo-field>label{display:block;margin-bottom:7px;color:#cbd5e1;font-size:13px;font-weight:700}
.neo-admin-content .neo-alert{border-radius:16px!important}
.neo-admin-content .neo-table{border-collapse:collapse!important;border-spacing:0!important}
.neo-admin-content .neo-table thead th{padding:12px 18px!important;background:rgba(2,6,23,.35)!important;color:#64748b!important}
.neo-admin-content .neo-table tbody tr{background:transparent!important}
.neo-admin-content .neo-table tbody td{padding:14px 18px!important;border:0!important;border-top:1px solid rgba(148,163,184,.1)!important;border-radius:0!important}
.neo-admin-content .neo-table tbody tr:hover{background:rgba(139,92,246,.055)!important}
@media(max-width:760px){
 .neo-admin-content .neo-panel,.neo-admin-content .neo-card,.neo-admin-content .neo-surface{border-radius:18px!important}
}

/* Final section spacing — keep primary panels visually separated */
.neo-admin-content .admin-wrap > * + *{
  margin-top:24px!important;
}
.neo-admin-content .notification-directory > * + *,
.neo-admin-content .customer-directory > * + *{
  margin-top:24px!important;
}
.neo-admin-content .notification-directory .nd-section + .nd-section{
  margin-top:24px!important;
}
.neo-admin-content .customer-directory .cd-section + .cd-section{
  margin-top:24px!important;
}
.neo-admin-content .customer-directory .cd-stats{
  margin-top:24px!important;
  margin-bottom:24px!important;
}
.neo-admin-content .customer-directory .cd-section[style*="margin-bottom"]{
  margin-bottom:24px!important;
}
.neo-admin-content .admin-wrap > .grid{
  gap:24px!important;
}
.neo-admin-content .admin-wrap > form + form,
.neo-admin-content .admin-wrap > section + section,
.neo-admin-content .admin-wrap > .neo-card + .neo-card,
.neo-admin-content .admin-wrap > .neo-panel + .neo-panel,
.neo-admin-content .admin-wrap > .neo-surface + .neo-surface{
  margin-top:24px!important;
}
@media(max-width:760px){
  .neo-admin-content .admin-wrap > * + *,
  .neo-admin-content .notification-directory > * + *,
  .neo-admin-content .customer-directory > * + *,
  .neo-admin-content .notification-directory .nd-section + .nd-section,
  .neo-admin-content .customer-directory .cd-section + .cd-section{
    margin-top:18px!important;
  }
  .neo-admin-content .customer-directory .cd-stats{
    margin-top:18px!important;
    margin-bottom:18px!important;
  }
  .neo-admin-content .admin-wrap > .grid{
    gap:18px!important;
  }
}
