/* Global visual system for every page */
:root{--accent:#8cf3c1;--border-soft:rgba(148,163,184,.095);--shadow:0 18px 50px rgba(0,0,0,.18)}
body{min-width:320px;background:radial-gradient(circle at 92% 8%,rgba(83,140,255,.07),transparent 28rem),radial-gradient(circle at 18% 70%,rgba(140,243,193,.035),transparent 24rem),#070d17}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 72%)}
.app-shell-auth .sidebar{background:rgba(8,15,26,.97)!important;backdrop-filter:blur(18px);box-shadow:12px 0 38px rgba(0,0,0,.08)}
.site-header{transition:background .2s ease,box-shadow .2s ease}.site-header.is-scrolled{background:rgba(7,13,23,.92)!important;box-shadow:0 12px 36px rgba(0,0,0,.14)}
.sidebar-brand{transition:opacity .2s ease,transform .2s ease}.sidebar-brand:hover{opacity:.88;transform:translateY(-1px)}
.brand-mark{box-shadow:0 10px 28px rgba(140,243,193,.14)}
.side-nav a{position:relative;border:1px solid transparent;transition:.18s ease}.side-nav a:hover{transform:translateX(2px);border-color:var(--border-soft);background:rgba(255,255,255,.035)}
.side-nav a.active{border-color:rgba(140,243,193,.08);box-shadow:inset 3px 0 var(--accent),0 8px 24px rgba(0,0,0,.06)}
.sidebar-user{background:rgba(255,255,255,.018)}
.page-main-auth,.page-main{animation:page-enter .34s ease both}
.card,.panel,.table-card,.auth-card,.plan-card,.summary-card,.tenant-card,.admin-panel{border-color:var(--border-soft);box-shadow:0 16px 44px rgba(0,0,0,.08)}
.card,.table-card,.plan-card,.summary-card,.auth-card,.tenant-card,.admin-panel{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.plan-card:hover,.summary-card:hover,.tenant-card:hover{transform:translateY(-3px);border-color:rgba(140,243,193,.14);box-shadow:var(--shadow)}
.btn,.landing-btn,.admin-primary,.admin-secondary,.admin-small,.admin-danger{position:relative;overflow:hidden;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}
.btn:not(:disabled):hover,.landing-btn:not(:disabled):hover,.admin-primary:not(:disabled):hover,.admin-secondary:not(:disabled):hover{transform:translateY(-2px)}
button:disabled,.btn:disabled{cursor:not-allowed;opacity:.55}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(140,243,193,.7);outline-offset:3px}
input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
input:focus,select:focus,textarea:focus{border-color:rgba(140,243,193,.48)!important;box-shadow:0 0 0 4px rgba(140,243,193,.055)}
.auth-wrap{min-height:calc(100vh - 78px)}
.auth-card{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(145deg,rgba(17,29,46,.98),rgba(9,16,28,.98));box-shadow:0 28px 70px rgba(0,0,0,.26)}
.auth-card::before{content:"";position:absolute;width:180px;height:180px;right:-110px;top:-110px;border-radius:50%;border:1px solid rgba(140,243,193,.09);box-shadow:0 0 0 30px rgba(140,243,193,.018)}
.auth-card-head .brand-mark{width:48px;height:48px}
.page-heading,.dashboard-heading,.admin-head,.admin-section-head{animation:page-enter .42s .05s ease both}
.page-heading h1,.dashboard-heading h1,.admin-head h1{letter-spacing:-.035em}
.flash{display:flex;align-items:center;min-height:46px;animation:page-enter .3s ease both}
.status,.summary-trend,.demo-status,.popular-tag{border:1px solid transparent}
.global-backdrop{display:none}
.global-reveal{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}
.global-reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes page-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:1180px){
  .global-backdrop{position:fixed;inset:0;z-index:44;display:block;visibility:hidden;opacity:0;border:0;background:rgba(3,7,12,.58);backdrop-filter:blur(4px);transition:.2s ease}
  .global-backdrop.is-open{visibility:visible;opacity:1}.sidebar.open{box-shadow:24px 0 60px rgba(0,0,0,.38)}
  .app-shell-auth .sidebar{position:fixed!important;left:-248px!important;width:248px!important;z-index:48!important;transform:none!important;transition:left .22s ease!important}
  .app-shell-auth .sidebar.open{left:0!important}
  .app-main{min-width:0!important}
  .app-shell-auth .page-main-auth{animation:page-enter .28s ease both}
}
@media(max-width:600px){
  .page-heading-row{align-items:flex-start;gap:12px}.page-heading h1,.dashboard-heading h1{font-size:28px}
  .auth-card{padding:26px 20px}.table-card,.admin-panel,.summary-card,.plan-card{border-radius:14px}
}
