/* Aurora: presentation only. Existing forms, permissions and routes are unchanged. */
.nb-aurora .instance-config { margin: 12px 0 0; padding: 12px 14px; border: 1px solid rgba(142,124,249,.2); border-radius: 12px; background: rgba(142,124,249,.035); }
.nb-aurora .instance-config summary { cursor: pointer; color: #c4baff; padding: 3px 0; }
.nb-aurora .instance-config[open] summary { margin-bottom: 14px; }
.nb-aurora {
  --bg: #07111f;
  --panel: #132641;
  --panel-2: #1b3051;
  --line: #314768;
  --text: #edf3fc;
  --muted: #a3b5cd;
  --primary: #8e7cf9;
  --primary-2: #6957ee;
  --success: #2dd4bf;
  --danger: #f49ca7;
  --warning: #f7c775;
  --radius: 18px;
  --nb-sidebar-width: 252px;
  --nb-content-left: 296px;
  background:
    radial-gradient(ellipse at 2% 12%, rgba(97,72,169,.21), transparent 34rem),
    radial-gradient(ellipse at 95% 1%, rgba(26,145,139,.14), transparent 34rem),
    var(--bg);
  background-attachment: fixed;
  font-size: 14px;
  line-height: 1.6;
}
.nb-aurora a { color: #c4baff; }
.nb-aurora a:hover { color: #fff; }
.nb-aurora h1 { font-size: clamp(1.9rem, 3.5vw, 2.45rem); letter-spacing: -.035em; line-height: 1.2; }
.nb-aurora h2 { font-size: 1.25rem; letter-spacing: -.015em; }
.nb-aurora h3 { line-height: 1.4; }
.nb-aurora .lead { font-size: .95rem; line-height: 1.65; }
.nb-aurora .small { font-size: .81rem; }
.nb-aurora :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--success);
  outline-offset: 4px;
}
.nb-aurora .nb-skip-link {
  position: fixed;
  top: 12px;
  left: 16px;
  z-index: 100;
  padding: 10px 16px;
  border-radius: 10px;
  color: #fff;
  background: #493caa;
  transform: translateY(-160%);
}
.nb-aurora .nb-skip-link:focus { transform: translateY(0); }
.nb-aurora main:focus { outline: none; }
.nb-aurora .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-size: 1.18rem;
  letter-spacing: .03em;
}
.nb-aurora .brand small { display: block; font-size: .69rem; font-weight: 500; letter-spacing: .03em; color: var(--muted); margin-top: 1px; }
.nb-aurora .brand-mark { color: #b7aaff; }
.nb-aurora .nb-brand-symbol {
  display: grid;
  place-items: center;
  width: 40px;
  height: 44px;
  color: #baacff;
  font-size: 2.4rem;
  font-weight: 900;
  font-style: italic;
  background: linear-gradient(135deg,#b4a0ff 5%,#7460ef 50%,#47dfcf);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nb-aurora .nb-brand-row { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 12px; }
.nb-aurora .nb-nav-icon { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; opacity: .9; }
.nb-aurora .nb-menu-open,
.nb-aurora .nb-menu-close,
.nb-aurora .nb-menu-backdrop { display: none; }

/* Shared authenticated shell: a floating sidebar, with the existing navigation. */
.nb-aurora:is(.nb-area-admin,.nb-area-client) .site-header {
  position: fixed;
  left: 16px;
  top: 18px;
  bottom: 18px;
  width: var(--nb-sidebar-width);
  z-index: 40;
  border: 1px solid rgba(94,109,163,.36);
  border-radius: 21px;
  background: linear-gradient(140deg,rgba(22,35,69,.94),rgba(10,28,49,.96));
  box-shadow: 0 15px 35px rgba(0,0,0,.18);
  backdrop-filter: blur(24px);
}
.nb-aurora:is(.nb-area-admin,.nb-area-client) .header-inner {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 24px 15px 15px;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.nb-aurora:is(.nb-area-admin,.nb-area-client) .brand { padding: 0 9px; }
.nb-aurora .nb-nav-label { padding: 0 12px; margin: 30px 0 10px; color: #91a4c0; font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nb-aurora:is(.nb-area-admin,.nb-area-client) .nav {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 5px;
  margin: 0;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #43567a transparent;
}
.nb-aurora:is(.nb-area-admin,.nb-area-client) .nav a {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 11px;
  min-height: 43px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #b7c8dd;
  font-weight: 550;
  font-size: .82rem;
  text-align: left;
}
.nb-aurora:is(.nb-area-admin,.nb-area-client) .nav a:hover { background: rgba(107,91,174,.15); color: #fff; }
.nb-aurora:is(.nb-area-admin,.nb-area-client) .nav a[aria-current="page"] {
  color: #fff;
  background: linear-gradient(95deg,rgba(102,83,201,.65),rgba(100,82,207,.35));
  border-color: rgba(143,125,220,.3);
  box-shadow: 0 4px 15px rgba(20,13,61,.13);
}
.nb-aurora:is(.nb-area-admin,.nb-area-client) .nav a.discord { margin-top: 20px; justify-content: center; border-color: rgba(138,147,255,.34); background: rgba(88,101,242,.2); color: #e2e4ff; }
.nb-aurora:is(.nb-area-admin,.nb-area-client) .nav a.discord:hover { background: rgba(88,101,242,.35); }
.nb-aurora .nb-sidebar-footer { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; margin-top: 16px; padding: 17px 8px 3px; border-top: 1px solid rgba(94,109,163,.24); }
.nb-aurora .nb-sidebar-footer strong { display: block; font-size: .75rem; }
.nb-aurora .nb-sidebar-footer div > span { display: block; color: #91a4c0; font-size: .65rem; }
.nb-aurora .nb-footer-mark { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 10px; border: 1px solid rgba(167,149,255,.3); background: linear-gradient(135deg,rgba(108,84,220,.4),rgba(57,125,186,.25)); color: #e5ddff; font-weight: 750; }
.nb-aurora .nb-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 69px;
  margin: 18px 28px 0 var(--nb-content-left);
  border-bottom: 1px solid rgba(58,78,110,.2);
}
.nb-aurora .nb-breadcrumb { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--muted); font-size: .76rem; }
.nb-aurora .nb-breadcrumb strong { color: #d1dded; font-weight: 550; }
.nb-aurora .nb-area-chip { flex: 0 0 auto; border: 1px solid rgba(133,119,186,.35); border-radius: 30px; background: rgba(97,82,171,.09); color: #c8bdf2; padding: 5px 11px; font-size: .69rem; }
.nb-aurora:is(.nb-area-admin,.nb-area-client) .main { width: min(1680px,calc(100% - var(--nb-content-left) - 28px)); margin: 0 28px 0 var(--nb-content-left); padding: 20px 0 52px; min-height: calc(100vh - 180px); }
.nb-aurora:is(.nb-area-admin,.nb-area-client) .hero { padding-top: 7px; }
.nb-aurora:is(.nb-area-admin,.nb-area-client) .footer { margin-left: var(--nb-content-left); margin-right: 28px; padding: 20px 0 26px; border-color: rgba(49,71,104,.48); }
.nb-aurora .footer .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #91a4c0; font-size: .7rem; }
.nb-aurora:is(.nb-area-admin,.nb-area-client) .footer .container { width: 100%; }
.nb-aurora .nb-footer-wordmark { color: #d5dfef; letter-spacing: .05em; font-size: .74rem; font-weight: 750; }

/* Reuse every real page component, without changing action selectors. */
.nb-aurora :is(.grid,.form-grid,.nb-master-editor,.nb-editor-main,.nb-editor-side) { min-width: 0; }
.nb-aurora .grid > *,
.nb-aurora .form-grid > * { min-width: 0; }
.nb-aurora .card,
.nb-aurora .nb-license-card,
.nb-aurora .nb-license-toolbar {
  background: linear-gradient(130deg,rgba(23,42,69,.9),rgba(15,34,59,.87));
  border-color: rgba(65,83,122,.56);
  border-top-color: rgba(94,111,152,.55);
  box-shadow: 0 8px 28px rgba(0,0,0,.12);
  backdrop-filter: blur(16px);
}
.nb-aurora .card { padding: 23px; }
.nb-aurora :is(.nb-selected-license,.nb-catalog-editor,.nb-dashboard-clients) { padding: 0; }
.nb-aurora .card-header { gap: 20px; }
.nb-aurora .card-header .row h2 { margin: 0; }
.nb-aurora .card-header > div:first-child { min-width: 0; }
.nb-aurora .button,
.nb-aurora button {
  min-height: 39px;
  padding: 9px 14px;
  border-radius: 9px;
  background: linear-gradient(110deg,#775df4,#5d5cf1);
  font-size: .79rem;
  font-weight: 650;
  line-height: 1.4;
  box-shadow: 0 4px 16px rgba(102,82,222,.08);
  transition: background-color .15s, border-color .15s;
}
.nb-aurora .button:hover,
.nb-aurora button:hover { background: #7966f5; }
.nb-aurora .button.secondary,
.nb-aurora button.secondary { background: rgba(41,61,92,.46); border-color: rgba(88,109,149,.45); color: #d5dfef; box-shadow: none; }
.nb-aurora .button.secondary:hover,
.nb-aurora button.secondary:hover { background: rgba(66,84,118,.6); border-color: rgba(122,140,182,.6); }
.nb-aurora .button.danger,
.nb-aurora button.danger { border-color: rgba(192,110,132,.49); color: #ffd2dc; background: rgba(133,58,86,.18); box-shadow: none; }
.nb-aurora .button.danger:hover,
.nb-aurora button.danger:hover { background: rgba(133,58,86,.33); }
.nb-aurora .button.discord { background: #5865f2; }
.nb-aurora .actions { gap: 9px; }
.nb-aurora :is(input,select,textarea) { border-color: rgba(69,93,130,.75); border-radius: 9px; background: rgba(7,20,38,.74); font-size: .84rem; }
.nb-aurora :is(input,select,textarea):focus { border-color: #a190ff; box-shadow: 0 0 0 3px rgba(113,87,215,.12); }
.nb-aurora input[type="checkbox"],
.nb-aurora input[type="radio"] { accent-color: #8e7cf9; }
.nb-aurora input[type="radio"] { width: 18px; height: 18px; min-height: 18px; flex: 0 0 18px; }
.nb-aurora label { font-size: .79rem; color: #c5d3e6; }
.nb-aurora .badge { font-size: .68rem; padding: 3px 9px; }
.nb-aurora .machine { border: 1px solid rgba(65,83,122,.34); border-radius: 13px; padding: 14px; background: rgba(34,54,82,.46); }
.nb-aurora .instance-card { gap: 8px; }
.nb-aurora .instance-controls { padding: 15px; background: rgba(95,76,153,.08); border-color: rgba(135,115,211,.33); }
.nb-aurora .instance-controls h4 { font-size: .86rem; }
.nb-aurora .instance-controls .actions { justify-content: flex-start; margin-top: 12px; }
.nb-aurora .instance-controls .row > div:first-child { flex: 1 1 240px; }
.nb-aurora .instance-controls .row > .actions { flex: 1 1 240px; }
.nb-aurora .notice { border-radius: 11px; font-size: .81rem; }
.nb-aurora .divider { background: rgba(79,101,139,.38); }
.nb-aurora .table-wrap { max-width: 100%; border-color: rgba(65,83,122,.44); scrollbar-width: thin; scrollbar-color: #43567a transparent; }
.nb-aurora table { font-size: .8rem; background: rgba(9,21,37,.33); }
.nb-aurora th { background: rgba(7,20,38,.28); color: #a3b5cd; font-size: .64rem; letter-spacing: .055em; }
.nb-aurora th,
.nb-aurora td { border-color: rgba(59,83,117,.36); padding: 13px 12px; }
.nb-aurora tbody tr:hover { background: rgba(73,96,133,.08); }
.nb-aurora td .actions { min-width: 150px; }
.nb-aurora .license-key { border-color: #9787eb; background: rgba(7,16,32,.74); }
.nb-aurora .document-card { min-height: 260px; }
.nb-aurora .document-icon { background: rgba(188,88,125,.12); border-color: rgba(217,140,164,.36); color: #f5bfd5; }
.nb-aurora .document-actions { gap: 9px; }
.nb-aurora .nb-dashboard-hero { align-items: flex-start; gap: 24px; }
.nb-aurora .nb-dashboard-hero__actions { flex-wrap: wrap; }
.nb-aurora .nb-stat-card { min-height: 135px; border-color: rgba(90,110,153,.44); background: linear-gradient(120deg,rgba(24,52,83,.77),rgba(19,35,64,.68)); box-shadow: 0 8px 28px rgba(0,0,0,.09); }
.nb-aurora .nb-stat-card strong { font-size: 2.05rem; white-space: nowrap; }
.nb-aurora .nb-stat-card span:not(.nb-stat-card__icon) { font-size: .78rem; }
.nb-aurora .nb-stat-card small { font-size: .72rem; }
.nb-aurora .nb-stat-card__icon { width: 39px; height: 39px; border-radius: 12px; }
.nb-aurora .nb-stat-card__icon svg { width: 20px; height: 20px; }
.nb-aurora .nb-master-sidebar { top: 20px; max-height: calc(100vh - 42px); border-color: rgba(65,83,122,.56); background: linear-gradient(140deg,rgba(22,35,60,.94),rgba(10,28,49,.96)); }
.nb-aurora :is(.nb-editor-section,.nb-license-section,.nb-selected-metrics > div,.nb-license-metric) { background: rgba(10,25,45,.35); border-color: rgba(68,89,129,.46); }
.nb-aurora :is(.nb-selected-header,.nb-catalog-editor__header,.nb-license-card__header) { background: linear-gradient(130deg,rgba(93,75,150,.12),rgba(7,20,38,.24)); border-color: rgba(65,83,122,.4); }
.nb-aurora .nb-master-item.is-selected { border-color: rgba(145,128,225,.52); background: linear-gradient(95deg,rgba(102,83,201,.26),rgba(100,82,207,.1)); }
.nb-aurora .nb-page-hero { gap: 22px; }
.nb-aurora .nb-cloud-action-grid button { font-size: .72rem; }
.nb-aurora .nb-feature-option { border-color: rgba(68,89,129,.4); }

/* Public portal retains its horizontal navigation and real purchase controls. */
.nb-aurora.nb-area-public .site-header { background: rgba(9,21,38,.77); border-bottom-color: rgba(65,83,122,.36); }
.nb-aurora.nb-area-public .header-inner { min-height: 83px; }
.nb-aurora.nb-area-public .nb-brand-row { width: auto; }
.nb-aurora.nb-area-public .nav a[aria-current="page"] { background: rgba(113,87,215,.2); color: #fff; }
.nb-aurora.nb-area-public .main { padding-top: 40px; }
.nb-aurora .offer-card h2 { margin-top: 20px; }
.nb-aurora .offer-card .price { color: #e2dcff; }

/* Authentication uses the same palette; existing forms and notices are untouched. */
.nb-aurora .nb-auth-main { padding: 28px 0; }
.nb-aurora .nb-auth-main > .notice { width: min(460px,calc(100% - 32px)); margin: 0 auto 18px; }
.nb-aurora .login-shell { margin: 4vh auto; width: min(480px,calc(100% - 32px)); }
.nb-aurora .login-shell::before { content: "NOVABOT"; display: block; text-align: center; color: #b7aaff; font-size: 1.28rem; font-weight: 850; letter-spacing: .12em; margin-bottom: 26px; }
.nb-aurora .login-card { padding: 32px; border-radius: 22px; }
.nb-aurora .login-card h1 { font-size: 1.85rem; }
.nb-aurora .login-card .notice { margin: 20px 0 0; background: rgba(90,76,153,.08); color: #bccde1; }
.nb-aurora .login-card .row { font-size: .79rem; }
.nb-aurora .login-card form { gap: 17px; }
.nb-aurora .login-card button { min-height: 44px; }

@media (max-width: 1280px) {
  .nb-aurora { --nb-sidebar-width: 228px; --nb-content-left: 266px; }
  .nb-aurora .nb-topbar { margin-right: 22px; }
  .nb-aurora:is(.nb-area-admin,.nb-area-client) .main { margin-right: 22px; width: calc(100% - var(--nb-content-left) - 22px); }
  .nb-aurora .nb-dashboard-hero { flex-direction: column; align-items: stretch; }
  .nb-aurora .nb-stat-card { padding: 16px; gap: 11px; }
  .nb-aurora .nb-master-layout { grid-template-columns: 255px minmax(0,1fr); }
  .nb-aurora .nb-editor-columns { grid-template-columns: 1fr; }
  .nb-aurora .nb-tier-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1080px) {
  .nb-aurora .grid-3,
  .nb-aurora .grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nb-aurora .nb-master-layout { grid-template-columns: 1fr; }
  .nb-aurora .nb-master-sidebar { position: static; max-height: none; }
  .nb-aurora .nb-master-list { max-height: 360px; }
  .nb-aurora .nb-dashboard-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .nb-aurora { --nb-content-left: 20px; }
  .nb-aurora:is(.nb-area-admin,.nb-area-client) .site-header { position: static; width: calc(100% - 40px); margin: 18px 20px 0; }
  .nb-aurora:is(.nb-area-admin,.nb-area-client) .header-inner { padding: 19px 16px; }
  .nb-aurora:is(.nb-area-admin,.nb-area-client) .nav { flex: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .nb-aurora .nb-sidebar-footer { display: none; }
  .nb-aurora .nb-nav-label { margin-top: 22px; }
  .nb-aurora .nb-topbar { margin: 12px 20px 0; min-height: 64px; }
  .nb-aurora:is(.nb-area-admin,.nb-area-client) .main { width: calc(100% - 40px); margin: 0 20px; padding-top: 20px; }
  .nb-aurora:is(.nb-area-admin,.nb-area-client) .footer { margin: 0 20px; }
  .nb-aurora.nb-nav-ready:is(.nb-area-admin,.nb-area-client) .site-header { position: fixed; left: 12px; top: 12px; bottom: 12px; margin: 0; width: min(288px,calc(100% - 36px)); transform: translateX(calc(-100% - 24px)); transition: transform .2s ease; }
  .nb-aurora.nb-nav-ready:is(.nb-area-admin,.nb-area-client) .header-inner { height: 100%; padding: 22px 15px 15px; }
  .nb-aurora.nb-nav-ready:is(.nb-area-admin,.nb-area-client) .nav { display: flex; flex: 1 1 auto; overflow-y: auto; }
  .nb-aurora.nb-nav-ready .nb-sidebar-footer { display: flex; }
  .nb-aurora.nb-nav-ready .nb-menu-open,
  .nb-aurora.nb-nav-ready .nb-menu-close { display: inline-flex; width: 38px; height: 38px; min-height: 38px; padding: 6px; flex: 0 0 auto; }
  .nb-aurora .nb-menu-open svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
  .nb-aurora .nb-menu-close span { font-size: 1.5rem; line-height: 1; }
  .nb-aurora.nb-nav-ready.nb-menu-is-open .site-header { transform: translateX(0); }
  .nb-aurora.nb-menu-is-open { overflow: hidden; }
  .nb-aurora .nb-menu-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 30; border: 0; border-radius: 0; padding: 0; background: rgba(3,9,20,.62); backdrop-filter: blur(3px); box-shadow: none; }
  .nb-aurora .nb-area-chip { margin-left: auto; }
  .nb-aurora .nb-breadcrumb { flex: 1; gap: 8px; }
  .nb-aurora.nb-area-public .header-inner { flex-direction: row; align-items: center; flex-wrap: wrap; padding: 15px 0; }
  .nb-aurora.nb-area-public .nav { margin-left: auto; }
  .nb-aurora .nb-cloud-action-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .nb-aurora .grid-2,
  .nb-aurora .grid-3,
  .nb-aurora .grid-4,
  .nb-aurora .form-grid,
  .nb-aurora .nb-dashboard-toolbar,
  .nb-aurora .nb-cloud-action-grid { grid-template-columns: 1fr; }
  .nb-aurora .card { padding: 18px; }
  .nb-aurora :is(.nb-selected-license,.nb-catalog-editor,.nb-dashboard-clients) { padding: 0; }
  .nb-aurora .card-header { flex-direction: column; }
  .nb-aurora .card-header > .actions { width: 100%; }
  .nb-aurora .card-header > .actions .button { flex: 1 1 170px; }
  .nb-aurora .nb-area-chip { display: none; }
  .nb-aurora .nb-breadcrumb > span:first-child { display: none; }
  .nb-aurora .nb-breadcrumb > span[aria-hidden="true"] { display: none; }
  .nb-aurora .footer .container { align-items: flex-start; flex-direction: column; gap: 5px; }
  .nb-aurora .instance-controls .row { gap: 0; }
  .nb-aurora .instance-controls .row > div:first-child,
  .nb-aurora .instance-controls .row > .actions { flex-basis: 100%; }
  .nb-aurora .instance-controls form.inline,
  .nb-aurora .instance-controls button { width: 100%; }
  .nb-aurora .nb-cloud-action-grid form,
  .nb-aurora .nb-cloud-action-grid button { width: 100%; }
  .nb-aurora .nb-dashboard-section-heading { flex-direction: column; gap: 13px; }
  .nb-aurora .nb-dashboard-table-meta { flex-direction: column; align-items: flex-start; gap: 6px; }
  .nb-aurora.nb-area-public .header-inner { flex-direction: column; align-items: stretch; gap: 15px; }
  .nb-aurora.nb-area-public .nav { margin-left: 0; display: flex; flex-wrap: wrap; gap: 5px; }
  .nb-aurora.nb-area-public .nav a { flex: 1 1 auto; text-align: center; }
  .nb-aurora .login-card { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .nb-aurora *,
  .nb-aurora *::before,
  .nb-aurora *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
