/* Avadent Nova UI — full visual renewal, independent from Aurora skin. */
:root{
  --nova-bg:#f7f3ec;
  --nova-bg-2:#eef8f7;
  --nova-ink:#102a32;
  --nova-muted:#64777d;
  --nova-panel:#ffffff;
  --nova-panel-2:#fbfffe;
  --nova-border:rgba(20,70,78,.12);
  --nova-brand:#00a6b4;
  --nova-brand-deep:#063b49;
  --nova-accent:#ff5f49;
  --nova-lime:#b5f25a;
  --nova-gold:#ffb84d;
  --nova-shadow:0 24px 70px rgba(10,54,63,.12);
  --nova-soft-shadow:0 14px 36px rgba(10,54,63,.08);
  --nova-radius:30px;
  --nova-leftbar:318px;
  --nova-leftbar-mini:108px;
}
html[data-theme="dark"]{
  --nova-bg:#07171c;
  --nova-bg-2:#0b2026;
  --nova-ink:#eafafb;
  --nova-muted:#9eb3b8;
  --nova-panel:#10282f;
  --nova-panel-2:#0d2228;
  --nova-border:rgba(191,244,248,.13);
  --nova-brand-deep:#061419;
  --nova-shadow:0 28px 80px rgba(0,0,0,.38);
  --nova-soft-shadow:0 18px 44px rgba(0,0,0,.26);
}
body.ui-nova{
  min-height:100vh;
  color:var(--nova-ink);
  background:
    radial-gradient(circle at 92% 8%,rgba(0,166,180,.17),transparent 24%),
    radial-gradient(circle at 12% 82%,rgba(255,95,73,.12),transparent 28%),
    linear-gradient(135deg,var(--nova-bg),var(--nova-bg-2));
  font-family:"Vazirmatn",Tahoma,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.012em;
}
body.ui-nova:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(8,66,76,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,66,76,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(120deg,rgba(0,0,0,.82),transparent 80%);
}
body.ui-nova:after{
  content:"";
  position:fixed;
  left:24px;
  bottom:26px;
  width:210px;
  height:210px;
  border-radius:60px;
  transform:rotate(-13deg);
  background:linear-gradient(135deg,rgba(255,95,73,.18),rgba(0,166,180,.12));
  filter:blur(18px);
  pointer-events:none;
  z-index:-1;
}
.ui-nova .app-shell{display:block;min-height:100vh;isolation:isolate;position:relative;padding:0}
.ui-nova .app-shell:before{display:none}
.ui-nova .app-shell:after{content:"";position:fixed;right:3vw;top:13vh;width:26vw;max-width:430px;aspect-ratio:1;border-radius:42% 58% 50% 50%;background:radial-gradient(circle,rgba(0,166,180,.15),transparent 68%);filter:blur(10px);pointer-events:none;animation:novaBlob 11s ease-in-out infinite alternate;z-index:-1}
@keyframes novaBlob{from{transform:translate3d(0,0,0) rotate(0) scale(.95)}to{transform:translate3d(-30px,35px,0) rotate(18deg) scale(1.08)}}

/* Left floating navigation — intentionally different from the former right sidebar. */
.ui-nova .sidebar{
  right:auto;
  left:24px;
  top:24px;
  bottom:24px;
  width:var(--nova-leftbar);
  height:auto;
  padding:18px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-left:1px solid rgba(255,255,255,.12);
  border-radius:34px;
  background:
    radial-gradient(circle at 20% 0,rgba(0,166,180,.28),transparent 34%),
    linear-gradient(180deg,#073746 0%,#062a35 50%,#031920 100%);
  box-shadow:26px 28px 90px rgba(5,32,39,.22);
  color:#dff8fa;
  overflow:hidden;
  z-index:40;
}
.ui-nova .sidebar:before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  pointer-events:none;
}
.ui-nova .brand{
  height:108px;
  border-bottom:0;
  justify-content:flex-start;
  padding:10px 10px 20px;
  z-index:1;
}
.ui-nova .brand:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:26px;
  background:rgba(255,255,255,.92);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 18px 48px rgba(0,0,0,.15);
  z-index:-1;
}
.ui-nova .brand-logo{width:205px;max-height:72px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(0,0,0,.10))}
.ui-nova .sidebar-collapse{
  left:auto;
  right:-8px;
  top:38px;
  width:38px;
  height:38px;
  border-radius:15px;
  background:var(--nova-lime);
  border:0;
  color:#06303b;
  box-shadow:0 12px 24px rgba(0,0,0,.25);
}
.ui-nova .main-nav{padding:18px 2px 16px;margin-top:3px;scrollbar-width:thin;z-index:1}
.ui-nova .nav-label{
  margin:20px 12px 9px;
  color:rgba(223,248,250,.48);
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.04em;
}
.ui-nova .nav-item{
  min-height:48px;
  height:auto;
  margin-bottom:7px;
  padding:8px 12px;
  border-radius:18px;
  color:rgba(235,253,255,.72);
  background:transparent;
  border:1px solid transparent;
  gap:12px;
}
.ui-nova .nav-item .icon{width:20px;height:20px;stroke-width:2.1}
.ui-nova .nav-item:hover{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.09);
  transform:translateX(4px);
}
.ui-nova .nav-item.active{
  color:#062a35;
  background:linear-gradient(135deg,#b5f25a 0%,#3edbd7 100%);
  box-shadow:0 16px 36px rgba(62,219,215,.20);
  font-weight:900;
}
.ui-nova .nav-item.active:after{display:none}
.ui-nova .sidebar-user{
  z-index:1;
  margin:10px 0 0;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-top:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
}
.ui-nova .sidebar-account-link{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;min-width:0;flex:1}
.ui-nova .sidebar-account-link small{color:var(--nova-lime);font-weight:800}
.ui-nova .sidebar .user-meta span{color:rgba(223,248,250,.64)}
.ui-nova .sidebar .icon-button.ghost{color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);margin-right:auto}
.ui-nova .avatar{border-radius:15px;background:linear-gradient(135deg,var(--nova-accent),var(--nova-brand));box-shadow:0 12px 26px rgba(0,166,180,.25)}

/* Main canvas */
.ui-nova .main{
  margin-right:0;
  margin-left:calc(var(--nova-leftbar) + 48px);
  width:calc(100% - var(--nova-leftbar) - 48px);
  min-height:100vh;
  display:flex;
  flex-direction:column;
  position:relative;
}
.ui-nova .topbar{
  position:sticky;
  top:18px;
  z-index:30;
  width:calc(100% - 48px);
  margin:18px 24px 0;
  height:76px;
  padding:0 22px;
  border:1px solid rgba(20,70,78,.12);
  border-radius:28px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(22px);
  box-shadow:var(--nova-soft-shadow);
}
html[data-theme="dark"] .ui-nova .topbar{background:rgba(14,34,40,.72);border-color:var(--nova-border)}
.ui-nova .topbar:before{
  content:"";
  position:absolute;
  inset:9px auto 9px 12px;
  width:92px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(0,166,180,.14),rgba(255,95,73,.10));
  pointer-events:none;
}
.ui-nova .topbar h1{font-size:1.08rem;font-weight:950;letter-spacing:-.045em;margin:0 0 2px}
.ui-nova .breadcrumb{color:var(--nova-muted);font-size:.72rem}
.ui-nova .topbar-start{gap:13px;min-width:0}
.ui-nova .topbar-actions{gap:10px;position:relative;z-index:1}
.ui-nova .global-search{
  width:min(410px,34vw);
  height:48px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(20,70,78,.10);
  box-shadow:0 12px 26px rgba(9,50,60,.06);
}
html[data-theme="dark"] .ui-nova .global-search{background:#102a32;border-color:var(--nova-border)}
.ui-nova .global-search:focus-within{box-shadow:0 0 0 5px rgba(0,166,180,.12),0 12px 26px rgba(9,50,60,.06);border-color:rgba(0,166,180,.35)}
.ui-nova .global-search kbd{border-radius:8px;background:#f0f6f6;color:#7c9095;border:0}
.ui-nova .search-results{top:84px;left:40px;right:auto;border-radius:22px;border:1px solid var(--nova-border);box-shadow:var(--nova-shadow)}
.ui-nova .icon-button{
  border-radius:17px;
  background:#fff;
  border:1px solid rgba(20,70,78,.10);
  box-shadow:0 12px 26px rgba(9,50,60,.06);
}
html[data-theme="dark"] .ui-nova .icon-button{background:#102a32;border-color:var(--nova-border)}
.ui-nova .icon-button:hover{transform:translateY(-2px);color:var(--nova-brand);border-color:rgba(0,166,180,.35)}
.ui-nova .btn{border-radius:17px;font-weight:850;min-height:44px}
.ui-nova .btn-brand{background:linear-gradient(135deg,var(--nova-accent),#ff8d54 45%,var(--nova-brand));box-shadow:0 16px 32px rgba(255,95,73,.20);border:0;color:#fff!important}
.ui-nova .btn-brand:hover{filter:saturate(1.08);transform:translateY(-2px);box-shadow:0 20px 38px rgba(255,95,73,.26)}
.ui-nova .btn-glass,.ui-nova .btn-light,.ui-nova .btn-soft,.ui-nova .btn-outline-brand{
  color:var(--nova-ink);
  background:rgba(255,255,255,.72);
  border:1px solid var(--nova-border);
  box-shadow:0 10px 24px rgba(9,50,60,.06);
}
html[data-theme="dark"] .ui-nova .btn-glass,html[data-theme="dark"] .ui-nova .btn-light,html[data-theme="dark"] .ui-nova .btn-soft,html[data-theme="dark"] .ui-nova .btn-outline-brand{background:rgba(16,40,47,.72);color:var(--nova-ink)}
.ui-nova .content-wrap{padding:26px 24px 44px;flex:1}
.ui-nova .page-content{max-width:1500px;margin:0 auto;animation:novaPage .32s cubic-bezier(.2,.8,.2,1)}
@keyframes novaPage{from{opacity:0;transform:translateY(18px) scale(.992)}to{opacity:1;transform:none}}

/* Dashboard hero */
.ui-nova .nova-command-hero{
  position:relative;
  min-height:260px;
  margin:0 0 22px;
  padding:34px;
  border:0;
  border-radius:40px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
  align-items:stretch;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 24% 32%,rgba(181,242,90,.26),transparent 20%),
    radial-gradient(circle at 78% 20%,rgba(255,95,73,.26),transparent 25%),
    linear-gradient(135deg,#062a35 0%,#064457 48%,#087887 100%);
  box-shadow:0 32px 90px rgba(5,48,60,.25);
}
.ui-nova .nova-command-hero:before{content:"";position:absolute;inset:-2px;background:linear-gradient(110deg,transparent 0 20%,rgba(255,255,255,.08) 20% 21%,transparent 21% 44%,rgba(255,255,255,.07) 44% 45%,transparent 45%);opacity:.8;pointer-events:none}
.ui-nova .nova-command-hero:after{content:"";position:absolute;left:-90px;bottom:-95px;width:310px;height:310px;border-radius:50%;border:46px solid rgba(255,255,255,.08);pointer-events:none}
.ui-nova .nova-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;max-width:780px}
.ui-nova .nova-kicker{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(181,242,90,.15);border:1px solid rgba(181,242,90,.30);color:#d9ff96;font-size:.72rem;font-weight:900;margin-bottom:18px}
.ui-nova .nova-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--nova-lime);box-shadow:0 0 0 7px rgba(181,242,90,.13)}
.ui-nova .nova-command-hero h2{font-size:clamp(1.6rem,2.3vw,2.7rem);line-height:1.55;margin:0 0 12px;font-weight:950;letter-spacing:-.06em;max-width:850px}
.ui-nova .nova-command-hero p{font-size:.88rem;line-height:2.15;color:rgba(239,253,255,.76);margin:0;max-width:710px}
.ui-nova .nova-hero-actions{display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.ui-nova .nova-hero-actions .btn-glass{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);box-shadow:none}
.ui-nova .nova-hero-orbit{position:absolute;inset:0;pointer-events:none;z-index:1}
.ui-nova .nova-hero-orbit span{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
.ui-nova .nova-hero-orbit span:nth-child(1){width:280px;height:280px;right:48%;top:-120px;animation:novaSpin 18s linear infinite}
.ui-nova .nova-hero-orbit span:nth-child(2){width:150px;height:150px;right:64px;bottom:40px;border-style:dashed;animation:novaSpin 21s linear infinite reverse}
.ui-nova .nova-hero-orbit span:nth-child(3){width:18px;height:18px;right:44%;bottom:34px;background:var(--nova-lime);border:0;box-shadow:0 0 0 12px rgba(181,242,90,.14)}
@keyframes novaSpin{to{transform:rotate(360deg)}}
.ui-nova .nova-day-card{
  position:relative;
  z-index:3;
  min-width:0;
  width:100%;
  padding:24px;
  border-radius:30px;
  text-align:right;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(15px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.ui-nova .nova-day-card span{font-size:.75rem;color:rgba(255,255,255,.70)}
.ui-nova .nova-day-card strong{font-size:1.35rem;line-height:1.8;font-weight:950;color:#fff}
.ui-nova .nova-day-card small{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:999px;background:rgba(181,242,90,.16);color:#e4ffa9;font-size:.7rem;font-weight:900}

/* Cards, panels and tables */
.ui-nova .stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.ui-nova .stat-card{
  position:relative;
  min-height:138px;
  padding:20px;
  border:1px solid var(--nova-border);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.70));
  box-shadow:var(--nova-soft-shadow);
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  gap:14px;
}
html[data-theme="dark"] .ui-nova .stat-card{background:linear-gradient(180deg,rgba(16,40,47,.94),rgba(16,40,47,.70))}
.ui-nova .stat-card:before{content:"";position:absolute;right:18px;top:18px;width:46px;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--nova-accent),var(--nova-brand));opacity:.75}
.ui-nova .stat-card:after{content:"";position:absolute;left:-34px;top:-44px;width:135px;height:135px;border-radius:50%;background:radial-gradient(circle,rgba(0,166,180,.18),transparent 70%)}
.ui-nova .stat-card:hover{transform:translateY(-5px);box-shadow:var(--nova-shadow)}
.ui-nova .stat-icon{order:2;width:54px;height:54px;border-radius:20px;background:var(--nova-brand-deep)!important;color:#fff!important;box-shadow:0 16px 30px rgba(6,59,73,.18)}
.ui-nova .stat-icon.rose{background:linear-gradient(135deg,#ff5f49,#ff9f64)!important}
.ui-nova .stat-icon.gold{background:linear-gradient(135deg,#ffb84d,#ffd166)!important;color:#2c2a20!important}
.ui-nova .stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#00a6b4)!important}
.ui-nova .stat-body{order:1;position:relative;z-index:1;flex:1}
.ui-nova .stat-label{font-size:.76rem;font-weight:800;color:var(--nova-muted);margin-bottom:9px}
.ui-nova .stat-value{font-size:1.35rem;font-weight:950;color:var(--nova-ink)}
.ui-nova .stat-change{font-size:.64rem;font-weight:800;margin-top:8px;color:#058765}
.ui-nova .stat-change.down{color:#dc503f}
.ui-nova .panel,.ui-nova .summary-mini,.ui-nova .patient-profile-card,.ui-nova .database-update-alert,.ui-nova .installer-security-alert,.ui-nova .account-shortcut-card,.ui-nova .product-info-card{
  border:1px solid var(--nova-border);
  border-radius:30px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--nova-soft-shadow);
  backdrop-filter:blur(18px);
}
html[data-theme="dark"] .ui-nova .panel,html[data-theme="dark"] .ui-nova .summary-mini,html[data-theme="dark"] .ui-nova .patient-profile-card,html[data-theme="dark"] .ui-nova .database-update-alert,html[data-theme="dark"] .ui-nova .installer-security-alert,html[data-theme="dark"] .ui-nova .account-shortcut-card,html[data-theme="dark"] .ui-nova .product-info-card{background:rgba(16,40,47,.82)}
.ui-nova .panel{overflow:hidden}
.ui-nova .panel-header{min-height:72px;padding:18px 22px;border-bottom:1px solid var(--nova-border);background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.20))}
html[data-theme="dark"] .ui-nova .panel-header{background:linear-gradient(180deg,rgba(255,255,255,.05),transparent)}
.ui-nova .panel-header h3{font-weight:950;font-size:.95rem;margin:0;color:var(--nova-ink)}
.ui-nova .panel-header a{font-weight:850;color:var(--nova-brand);text-decoration:none}
.ui-nova .panel-body{padding:22px}
.ui-nova .dashboard-quick-panel{background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(240,255,253,.72));border-radius:34px;margin-bottom:22px}
html[data-theme="dark"] .ui-nova .dashboard-quick-panel{background:linear-gradient(135deg,rgba(16,40,47,.88),rgba(13,34,40,.72))}
.ui-nova .quick-actions-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:12px}
.ui-nova .quick-action{
  min-height:112px;
  border:1px solid var(--nova-border);
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f8fffe);
  color:var(--nova-ink);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  padding:14px;
  text-align:right;
  box-shadow:0 8px 18px rgba(9,50,60,.04);
}
html[data-theme="dark"] .ui-nova .quick-action{background:linear-gradient(180deg,#12313a,#10282f)}
.ui-nova .quick-action:hover{transform:translateY(-4px);border-color:rgba(0,166,180,.33);background:linear-gradient(135deg,#eafffb,#fff7ef);color:var(--nova-brand-deep);box-shadow:0 18px 40px rgba(0,166,180,.12)}
html[data-theme="dark"] .ui-nova .quick-action:hover{background:linear-gradient(135deg,#11343d,#183b3d);color:#fff}
.ui-nova .quick-action .action-icon{width:42px;height:42px;border-radius:17px;background:linear-gradient(135deg,var(--nova-brand),#56e4dc);color:#fff;margin:0;display:grid;place-items:center;box-shadow:0 13px 28px rgba(0,166,180,.20)}
.ui-nova .quick-action span:last-child{font-size:.72rem;font-weight:950;margin-top:10px;display:block}
.ui-nova .advanced-dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 22px}
.ui-nova .advanced-dashboard-grid a{
  position:relative;
  overflow:hidden;
  min-height:112px;
  border:1px solid var(--nova-border);
  border-radius:26px;
  background:rgba(255,255,255,.80);
  color:var(--nova-ink);
  text-decoration:none;
  padding:18px;
  box-shadow:var(--nova-soft-shadow);
}
html[data-theme="dark"] .ui-nova .advanced-dashboard-grid a{background:rgba(16,40,47,.82)}
.ui-nova .advanced-dashboard-grid a:after{content:"";position:absolute;left:-30px;bottom:-45px;width:120px;height:120px;border-radius:50%;background:rgba(0,166,180,.10)}
.ui-nova .advanced-dashboard-grid span{display:block;font-size:.72rem;color:var(--nova-muted);font-weight:800}
.ui-nova .advanced-dashboard-grid strong{display:block;margin-top:12px;font-size:1.28rem;font-weight:950;color:var(--nova-ink)}
.ui-nova .advanced-dashboard-grid small{display:block;margin-top:6px;color:var(--nova-muted);font-size:.62rem;line-height:1.7}
.ui-nova .dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);gap:20px;margin-bottom:20px}
.ui-nova .dashboard-grid.equal{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr)}
.ui-nova .chart-wrap{height:310px}
.ui-nova .due-list{padding:8px 14px 18px}
.ui-nova .due-row{border-radius:18px;margin:8px 0;padding:12px 14px;background:rgba(255,255,255,.74);border:1px solid var(--nova-border);text-decoration:none;color:var(--nova-ink)}
html[data-theme="dark"] .ui-nova .due-row{background:rgba(255,255,255,.04)}
.ui-nova .appointment-row{border:1px solid var(--nova-border);border-radius:20px;background:rgba(255,255,255,.62);padding:12px;margin-bottom:10px}
html[data-theme="dark"] .ui-nova .appointment-row{background:rgba(255,255,255,.04)}
.ui-nova .data-table{border-collapse:separate;border-spacing:0 8px;padding:0 10px}
.ui-nova .data-table thead th{border:0;color:var(--nova-muted);font-size:.69rem;font-weight:900;padding:12px}
.ui-nova .data-table tbody tr{background:rgba(255,255,255,.65);box-shadow:0 6px 16px rgba(9,50,60,.04)}
html[data-theme="dark"] .ui-nova .data-table tbody tr{background:rgba(255,255,255,.04)}
.ui-nova .data-table tbody td{border-top:1px solid var(--nova-border);border-bottom:1px solid var(--nova-border);padding:12px}
.ui-nova .data-table tbody td:first-child{border-radius:0 16px 16px 0;border-right:1px solid var(--nova-border)}
.ui-nova .data-table tbody td:last-child{border-radius:16px 0 0 16px;border-left:1px solid var(--nova-border)}
.ui-nova .status-pill{border-radius:999px;min-height:28px;font-weight:900}
.ui-nova .empty-state{border:1px dashed rgba(0,166,180,.28);border-radius:24px;background:rgba(0,166,180,.04);padding:26px;text-align:center}

/* Generic pages */
.ui-nova .page-head{
  position:relative;
  overflow:hidden;
  border:1px solid var(--nova-border);
  border-radius:34px;
  padding:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(247,255,254,.70));
  box-shadow:var(--nova-soft-shadow);
  margin-bottom:22px;
}
html[data-theme="dark"] .ui-nova .page-head{background:linear-gradient(135deg,rgba(16,40,47,.86),rgba(13,34,40,.70))}
.ui-nova .page-head:before{content:"";position:absolute;right:-70px;top:-95px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,95,73,.14),transparent 70%)}
.ui-nova .page-head h2{font-size:1.45rem;font-weight:950;letter-spacing:-.055em;margin-bottom:8px}
.ui-nova .page-head p{color:var(--nova-muted);line-height:2;margin:0}
.ui-nova .form-control,.ui-nova .form-select{
  min-height:46px;
  border:1px solid var(--nova-border);
  border-radius:16px;
  background:rgba(255,255,255,.82);
  color:var(--nova-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
html[data-theme="dark"] .ui-nova .form-control,html[data-theme="dark"] .ui-nova .form-select{background:rgba(255,255,255,.04);color:var(--nova-ink)}
.ui-nova .form-control:focus,.ui-nova .form-select:focus{border-color:rgba(0,166,180,.45);box-shadow:0 0 0 5px rgba(0,166,180,.11)}
.ui-nova .modal-content{border:1px solid var(--nova-border);border-radius:30px;overflow:hidden;background:var(--nova-panel);box-shadow:0 32px 90px rgba(0,0,0,.24)}
.ui-nova .modal-header,.ui-nova .modal-footer{border-color:var(--nova-border);background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.35))}
html[data-theme="dark"] .ui-nova .modal-header,html[data-theme="dark"] .ui-nova .modal-footer{background:rgba(255,255,255,.04)}

/* Footer */
.ui-nova .app-footer{
  width:calc(100% - 48px);
  height:64px;
  margin:0 24px 24px;
  padding:0 20px;
  border:1px solid var(--nova-border);
  border-radius:24px;
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(16px);
  box-shadow:var(--nova-soft-shadow);
}
html[data-theme="dark"] .ui-nova .app-footer{background:rgba(16,40,47,.62)}
.ui-nova .footer-product{display:flex;align-items:center;gap:10px;color:var(--nova-muted)}
.ui-nova .footer-product span{font-weight:900;color:var(--nova-ink)}
.ui-nova .footer-designer{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--nova-muted);font-weight:850}
.ui-nova .footer-designer img{height:25px;max-width:128px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.10))}

/* Ajax loader */
.ui-nova .ajax-progress{height:4px;background:transparent;z-index:9998}
.ui-nova .ajax-progress-bar{background:linear-gradient(90deg,var(--nova-accent),var(--nova-lime),var(--nova-brand));box-shadow:0 0 18px rgba(0,166,180,.35)}
.ui-nova .ajax-loader-card{border-radius:30px;border:1px solid var(--nova-border);box-shadow:var(--nova-shadow);background:rgba(255,255,255,.86);backdrop-filter:blur(24px);color:var(--nova-ink)}
html[data-theme="dark"] .ui-nova .ajax-loader-card{background:rgba(16,40,47,.88)}
.ui-nova .ajax-loader-mark span{background:linear-gradient(135deg,var(--nova-accent),var(--nova-brand))}

/* Compact sidebar desktop */
.ui-nova .sidebar.compact{width:var(--nova-leftbar-mini)}
.ui-nova .sidebar.compact .brand{justify-content:center;padding-inline:0}
.ui-nova .sidebar.compact .brand-logo{width:62px;height:62px;object-fit:contain}
.ui-nova .sidebar.compact .nav-label,.ui-nova .sidebar.compact .nav-item span,.ui-nova .sidebar.compact .user-meta,.ui-nova .sidebar.compact .sidebar-user>.icon-button{display:none}
.ui-nova .sidebar.compact .nav-item{justify-content:center;padding:10px}
.ui-nova .sidebar.compact .sidebar-user{justify-content:center}
.ui-nova .sidebar.compact~.main{margin-left:calc(var(--nova-leftbar-mini) + 48px);width:calc(100% - var(--nova-leftbar-mini) - 48px);margin-right:0}

@media(max-width:1500px){
  .ui-nova .quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ui-nova .advanced-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1250px){
  .ui-nova .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ui-nova .dashboard-grid,.ui-nova .dashboard-grid.equal{grid-template-columns:1fr}
  .ui-nova .nova-command-hero{grid-template-columns:1fr;min-height:auto}
  .ui-nova .nova-day-card{min-height:150px}
}
@media(max-width:1199.98px){
  .ui-nova .sidebar,.ui-nova .sidebar.compact{
    right:16px;
    left:auto;
    top:16px;
    bottom:16px;
    width:min(330px,88vw);
    transform:translateX(112%);
  }
  .ui-nova .sidebar.open{transform:translateX(0)}
  .ui-nova .sidebar.compact .brand-logo{width:205px;height:auto}
  .ui-nova .sidebar.compact .nav-label,.ui-nova .sidebar.compact .nav-item span,.ui-nova .sidebar.compact .user-meta,.ui-nova .sidebar.compact .sidebar-user>.icon-button{display:initial}
  .ui-nova .sidebar.compact .nav-item{justify-content:flex-start;padding:8px 12px}
  .ui-nova .main,.ui-nova .sidebar.compact~.main{width:100%;margin-right:0;margin-left:0}
  .ui-nova .topbar{width:calc(100% - 32px);margin:16px 16px 0}
  .ui-nova .content-wrap{padding:20px 16px 34px}
  .ui-nova .app-footer{width:calc(100% - 32px);margin:0 16px 16px}
  .ui-nova .search-results{left:26px;right:26px;width:auto}
}
@media(max-width:800px){
  .ui-nova .topbar{height:auto;min-height:82px;align-items:flex-start;padding:14px;flex-wrap:wrap;border-radius:24px}
  .ui-nova .global-search{width:100%;order:3}
  .ui-nova .quick-add span{display:none}
  .ui-nova .quick-add{width:44px;padding-inline:0}
  .ui-nova .nova-command-hero{border-radius:30px;padding:24px;gap:18px}
  .ui-nova .nova-command-hero h2{font-size:1.45rem}
  .ui-nova .stat-grid,.ui-nova .quick-actions-grid,.ui-nova .advanced-dashboard-grid{grid-template-columns:1fr}
  .ui-nova .panel-header{align-items:flex-start;flex-direction:column}
  .ui-nova .app-footer{height:auto;min-height:70px;align-items:flex-start;gap:8px;flex-direction:column;padding:14px}
}
@media(max-width:520px){
  .ui-nova .content-wrap{padding:14px 12px 28px}
  .ui-nova .topbar{margin:12px 12px 0;width:calc(100% - 24px)}
  .ui-nova .nova-command-hero{padding:20px;border-radius:26px}
  .ui-nova .nova-hero-actions .btn{width:100%}
  .ui-nova .stat-card{min-height:122px}
  .ui-nova .data-table{font-size:.68rem}
}


/* Nova v7 — RTL right navigation and page entrance motion */
:root{
  --nova-sidebar:318px;
  --nova-sidebar-mini:108px;
}
.ui-nova .sidebar{
  right:24px;
  left:auto;
  box-shadow:-26px 28px 90px rgba(5,32,39,.22);
  animation:novaSidebarEnter .72s cubic-bezier(.18,.86,.26,1) both;
}
.ui-nova .sidebar-collapse{
  right:auto;
  left:-8px;
}
.ui-nova .sidebar-collapse .icon{transform:rotate(180deg)}
.ui-nova .nav-item:hover{transform:translateX(-4px)}
.ui-nova .sidebar .icon-button.ghost{margin-right:0;margin-left:auto}
.ui-nova .main{
  margin-right:calc(var(--nova-leftbar) + 48px);
  margin-left:0;
  width:calc(100% - var(--nova-leftbar) - 48px);
}
.ui-nova .sidebar.compact~.main{
  margin-right:calc(var(--nova-leftbar-mini) + 48px);
  margin-left:0;
  width:calc(100% - var(--nova-leftbar-mini) - 48px);
}
.ui-nova .topbar{
  animation:novaTopbarEnter .56s cubic-bezier(.18,.86,.26,1) .08s both;
}
.ui-nova .topbar:before{
  inset:9px 12px 9px auto;
}
.ui-nova .content-wrap{
  perspective:1200px;
}
.ui-nova .page-content{
  animation:novaPageEnter .68s cubic-bezier(.18,.86,.26,1) both;
  transform-origin:top center;
  will-change:opacity,transform,filter;
}
.ui-nova .page-content > *{
  animation:novaBlockEnter .62s cubic-bezier(.18,.86,.26,1) both;
  will-change:opacity,transform,filter;
}
.ui-nova .page-content > *:nth-child(1){animation-delay:.04s}
.ui-nova .page-content > *:nth-child(2){animation-delay:.09s}
.ui-nova .page-content > *:nth-child(3){animation-delay:.14s}
.ui-nova .page-content > *:nth-child(4){animation-delay:.19s}
.ui-nova .page-content > *:nth-child(5){animation-delay:.24s}
.ui-nova .page-content > *:nth-child(6){animation-delay:.29s}
.ui-nova .page-content > *:nth-child(7){animation-delay:.34s}
.ui-nova .page-content > *:nth-child(8){animation-delay:.39s}
.ui-nova .page-content > *:nth-child(9){animation-delay:.44s}
.ui-nova .page-content > *:nth-child(n+10){animation-delay:.49s}
.ui-nova .panel,
.ui-nova .stat-card,
.ui-nova .summary-mini,
.ui-nova .patient-profile-card,
.ui-nova .account-shortcut-card,
.ui-nova .product-info-card,
.ui-nova .page-head,
.ui-nova .database-update-alert,
.ui-nova .installer-security-alert{
  animation:novaCardRise .58s cubic-bezier(.18,.86,.26,1) both;
}
.ui-nova .stat-grid .stat-card:nth-child(1),
.ui-nova .quick-actions-grid .quick-action:nth-child(1),
.ui-nova .advanced-dashboard-grid a:nth-child(1){animation-delay:.10s}
.ui-nova .stat-grid .stat-card:nth-child(2),
.ui-nova .quick-actions-grid .quick-action:nth-child(2),
.ui-nova .advanced-dashboard-grid a:nth-child(2){animation-delay:.16s}
.ui-nova .stat-grid .stat-card:nth-child(3),
.ui-nova .quick-actions-grid .quick-action:nth-child(3),
.ui-nova .advanced-dashboard-grid a:nth-child(3){animation-delay:.22s}
.ui-nova .stat-grid .stat-card:nth-child(4),
.ui-nova .quick-actions-grid .quick-action:nth-child(4),
.ui-nova .advanced-dashboard-grid a:nth-child(4){animation-delay:.28s}
.ui-nova .quick-actions-grid .quick-action:nth-child(5),
.ui-nova .advanced-dashboard-grid a:nth-child(5){animation-delay:.34s}
.ui-nova .quick-actions-grid .quick-action:nth-child(6),
.ui-nova .advanced-dashboard-grid a:nth-child(6){animation-delay:.40s}
.ui-nova .quick-actions-grid .quick-action:nth-child(n+7),
.ui-nova .advanced-dashboard-grid a:nth-child(n+7){animation-delay:.46s}
.ui-nova .nova-command-hero{
  animation:novaHeroEnter .74s cubic-bezier(.18,.86,.26,1) .06s both;
}
.ui-nova .nova-day-card{
  animation:novaDayCardEnter .78s cubic-bezier(.18,.86,.26,1) .22s both;
}
.ui-nova .data-table tbody tr,
.ui-nova .due-row,
.ui-nova .appointment-row{
  animation:novaListEnter .44s cubic-bezier(.18,.86,.26,1) both;
}
.ui-nova .data-table tbody tr:nth-child(1),.ui-nova .due-row:nth-child(1),.ui-nova .appointment-row:nth-child(1){animation-delay:.08s}
.ui-nova .data-table tbody tr:nth-child(2),.ui-nova .due-row:nth-child(2),.ui-nova .appointment-row:nth-child(2){animation-delay:.12s}
.ui-nova .data-table tbody tr:nth-child(3),.ui-nova .due-row:nth-child(3),.ui-nova .appointment-row:nth-child(3){animation-delay:.16s}
.ui-nova .data-table tbody tr:nth-child(4),.ui-nova .due-row:nth-child(4),.ui-nova .appointment-row:nth-child(4){animation-delay:.20s}
.ui-nova .data-table tbody tr:nth-child(n+5),.ui-nova .due-row:nth-child(n+5),.ui-nova .appointment-row:nth-child(n+5){animation-delay:.24s}

@keyframes novaSidebarEnter{
  from{opacity:0;transform:translateX(42px) scale(.98);filter:blur(12px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes novaTopbarEnter{
  from{opacity:0;transform:translateY(-18px);filter:blur(10px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes novaPageEnter{
  from{opacity:0;transform:translateY(26px) rotateX(-3deg) scale(.985);filter:blur(12px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes novaBlockEnter{
  from{opacity:0;transform:translateY(22px);filter:blur(10px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes novaCardRise{
  from{opacity:0;transform:translateY(24px) scale(.975);filter:blur(10px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes novaHeroEnter{
  from{opacity:0;transform:translateY(32px) scale(.97);filter:blur(12px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes novaDayCardEnter{
  from{opacity:0;transform:translateX(-24px) scale(.96);filter:blur(10px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes novaListEnter{
  from{opacity:0;transform:translateY(12px) scale(.99)}
  to{opacity:1;transform:none}
}

@media(max-width:1199.98px){
  .ui-nova .sidebar,.ui-nova .sidebar.compact{
    right:16px;
    left:auto;
    box-shadow:-22px 24px 70px rgba(5,32,39,.24);
  }
  .ui-nova .main,.ui-nova .sidebar.compact~.main{width:100%;margin-right:0;margin-left:0}
}
@media(prefers-reduced-motion:reduce){
  .ui-nova *,
  .ui-nova *::before,
  .ui-nova *::after{
    animation-duration:.001ms!important;
    animation-delay:0ms!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* Demo OTP login and readonly session polish */
.login-page-nova{
  background:
    radial-gradient(circle at 16% 18%,rgba(153,244,85,.28),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(17,148,156,.22),transparent 32%),
    linear-gradient(135deg,#f8faf7,#eaf6f5 56%,#f4f7ef);
  overflow-x:hidden;
}
.login-shell-nova{
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 34px 100px rgba(4,42,49,.22);
  transform-origin:center;
  animation:authShellEnter .78s cubic-bezier(.18,.86,.26,1) both;
}
.login-page-nova .login-brand{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#052f37,#075965 52%,#11949c);
  animation:authBrandEnter .82s cubic-bezier(.18,.86,.26,1) .08s both;
}
.login-page-nova .login-brand:before,
.login-page-nova .login-brand:after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.login-page-nova .login-brand:before{
  width:290px;height:290px;inset:34px auto auto -96px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 80px rgba(255,255,255,.08);
}
.login-page-nova .login-brand:after{
  width:180px;height:180px;inset:auto 44px 54px auto;
  background:radial-gradient(circle,rgba(153,244,85,.36),transparent 62%);
  filter:blur(8px);
  animation:authGlowFloat 3.8s ease-in-out infinite alternate;
}
.login-page-nova .login-card{
  gap:14px;
  animation:authCardEnter .82s cubic-bezier(.18,.86,.26,1) .18s both;
}
.auth-entry-title span{
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(17,148,156,.1);
  color:#08747c;
  font-size:.56rem;
  font-weight:900;
}
.auth-entry-title h2{margin-bottom:6px}
.auth-entry-title p{margin:0;color:#6f8588;font-size:.62rem;line-height:1.9}
.auth-mode-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.auth-password-box,.demo-login-box{
  border:1px solid rgba(9,80,89,.12);
  border-radius:22px;
  padding:17px;
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 44px rgba(4,42,49,.08);
  backdrop-filter:blur(18px);
}
.auth-password-box{animation:authItemEnter .6s cubic-bezier(.18,.86,.26,1) .28s both}
.demo-login-box{animation:authItemEnter .6s cubic-bezier(.18,.86,.26,1) .38s both}
.demo-login-head{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:12px;
}
.demo-login-head span{
  width:max-content;
  color:#fff;
  background:linear-gradient(135deg,#ff7051,#11949c);
  border-radius:999px;
  padding:5px 10px;
  font-weight:900;
  font-size:.52rem;
}
.demo-login-head strong{font-size:.78rem;color:#092d34}
.demo-login-head small{font-size:.54rem;color:#6f8588;line-height:1.8}
.demo-phone-form,.demo-otp-form{display:grid;gap:8px;margin:0}
.demo-code-reveal{
  margin:13px 0;
  border:1px dashed rgba(17,148,156,.34);
  border-radius:18px;
  padding:13px;
  display:grid;
  gap:7px;
  place-items:center;
  background:linear-gradient(135deg,rgba(153,244,85,.18),rgba(17,148,156,.08));
  animation:authCodeReveal .5s cubic-bezier(.18,.86,.26,1) both;
}
.demo-code-reveal span{font-size:.54rem;color:#597276}
.demo-code-reveal code{
  direction:ltr;
  font-size:1.35rem;
  letter-spacing:6px;
  font-weight:1000;
  color:#064550;
  background:#fff;
  border-radius:13px;
  padding:7px 13px 7px 8px;
  box-shadow:0 14px 28px rgba(5,89,99,.12);
}
.demo-code-reveal small{font-size:.5rem;color:#6f8588}
.otp-input{font-weight:900;letter-spacing:5px;font-size:1rem}
.demo-login-note{display:block!important;color:#698184!important;line-height:1.9}
.readonly-demo-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
  padding:16px 18px;
  border-radius:24px;
  border:1px solid rgba(17,148,156,.2);
  background:linear-gradient(135deg,rgba(17,148,156,.1),rgba(153,244,85,.13));
  box-shadow:0 18px 48px rgba(4,42,49,.08);
  animation:novaBlockEnter .55s cubic-bezier(.18,.86,.26,1) both;
}
.readonly-demo-banner strong{display:block;font-size:.76rem;color:#07333b;margin-bottom:3px}
.readonly-demo-banner p{margin:0;color:#607a7f;font-size:.57rem;line-height:1.9}
.readonly-demo-banner span{
  direction:ltr;
  white-space:nowrap;
  border-radius:999px;
  padding:8px 12px;
  background:#fff;
  color:#08747c;
  font-size:.54rem;
  font-weight:900;
  box-shadow:0 12px 28px rgba(4,42,49,.07);
}
.readonly-demo .btn-danger,
.readonly-demo .installer-security-alert,
.readonly-demo .database-update-alert{display:none!important}
.readonly-demo .page-actions .btn-brand,
.readonly-demo .table-actions form,
.readonly-demo a[href*="edit="],
.readonly-demo a[href*="new="],
.readonly-demo a[href*="action=export"],
.readonly-demo a[href*="action=download"]{display:none!important}
@keyframes authShellEnter{from{opacity:0;transform:translateY(28px) scale(.965);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
@keyframes authBrandEnter{from{opacity:0;transform:translateX(34px);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
@keyframes authCardEnter{from{opacity:0;transform:translateX(-28px);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
@keyframes authItemEnter{from{opacity:0;transform:translateY(18px) scale(.98);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes authCodeReveal{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes authGlowFloat{from{transform:translate3d(0,0,0) scale(.96)}to{transform:translate3d(-18px,-12px,0) scale(1.08)}}
@media(min-width:1100px){.login-shell-nova{grid-template-columns:.9fr 1.1fr}.auth-mode-grid{grid-template-columns:1fr 1fr}.login-page-nova .login-card{padding:52px}}
@media(max-width:767px){.readonly-demo-banner{align-items:flex-start;flex-direction:column}.demo-code-reveal code{font-size:1.1rem;letter-spacing:4px}}
@media(prefers-reduced-motion:reduce){.login-page-nova *,.readonly-demo-banner{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}

/* v9: default login page with toggleable mobile demo flow */
.login-page-demo-toggle .login-shell{
  animation:authShellEnter .62s cubic-bezier(.18,.86,.26,1) both;
}
.login-page-demo-toggle .login-brand{
  animation:authBrandEnter .68s cubic-bezier(.18,.86,.26,1) .06s both;
}
.login-page-demo-toggle .login-card{
  animation:authCardEnter .68s cubic-bezier(.18,.86,.26,1) .12s both;
}
.login-page-demo-toggle .auth-entry-title{
  animation:authItemEnter .5s cubic-bezier(.18,.86,.26,1) .2s both;
}
.login-page-demo-toggle .auth-entry-title span{
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(17,148,156,.1);
  color:#08747c;
  font-size:.56rem;
  font-weight:900;
}
.login-page-demo-toggle .auth-toggle{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:16px 0 10px;
  padding:6px;
  border:1px solid rgba(9,80,89,.12);
  border-radius:18px;
  background:#f4faf9;
  animation:authItemEnter .5s cubic-bezier(.18,.86,.26,1) .26s both;
}
.login-page-demo-toggle .auth-toggle button{
  border:0;
  min-height:42px;
  border-radius:14px;
  background:transparent;
  color:#567176;
  font:inherit;
  font-size:.62rem;
  font-weight:850;
  transition:.18s ease;
}
.login-page-demo-toggle .auth-toggle button.active{
  color:#fff;
  background:linear-gradient(135deg,#08747c,#13a4ae);
  box-shadow:0 14px 30px rgba(8,116,124,.22);
}
.login-page-demo-toggle .auth-password-box,
.login-page-demo-toggle .demo-mobile-box{
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.login-page-demo-toggle .auth-panel-enter{
  animation:authItemEnter .45s cubic-bezier(.18,.86,.26,1) both;
}
.login-page-demo-toggle .auth-panel-animate{
  animation:demoPanelSwitch .38s cubic-bezier(.18,.86,.26,1) both;
}
.login-page-demo-toggle .demo-login-head{
  margin:14px 0 12px;
  padding:13px 14px;
  border:1px solid rgba(9,80,89,.1);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(17,148,156,.08),rgba(153,244,85,.12));
}
.login-page-demo-toggle .demo-login-head span{
  width:max-content;
  color:#fff;
  background:linear-gradient(135deg,#ff7051,#11949c);
  border-radius:999px;
  padding:5px 10px;
  font-weight:900;
  font-size:.52rem;
}
.login-page-demo-toggle .demo-login-head strong{display:block;margin-top:8px;font-size:.78rem;color:#092d34}
.login-page-demo-toggle .demo-login-head small{display:block;margin-top:4px;font-size:.54rem;color:#6f8588;line-height:1.9}
.login-page-demo-toggle .demo-phone-form,
.login-page-demo-toggle .demo-otp-form{display:grid;gap:8px;margin:0}
.login-page-demo-toggle .demo-fixed-phone{
  background:#f7fbfa!important;
  color:#07333b!important;
  font-weight:900;
  letter-spacing:.4px;
  cursor:not-allowed;
}
.login-page-demo-toggle .demo-field-help,
.login-page-demo-toggle .demo-login-note{
  display:block!important;
  margin-top:0!important;
  color:#698184!important;
  font-size:.54rem!important;
  line-height:1.9!important;
  text-align:right!important;
}
.login-page-demo-toggle .demo-otp-form{
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed rgba(9,80,89,.16);
}
.login-page-demo-toggle .demo-otp-digits{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.login-page-demo-toggle .demo-otp-digit{
  width:100%;
  min-height:52px;
  border:1px solid rgba(9,80,89,.15);
  border-radius:14px;
  background:#fff;
  color:#07333b;
  text-align:center;
  font-size:1.2rem;
  font-weight:950;
  outline:0;
  box-shadow:0 12px 28px rgba(4,42,49,.05);
  transition:.16s ease;
}
.login-page-demo-toggle .demo-otp-digit:focus{
  border-color:#13a4ae;
  box-shadow:0 0 0 4px rgba(19,164,174,.12),0 15px 32px rgba(4,42,49,.08);
  transform:translateY(-1px);
}
.login-page-demo-toggle .demo-otp-digits.shake{animation:demoOtpShake .38s ease both}
.demo-code-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(5,30,35,.36);
  backdrop-filter:blur(12px);
  animation:demoModalFade .18s ease both;
}
.demo-code-modal[hidden]{display:none!important}
.demo-code-modal.is-leaving{animation:demoModalFadeOut .18s ease both}
.demo-code-dialog{
  width:min(380px,100%);
  border-radius:28px;
  padding:26px;
  background:#fff;
  text-align:center;
  box-shadow:0 34px 100px rgba(4,42,49,.25);
  animation:demoDialogIn .32s cubic-bezier(.18,.86,.26,1) both;
}
.demo-code-dialog .demo-modal-badge{
  display:inline-flex;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(17,148,156,.1);
  color:#08747c;
  font-size:.54rem;
  font-weight:900;
}
.demo-code-dialog h3{margin:12px 0 10px;font-size:1rem;color:#092d34}
.demo-code-dialog code{
  direction:ltr;
  display:inline-flex;
  justify-content:center;
  min-width:150px;
  margin:2px auto 18px;
  border-radius:18px;
  padding:10px 16px 10px 10px;
  background:linear-gradient(135deg,rgba(153,244,85,.22),rgba(17,148,156,.1));
  color:#064550;
  font-size:1.65rem;
  font-weight:1000;
  letter-spacing:8px;
  box-shadow:inset 0 0 0 1px rgba(17,148,156,.12);
}
@keyframes demoPanelSwitch{from{opacity:0;transform:translateY(12px) scale(.985);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes demoModalFade{from{opacity:0}to{opacity:1}}
@keyframes demoModalFadeOut{from{opacity:1}to{opacity:0}}
@keyframes demoDialogIn{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}
@keyframes demoOtpShake{0%,100%{transform:translateX(0)}25%{transform:translateX(8px)}50%{transform:translateX(-8px)}75%{transform:translateX(5px)}}
@media(min-width:560px){.login-page-demo-toggle .auth-toggle{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.login-page-demo-toggle .auth-toggle{margin-top:14px}.login-page-demo-toggle .demo-code-dialog{border-radius:22px}.login-page-demo-toggle .demo-otp-digit{min-height:48px}}
@media(prefers-reduced-motion:reduce){.login-page-demo-toggle *,.demo-code-modal,.demo-code-dialog{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* v10: premium demo mobile OTP success animation */
.login-page-demo-toggle .demo-otp-form{
  position:relative;
}
.login-page-demo-toggle .demo-otp-submit{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:scale(.1)!important;
}
.login-page-demo-toggle .demo-otp-digits{
  position:relative;
  isolation:isolate;
  min-height:56px;
  perspective:680px;
}
.login-page-demo-toggle .demo-otp-digits:before{
  content:'در حال تأیید ورود دمو...';
  position:absolute;
  inset-inline:0;
  inset-block-end:-30px;
  text-align:center;
  color:#08747c;
  font-size:.56rem;
  font-weight:900;
  opacity:0;
  transform:translateY(-4px);
  transition:.22s ease;
}
.login-page-demo-toggle .demo-otp-digits:after{
  content:'✓';
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  border:1px solid rgba(28,181,122,.45);
  background:linear-gradient(135deg,#18b77a,#62e89d);
  color:#fff;
  font-size:1.55rem;
  font-weight:1000;
  box-shadow:0 18px 45px rgba(28,181,122,.36), inset 0 0 0 1px rgba(255,255,255,.44);
  opacity:0;
  transform:translate(-50%,-50%) scale(.58) rotate(-12deg);
  pointer-events:none;
}
.login-page-demo-toggle .demo-otp-digit{
  position:relative;
  z-index:2;
  will-change:transform, opacity, border-color, box-shadow, background;
  transform-origin:center;
}
.login-page-demo-toggle .demo-otp-digit.is-filled{
  border-color:rgba(17,148,156,.35);
  background:linear-gradient(180deg,#fff,#f6fffd);
}
.login-page-demo-toggle .demo-otp-digits.is-wrong .demo-otp-digit{
  border-color:#ef4444;
  color:#b91c1c;
  background:#fff7f7;
  box-shadow:0 0 0 4px rgba(239,68,68,.09),0 12px 26px rgba(185,28,28,.08);
}
.login-page-demo-toggle .demo-otp-digits.is-valid .demo-otp-digit{
  border-color:#16a66f;
  color:#087047;
  background:linear-gradient(180deg,#f4fff9,#ffffff);
  box-shadow:0 0 0 4px rgba(28,181,122,.12),0 16px 36px rgba(28,181,122,.18);
  animation:demoOtpApprovedPulse .42s cubic-bezier(.18,.86,.26,1) both;
}
.login-page-demo-toggle .demo-otp-digits.is-merging:before{
  opacity:1;
  transform:translateY(0);
}
.login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit{
  border-radius:18px;
  transition:transform .56s cubic-bezier(.16,1,.3,1), opacity .34s ease .28s, filter .34s ease;
  filter:saturate(1.15);
}
.login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(1){transform:translateX(calc(200% + 16px)) scale(.76) rotateY(-18deg)}
.login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(2){transform:translateX(calc(100% + 8px)) scale(.82) rotateY(-10deg)}
.login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(3){transform:scale(.9)}
.login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(4){transform:translateX(calc(-100% - 8px)) scale(.82) rotateY(10deg)}
.login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(5){transform:translateX(calc(-200% - 16px)) scale(.76) rotateY(18deg)}
.login-page-demo-toggle .demo-otp-digits.is-success .demo-otp-digit{
  opacity:0;
  filter:blur(4px);
}
.login-page-demo-toggle .demo-otp-digits.is-success:after{
  animation:demoOtpCheckSeal .62s cubic-bezier(.18,.86,.26,1) both;
}
.login-page-demo-toggle .demo-otp-digits.is-submitting:after{
  animation:demoOtpCheckLeave .34s ease both;
}
.login-page-demo-toggle .demo-otp-digits.is-submitting:before{
  content:'ورود به پنل دمو...';
  opacity:1;
}
@keyframes demoOtpApprovedPulse{
  0%{transform:translateY(0) scale(1)}
  45%{transform:translateY(-5px) scale(1.035)}
  100%{transform:translateY(0) scale(1)}
}
@keyframes demoOtpCheckSeal{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.45) rotate(-18deg);filter:blur(6px)}
  56%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(4deg);filter:none}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0);filter:none}
}
@keyframes demoOtpCheckLeave{
  from{opacity:1;transform:translate(-50%,-50%) scale(1)}
  to{opacity:0;transform:translate(-50%,-70%) scale(.82);filter:blur(5px)}
}
@media(max-width:520px){
  .login-page-demo-toggle .demo-otp-digits{gap:6px}
  .login-page-demo-toggle .demo-otp-digits:after{width:52px;height:52px;border-radius:16px}
  .login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(1){transform:translateX(calc(200% + 12px)) scale(.74)}
  .login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(2){transform:translateX(calc(100% + 6px)) scale(.82)}
  .login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(4){transform:translateX(calc(-100% - 6px)) scale(.82)}
  .login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit:nth-child(5){transform:translateX(calc(-200% - 12px)) scale(.74)}
}
@media(prefers-reduced-motion:reduce){
  .login-page-demo-toggle .demo-otp-digits.is-valid .demo-otp-digit,
  .login-page-demo-toggle .demo-otp-digits.is-success:after,
  .login-page-demo-toggle .demo-otp-digits.is-submitting:after{animation-duration:.001ms!important}
  .login-page-demo-toggle .demo-otp-digits.is-merging .demo-otp-digit{transition-duration:.001ms!important}
}

/* v11: Clinic Calm — professional visual tuning and scroll performance patch */
:root{
  --nova-bg:#f3f8f8;
  --nova-bg-2:#eef5f4;
  --nova-ink:#123139;
  --nova-muted:#688087;
  --nova-panel:#ffffff;
  --nova-panel-2:#f9fcfc;
  --nova-border:rgba(18,49,57,.10);
  --nova-brand:#0b9aa5;
  --nova-brand-deep:#0a5660;
  --nova-accent:#15b8aa;
  --nova-lime:#dff7ee;
  --nova-gold:#f5b94e;
  --nova-shadow:0 14px 34px rgba(19,65,72,.10);
  --nova-soft-shadow:0 8px 22px rgba(19,65,72,.07);
  --nova-radius:22px;
  --nova-leftbar:286px;
  --nova-leftbar-mini:86px;
}
html[data-theme="dark"]{
  --nova-bg:#081a1f;
  --nova-bg-2:#0c2228;
  --nova-panel:#10262c;
  --nova-panel-2:#0d2026;
  --nova-border:rgba(212,248,248,.11);
  --nova-shadow:0 16px 38px rgba(0,0,0,.28);
  --nova-soft-shadow:0 10px 24px rgba(0,0,0,.20);
}
body.ui-nova{
  background:linear-gradient(135deg,var(--nova-bg),var(--nova-bg-2));
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.ui-nova:before,
body.ui-nova:after,
.ui-nova .app-shell:after,
.ui-nova .topbar:before,
.ui-nova .nova-command-hero:before,
.ui-nova .nova-command-hero:after,
.ui-nova .page-head:before{
  display:none!important;
  animation:none!important;
  filter:none!important;
}
.ui-nova .app-shell{isolation:auto;background:transparent}
.ui-nova *,
.ui-nova *::before,
.ui-nova *::after{
  scroll-behavior:auto!important;
}
.ui-nova .sidebar{
  right:20px;
  left:auto;
  top:20px;
  bottom:20px;
  width:var(--nova-leftbar);
  padding:16px 14px;
  border:1px solid var(--nova-border);
  border-radius:26px;
  background:var(--nova-panel);
  color:var(--nova-ink);
  box-shadow:var(--nova-shadow);
  overflow:hidden;
  animation:clinicSideEnter .28s ease-out both;
  transform:translateZ(0);
  backdrop-filter:none!important;
}
html[data-theme="dark"] .ui-nova .sidebar{background:#0e252b;color:#eafafb}
.ui-nova .sidebar:before{display:none!important}
.ui-nova .brand{
  height:82px;
  padding:10px 12px;
  margin-bottom:12px;
  justify-content:center;
  border:1px solid var(--nova-border);
  border-radius:20px;
  background:var(--nova-panel-2);
}
.ui-nova .brand:before{display:none!important}
.ui-nova .brand-logo{width:172px;max-height:56px;filter:none}
.ui-nova .sidebar-collapse{
  left:-6px;
  right:auto;
  top:32px;
  width:34px;
  height:34px;
  border-radius:13px;
  background:var(--nova-panel);
  border:1px solid var(--nova-border);
  color:var(--nova-brand-deep);
  box-shadow:var(--nova-soft-shadow);
}
.ui-nova .main-nav{padding:8px 0 12px;margin-top:0}
.ui-nova .nav-label{
  margin:16px 10px 8px;
  color:var(--nova-muted);
  font-size:.62rem;
  font-weight:850;
}
.ui-nova .nav-item{
  min-height:44px;
  margin-bottom:5px;
  padding:8px 11px;
  border-radius:15px;
  color:var(--nova-muted);
  border:1px solid transparent;
  background:transparent;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease;
}
.ui-nova .nav-item:hover{
  color:var(--nova-brand-deep);
  background:#eef9f8;
  border-color:rgba(11,154,165,.12);
  transform:none;
}
html[data-theme="dark"] .ui-nova .nav-item:hover{background:rgba(255,255,255,.05);color:#eafafb}
.ui-nova .nav-item.active{
  color:#ffffff;
  background:linear-gradient(135deg,#0b9aa5,#12b9ab);
  box-shadow:0 10px 22px rgba(11,154,165,.20);
}
.ui-nova .sidebar-user{
  margin-top:10px;
  padding:11px;
  border-radius:18px;
  border:1px solid var(--nova-border);
  background:var(--nova-panel-2);
  color:var(--nova-ink);
  backdrop-filter:none!important;
}
html[data-theme="dark"] .ui-nova .sidebar-user{background:rgba(255,255,255,.04)}
.ui-nova .sidebar-account-link{color:var(--nova-ink)}
html[data-theme="dark"] .ui-nova .sidebar-account-link{color:#eafafb}
.ui-nova .sidebar-account-link small{color:var(--nova-brand);font-weight:850}
.ui-nova .sidebar .user-meta span{color:var(--nova-muted)}
.ui-nova .sidebar .icon-button.ghost{
  color:var(--nova-ink);
  background:#fff;
  border:1px solid var(--nova-border);
  margin-right:0;
  margin-left:auto;
}
html[data-theme="dark"] .ui-nova .sidebar .icon-button.ghost{background:rgba(255,255,255,.06);color:#eafafb}
.ui-nova .avatar{border-radius:13px;background:linear-gradient(135deg,#0b9aa5,#12b9ab);box-shadow:none}
.ui-nova .main{
  margin-right:calc(var(--nova-leftbar) + 40px);
  margin-left:0;
  width:calc(100% - var(--nova-leftbar) - 40px);
}
.ui-nova .sidebar.compact{width:var(--nova-leftbar-mini)}
.ui-nova .sidebar.compact .brand-logo{width:48px;height:48px}
.ui-nova .sidebar.compact~.main{
  margin-right:calc(var(--nova-leftbar-mini) + 40px);
  margin-left:0;
  width:calc(100% - var(--nova-leftbar-mini) - 40px);
}
.ui-nova .topbar{
  top:14px;
  height:68px;
  margin:14px 20px 0;
  width:calc(100% - 40px);
  padding:0 18px;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--nova-border);
  box-shadow:var(--nova-soft-shadow);
  backdrop-filter:none!important;
  animation:clinicTopEnter .24s ease-out .04s both;
}
html[data-theme="dark"] .ui-nova .topbar{background:rgba(16,38,44,.96)}
.ui-nova .topbar h1{font-size:1.02rem;letter-spacing:-.035em}
.ui-nova .global-search{
  height:44px;
  width:min(380px,32vw);
  border-radius:15px;
  background:var(--nova-panel-2);
  box-shadow:none;
}
.ui-nova .icon-button,
.ui-nova .btn-glass,
.ui-nova .btn-light,
.ui-nova .btn-soft,
.ui-nova .btn-outline-brand{
  box-shadow:none;
  background:var(--nova-panel-2);
}
.ui-nova .icon-button:hover,
.ui-nova .btn-brand:hover,
.ui-nova .quick-action:hover,
.ui-nova .stat-card:hover{
  transform:none;
}
.ui-nova .btn-brand{
  background:linear-gradient(135deg,#0b9aa5,#14baac);
  box-shadow:0 10px 20px rgba(11,154,165,.18);
}
.ui-nova .content-wrap{padding:22px 20px 36px;perspective:none!important}
.ui-nova .page-content{
  max-width:1440px;
  animation:clinicPageEnter .26s ease-out both!important;
  transform-origin:center top;
  will-change:auto!important;
}
.ui-nova .page-content > *,
.ui-nova .panel,
.ui-nova .stat-card,
.ui-nova .summary-mini,
.ui-nova .patient-profile-card,
.ui-nova .account-shortcut-card,
.ui-nova .product-info-card,
.ui-nova .page-head,
.ui-nova .database-update-alert,
.ui-nova .installer-security-alert,
.ui-nova .data-table tbody tr,
.ui-nova .due-row,
.ui-nova .appointment-row,
.ui-nova .nova-day-card{
  animation:none!important;
  will-change:auto!important;
  filter:none!important;
}
.ui-nova .nova-command-hero{
  min-height:220px;
  border-radius:28px;
  padding:30px;
  grid-template-columns:minmax(0,1fr) 260px;
  color:#fff;
  background:linear-gradient(135deg,#0a5660 0%,#0b7f8a 55%,#13aaa4 100%);
  box-shadow:0 16px 38px rgba(11,86,96,.18);
  animation:clinicHeroEnter .30s ease-out .06s both!important;
}
.ui-nova .nova-command-hero h2{font-size:clamp(1.45rem,2.2vw,2.35rem);line-height:1.65}
.ui-nova .nova-command-hero p{color:rgba(255,255,255,.78);font-size:.78rem}
.ui-nova .nova-kicker{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.18);color:#fff}
.ui-nova .nova-day-card{
  min-height:auto;
  border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
}
.ui-nova .nova-hero-orbit{display:none!important}
.ui-nova .stat-grid{gap:16px;margin-bottom:18px}
.ui-nova .stat-card{
  min-height:128px;
  border-radius:22px;
  background:var(--nova-panel);
  border:1px solid var(--nova-border);
  box-shadow:var(--nova-soft-shadow);
  padding:20px;
  content-visibility:auto;
  contain-intrinsic-size:128px;
}
html[data-theme="dark"] .ui-nova .stat-card{background:var(--nova-panel)}
.ui-nova .stat-card:before{height:4px;width:40px;right:18px;top:16px;background:var(--nova-brand);opacity:.55}
.ui-nova .stat-card:after{display:none!important}
.ui-nova .stat-icon{width:48px;height:48px;border-radius:16px;box-shadow:none;background:#e7f7f5!important;color:#0b7f8a!important}
.ui-nova .stat-icon.rose{background:#fff0ed!important;color:#e65a46!important}
.ui-nova .stat-icon.gold{background:#fff7df!important;color:#8a5f00!important}
.ui-nova .stat-icon.blue{background:#e9f5ff!important;color:#1577bf!important}
.ui-nova .stat-value{font-size:1.22rem}
.ui-nova .panel,
.ui-nova .summary-mini,
.ui-nova .patient-profile-card,
.ui-nova .database-update-alert,
.ui-nova .installer-security-alert,
.ui-nova .account-shortcut-card,
.ui-nova .product-info-card{
  border-radius:22px;
  background:var(--nova-panel);
  box-shadow:var(--nova-soft-shadow);
  backdrop-filter:none!important;
  content-visibility:auto;
  contain-intrinsic-size:260px;
}
.ui-nova .panel-header{min-height:64px;padding:16px 20px;background:var(--nova-panel-2)}
.ui-nova .panel-body{padding:20px}
.ui-nova .dashboard-quick-panel{border-radius:24px;background:var(--nova-panel)}
.ui-nova .quick-actions-grid{gap:10px}
.ui-nova .quick-action{
  min-height:86px;
  border-radius:18px;
  background:var(--nova-panel-2);
  box-shadow:none;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease;
}
.ui-nova .quick-action:hover{background:#eef9f8;color:var(--nova-brand-deep);box-shadow:none}
.ui-nova .quick-action .action-icon{width:38px;height:38px;border-radius:14px;box-shadow:none;background:#dff7f4;color:#0b8d97}
.ui-nova .advanced-dashboard-grid{gap:12px}
.ui-nova .advanced-dashboard-grid a{
  min-height:102px;
  border-radius:20px;
  background:var(--nova-panel);
  box-shadow:var(--nova-soft-shadow);
  content-visibility:auto;
  contain-intrinsic-size:102px;
}
.ui-nova .advanced-dashboard-grid a:after{display:none!important}
.ui-nova .page-head{
  border-radius:24px;
  padding:22px;
  background:var(--nova-panel);
  box-shadow:var(--nova-soft-shadow);
}
.ui-nova .data-table tbody tr{box-shadow:none;background:var(--nova-panel)}
.ui-nova .data-table{border-spacing:0 6px}
.ui-nova .modal-content{box-shadow:0 18px 50px rgba(0,0,0,.18);backdrop-filter:none!important}
.ui-nova .ajax-loader-card{backdrop-filter:none!important;box-shadow:var(--nova-shadow)}
.ui-nova .app-footer{
  width:calc(100% - 40px);
  margin:0 20px 20px;
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--nova-soft-shadow);
  backdrop-filter:none!important;
}
html[data-theme="dark"] .ui-nova .app-footer{background:rgba(16,38,44,.94)}
.ui-nova .search-results{box-shadow:var(--nova-shadow)}
@keyframes clinicSideEnter{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
@keyframes clinicTopEnter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes clinicPageEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes clinicHeroEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1500px){
  .ui-nova .quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ui-nova .advanced-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1250px){
  .ui-nova .nova-command-hero{grid-template-columns:1fr;min-height:auto}
}
@media(max-width:1199.98px){
  .ui-nova .sidebar,.ui-nova .sidebar.compact{
    right:14px;
    left:auto;
    top:14px;
    bottom:14px;
    width:min(310px,88vw);
    transform:translateX(112%);
    box-shadow:var(--nova-shadow);
  }
  .ui-nova .sidebar.open{transform:translateX(0)}
  .ui-nova .main,.ui-nova .sidebar.compact~.main{width:100%;margin-right:0;margin-left:0}
  .ui-nova .topbar{width:calc(100% - 28px);margin:14px 14px 0}
  .ui-nova .content-wrap{padding:18px 14px 32px}
  .ui-nova .app-footer{width:calc(100% - 28px);margin:0 14px 14px}
}
@media(max-width:800px){
  .ui-nova .topbar{border-radius:20px}
  .ui-nova .nova-command-hero{border-radius:24px;padding:22px}
  .ui-nova .stat-grid,.ui-nova .quick-actions-grid,.ui-nova .advanced-dashboard-grid{grid-template-columns:1fr}
}


/* v12 — Settings and header cleanup patch */
.ui-nova .topbar{
  height:64px;
  border-radius:19px;
}
.ui-nova .topbar h1{
  font-size:.98rem;
  font-weight:920;
  line-height:1.55;
}
.ui-nova .breadcrumb{
  font-size:.66rem;
  line-height:1.6;
}
.ui-nova .page-head.page-head-clean{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:88px;
  padding:18px 20px;
  margin-bottom:18px;
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#f8fcfc);
  border:1px solid var(--nova-border);
  box-shadow:var(--nova-soft-shadow);
  overflow:hidden;
  content-visibility:visible!important;
  contain:none!important;
}
html[data-theme="dark"] .ui-nova .page-head.page-head-clean{background:linear-gradient(135deg,#10262c,#0d2026)}
.ui-nova .page-head-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.ui-nova .page-head-label{
  width:max-content;
  max-width:100%;
  padding:4px 10px;
  border-radius:999px;
  background:#e8f7f5;
  color:var(--nova-brand-deep);
  font-size:.56rem;
  font-weight:900;
  line-height:1.7;
}
html[data-theme="dark"] .ui-nova .page-head-label{background:rgba(20,184,172,.12);color:#8fe5df}
.ui-nova .page-head.page-head-clean h2{
  margin:0;
  font-size:1.08rem;
  font-weight:950;
  letter-spacing:-.035em;
  line-height:1.8;
}
.ui-nova .page-head.page-head-clean p{
  margin:0;
  color:var(--nova-muted);
  font-size:.72rem;
  line-height:1.9;
}
.ui-nova .page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ui-nova .panel-header{
  min-height:58px;
  padding:15px 18px;
  align-items:center;
  gap:8px;
}
.ui-nova .panel-header h3{
  font-size:.86rem;
  line-height:1.7;
}
.ui-nova .panel-header p{
  margin:3px 0 0;
  color:var(--nova-muted);
  font-size:.62rem;
  line-height:1.8;
}
.ui-nova .settings-page-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:18px;
  align-items:start;
}
.ui-nova .settings-main-form,
.ui-nova .settings-main-panel,
.ui-nova .settings-main-panel .panel-body,
.ui-nova .settings-assist-stack,
.ui-nova .update-suggestion-panel,
.ui-nova .suggestion-layout,
.ui-nova .suggestion-form,
.ui-nova .suggestion-history{
  min-width:0;
  content-visibility:visible!important;
  contain:none!important;
}
.ui-nova .settings-main-panel{overflow:visible}
.ui-nova .settings-main-panel .panel-body{padding:20px}
.ui-nova .brand-settings-box{
  grid-template-columns:150px minmax(0,1fr);
  gap:16px;
  border-radius:18px;
  border:1px solid var(--nova-border);
  background:var(--nova-panel-2);
  padding:14px;
}
.ui-nova .brand-settings-preview{
  height:96px;
  border-radius:15px;
  background:#fff;
}
html[data-theme="dark"] .ui-nova .brand-settings-preview{background:rgba(255,255,255,.04)}
.ui-nova .brand-settings-preview img{max-height:76px;max-width:92%}
.ui-nova .settings-subtitle{font-size:.82rem;font-weight:950;margin:0 0 8px;color:var(--nova-ink)}
.ui-nova .settings-hint{font-size:.64rem;line-height:1.9;color:var(--nova-muted);margin:0 0 12px}
.ui-nova .font-scale-picker{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.ui-nova .font-scale-picker label{margin:0;cursor:pointer}
.ui-nova .font-scale-picker input{position:absolute;opacity:0;pointer-events:none}
.ui-nova .font-scale-picker span{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:74px;
  padding:12px;
  border:1px solid var(--nova-border);
  border-radius:16px;
  background:var(--nova-panel-2);
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.ui-nova .font-scale-picker b{font-size:.68rem;color:var(--nova-ink)}
.ui-nova .font-scale-picker small,.ui-nova .font-scale-picker em{font-size:.56rem;color:var(--nova-muted);font-style:normal}
.ui-nova .font-scale-picker input:checked+span{border-color:rgba(11,154,165,.45);box-shadow:0 0 0 4px rgba(11,154,165,.08);background:#f0fbfa}
html[data-theme="dark"] .ui-nova .font-scale-picker input:checked+span{background:rgba(20,184,172,.10)}
.ui-nova .mobile-nav-settings{
  margin-top:4px;
  padding:16px;
  border:1px solid var(--nova-border);
  border-radius:20px;
  background:linear-gradient(180deg,var(--nova-panel),var(--nova-panel-2));
}
.ui-nova .mobile-nav-settings-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}
.ui-nova .mobile-nav-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ui-nova .mobile-nav-builder-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:16px;
  align-items:start;
}
.ui-nova .mobile-nav-editor{min-width:0}
.ui-nova .mobile-nav-rows{display:flex;flex-direction:column;gap:10px}
.ui-nova .mobile-nav-row{
  display:grid;
  grid-template-columns:48px 46px minmax(110px,.85fr) minmax(145px,1fr) 140px 38px;
  gap:9px;
  align-items:end;
  padding:10px;
  border:1px solid var(--nova-border);
  border-radius:17px;
  background:var(--nova-panel);
}
.ui-nova .mobile-nav-row label{margin:0;min-width:0}
.ui-nova .mobile-nav-row label>span{display:block;margin-bottom:5px;font-size:.55rem;color:var(--nova-muted);font-weight:800}
.ui-nova .mobile-nav-order{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-self:stretch}
.ui-nova .mobile-nav-row-number{grid-column:1/-1;display:grid;place-items:center;min-height:26px;border-radius:10px;background:#e9f8f6;color:var(--nova-brand-deep);font-size:.6rem;font-weight:950}
.ui-nova .mobile-nav-order button,
.ui-nova .mobile-nav-remove{
  border:1px solid var(--nova-border);
  background:var(--nova-panel-2);
  color:var(--nova-muted);
  border-radius:10px;
  min-height:34px;
  display:grid;
  place-items:center;
}
.ui-nova .mobile-nav-icon-preview{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--nova-brand-deep);
  background:#eaf8f7;
  border:1px solid rgba(11,154,165,.12);
  overflow:hidden;
}
.ui-nova .portal-icon,
.ui-nova .mobile-nav-icon-preview svg,
.ui-nova .mobile-nav-preview-bar svg{
  width:22px!important;
  height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  display:block;
  flex:0 0 22px;
  overflow:visible;
}
.ui-nova .mobile-nav-remove{width:38px;height:38px;align-self:end;color:#d45345}
.ui-nova .mobile-nav-remove .icon{width:16px;height:16px}
.ui-nova .mobile-nav-add{margin-top:12px;gap:7px}
.ui-nova .mobile-nav-link-help{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  margin-top:12px;
  padding:10px;
  border-radius:14px;
  background:var(--nova-panel-2);
  color:var(--nova-muted);
  font-size:.58rem;
  line-height:1.8;
}
.ui-nova .mobile-nav-link-help b{color:var(--nova-ink)}
.ui-nova .mobile-nav-link-help code{padding:2px 6px;border-radius:7px;background:#fff;border:1px solid var(--nova-border);color:var(--nova-brand-deep);font-size:.55rem}
html[data-theme="dark"] .ui-nova .mobile-nav-link-help code{background:rgba(255,255,255,.05)}
.ui-nova .mobile-nav-live-preview{
  border:1px solid var(--nova-border);
  border-radius:18px;
  background:var(--nova-panel);
  padding:14px;
  overflow:hidden;
}
.ui-nova .mobile-nav-preview-label span{display:block;font-size:.68rem;font-weight:950;color:var(--nova-ink)}
.ui-nova .mobile-nav-preview-label small{display:block;color:var(--nova-muted);font-size:.55rem;line-height:1.8;margin-top:2px}
.ui-nova .mobile-nav-phone{
  margin-top:12px;
  height:340px;
  border-radius:28px;
  border:8px solid #15363d;
  background:linear-gradient(180deg,#f7fbfb,#eef8f7);
  position:relative;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9);
}
.ui-nova .mobile-nav-phone-content{padding:18px;display:grid;gap:10px}
.ui-nova .mobile-nav-phone-content span{height:54px;border-radius:14px;background:#fff;border:1px solid rgba(20,70,78,.07)}
.ui-nova .mobile-nav-preview-bar{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-around;
  gap:6px;
  padding:8px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--nova-border);
  box-shadow:0 10px 28px rgba(20,70,78,.12);
}
.ui-nova .mobile-nav-preview-bar a,
.ui-nova .mobile-nav-preview-bar button,
.ui-nova .mobile-nav-preview-bar span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--nova-muted);
  text-decoration:none;
  background:transparent;
  border:0;
}
.ui-nova .mobile-nav-preview-bar a:first-child,
.ui-nova .mobile-nav-preview-bar button:first-child,
.ui-nova .mobile-nav-preview-bar span:first-child{background:#e8f8f6;color:var(--nova-brand-deep)}
.ui-nova .settings-assist-stack .panel-body{padding:18px}
.ui-nova .account-shortcut-icon{
  width:54px;
  height:54px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:#e8f8f6;
  color:var(--nova-brand-deep);
  margin-bottom:10px;
}
.ui-nova .account-shortcut-icon .icon{width:25px;height:25px}
.ui-nova .account-shortcut-card h4{font-size:.82rem;margin:0 0 6px;color:var(--nova-ink)}
.ui-nova .account-shortcut-card p{font-size:.62rem;line-height:1.9;color:var(--nova-muted)}
.ui-nova .product-info-card .panel-body>div{font-size:.62rem;padding:9px 0}
.ui-nova .product-info-card img{max-width:102px;height:30px}
.ui-nova .suggestion-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:16px;align-items:start}
.ui-nova .update-suggestion-panel{margin-top:18px}
.ui-nova .suggestion-terms{padding:14px;border-radius:16px;background:var(--nova-panel-2);border:1px solid var(--nova-border);margin-bottom:14px}
.ui-nova .suggestion-terms h4{font-size:.78rem;font-weight:950;margin:0 0 8px;color:var(--nova-ink)}
.ui-nova .suggestion-terms ul{margin:0;padding-right:18px;color:var(--nova-muted);font-size:.62rem;line-height:2}
@media(max-width:1350px){
  .ui-nova .settings-page-layout{grid-template-columns:1fr}
  .ui-nova .settings-assist-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1100px){
  .ui-nova .mobile-nav-builder-layout{grid-template-columns:1fr}
  .ui-nova .mobile-nav-row{grid-template-columns:44px 44px repeat(2,minmax(0,1fr));align-items:end}
  .ui-nova .mobile-nav-row label:nth-of-type(3){grid-column:3/5}
  .ui-nova .mobile-nav-remove{grid-column:auto}
  .ui-nova .mobile-nav-live-preview{max-width:360px}
}
@media(max-width:760px){
  .ui-nova .topbar{height:auto;min-height:72px;padding:12px;align-items:flex-start;flex-wrap:wrap}
  .ui-nova .topbar-actions{width:100%;flex-wrap:wrap}
  .ui-nova .global-search{width:100%;order:3}
  .ui-nova .page-head.page-head-clean{align-items:flex-start;flex-direction:column;padding:16px;border-radius:18px}
  .ui-nova .settings-assist-stack{display:flex}
  .ui-nova .brand-settings-box{grid-template-columns:1fr}
  .ui-nova .font-scale-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ui-nova .mobile-nav-row{grid-template-columns:40px 42px minmax(0,1fr);gap:8px}
  .ui-nova .mobile-nav-row label{grid-column:1/-1}
  .ui-nova .mobile-nav-remove{grid-column:3;grid-row:1;justify-self:end}
  .ui-nova .suggestion-layout{grid-template-columns:1fr}
}
