/* NORTHDEAGLE visual references, 2026-10. Loaded only on nd-redesign pages. */
.nd-redesign {
  --bg: #0b0e0d; --surface: #141916; --panel: #141916;
  --surface-raised: #1c231e; --line: #29312b; --line-light: #414b43;
  --text: #edf1e9; --muted: #9ca69d; --dim: #7b877d;
  --lime: #c9ff4f; --lime-soft: #d6ff7f; --radius: 8px;
  --font: 'Golos Text', 'Avenir Next', sans-serif;
  font-family: var(--font); font-size: 15px; line-height: 1.5;
  color: var(--text); background: var(--bg);
}
body.nd-redesign.studio-shell { padding-left: 230px; }
.nd-redesign h1, .nd-redesign h2, .nd-redesign h3,
.nd-redesign .eyebrow, .nd-redesign .pane-number,
.nd-redesign .message-label, .nd-redesign .desk-badge {
  font-family: var(--font);
}
.nd-redesign h1 { font-size: 32px; font-weight: 650; line-height: 1.2; letter-spacing: -.75px; }
.nd-redesign h2 { font-size: 23px; font-weight: 600; line-height: 1.3; letter-spacing: -.4px; }
.nd-redesign h3 { font-size: 18px; line-height: 1.35; }
.nd-redesign .eyebrow { font-size: 11px; letter-spacing: .06em; color: var(--muted); }
.nd-redesign .studio-sidebar {
  width: 230px; padding: 25px 16px 22px; background: var(--bg);
  border-right: 1px solid var(--line);
}
.nd-redesign .sidebar-head { margin-bottom: 30px; }
.nd-redesign .sidebar-head .brand { font-size: 13px; font-weight: 700; letter-spacing: -.4px; }
.nd-redesign .sidebar-head .brand svg { display: none; }
.nd-redesign .sidebar-head .brand small { font-size: 10px; letter-spacing: .35em; color: var(--muted); margin-top: 8px; }
.nd-redesign .side-nav.nav { gap: 7px; }
.nd-redesign .side-nav.nav a {
  min-height: 48px; padding: 12px; font-size: 14px; gap: 12px;
  color: var(--muted); border-radius: 8px;
}
.nd-redesign .side-nav.nav a svg { width: 21px; height: 21px; }
.nd-redesign .side-nav.nav a:hover { transform: none; color: var(--text); background: #141916; }
.nd-redesign .side-nav.nav a.active {
  background: var(--lime); color: #0b0e0d; border-color: var(--lime); font-weight: 600;
}
.nd-redesign .sidebar-foot { font-size: 12px; border-top: 1px solid var(--line); padding: 18px 4px 0; margin-top: auto; }
.nd-redesign .top {
  min-height: 68px; padding: 12px 28px; gap: 16px;
  border-color: var(--line); background: var(--bg);
}
.nd-redesign .top-context { font-size: 14px; color: var(--text); }
.nd-redesign .top-context small { font-size: 10px; letter-spacing: .06em; color: var(--muted); }
.nd-redesign .top .userbar { gap: 10px; }
.nd-redesign .wallet { font-size: 13px; border: 0; border-radius: 0; padding: 8px 10px; }
.nd-redesign .avatar { width: 38px; height: 38px; color: var(--text); background: #202821; border-color: var(--line-light); }
.nd-redesign .btn, .nd-redesign .button {
  min-height: 44px; font-size: 14px; padding: 10px 16px;
  border-radius: 8px; color: var(--text); background: transparent; border-color: var(--line-light);
}
.nd-redesign .btn.small, .nd-redesign .button.small { font-size: 13px; min-height: 40px; padding: 8px 12px; }
.nd-redesign .btn.primary, .nd-redesign .button.lime {
  color: #0b0e0d; background: var(--lime); border-color: var(--lime); font-weight: 600;
}
.nd-redesign .btn.primary:hover, .nd-redesign .button.lime:hover { background: var(--lime-soft); border-color: var(--lime-soft); }
.nd-redesign .btn.text { color: var(--text); background: transparent; border-color: transparent; text-decoration: underline; text-underline-offset: 5px; }
.nd-redesign input, .nd-redesign select, .nd-redesign textarea {
  font-family: var(--font); font-size: 15px; color: var(--text);
  background: #101511; border-color: var(--line-light); border-radius: 8px;
}
.nd-redesign input:not([type=checkbox]):not([type=radio]), .nd-redesign select { min-height: 44px; }
.nd-redesign input::placeholder, .nd-redesign textarea::placeholder { color: #818c83; opacity: 1; }
.nd-redesign .field > span, .nd-redesign label { font-size: 14px; color: var(--muted); }
.nd-redesign input[type=checkbox] { accent-color: var(--lime); }
.nd-redesign .main { padding: 30px 28px 56px; max-width: 1400px; }
.nd-redesign .page-heading { margin-bottom: 26px; }
.nd-redesign .page-heading p { font-size: 15px; }
.nd-redesign .sectionbar { gap: 16px; flex-wrap: wrap; }
.nd-redesign .section-title p { font-size: 14px; }
.nd-redesign .chip { border-radius: 8px; min-height: 42px; font-size: 13px; padding: 8px 15px; }
.nd-redesign .chip.active, .nd-redesign .chip[aria-pressed=true] { color: #0b0e0d; background: var(--lime); border-color: var(--lime); }
.nd-redesign .search { font-size: 14px; min-height: 42px; border-radius: 8px!important; }
.nd-redesign .footer { padding: 20px 28px; color: var(--muted); font-size: 13px; border-top: 1px solid var(--line); }
.nd-redesign .loading, .nd-redesign .status { font-size: 14px; }
.nd-redesign .empty { background: transparent; border-radius: 8px; }
.nd-redesign .empty p { font-size: 15px; }
.nd-redesign .note, .nd-redesign .small-note { font-size: 14px; }
.nd-redesign .trends { gap: 20px; }
.nd-redesign .trend { border-radius: 8px; }
.nd-redesign .trend-copy small, .nd-redesign .trend-meta { font-size: 13px; }
.nd-redesign .trend-copy strong { font-size: 23px; }
.nd-redesign .badge { font-size: 12px; border-radius: 6px; backdrop-filter: none; }
.nd-redesign .modelstrip { background: transparent; border-radius: 8px; padding: 22px 0; border-width: 1px 0; }
.nd-redesign .modelstrip p { font-size: 14px; }

/* Home: capability-led introduction and an uncluttered media frame. */
.nd-redesign .nd-home-intro { max-width: 900px; margin: 2px 0 25px; }
.nd-redesign .nd-home-intro h1 { font-size: 42px; letter-spacing: -1px; max-width: 860px; margin: 0 0 14px; }
.nd-redesign .nd-home-intro h1 em { display: block; color: var(--lime); font-style: normal; }
.nd-redesign .nd-home-intro p { max-width: 760px; color: var(--muted); font-size: 16px; margin-bottom: 20px; }
.nd-redesign .nd-home-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.nd-redesign .nd-home-media { position: relative; height: 260px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin-bottom: 24px; background: var(--surface); }
.nd-redesign .nd-home-media .visual, .nd-redesign .nd-home-media .visual img, .nd-redesign .nd-home-media .visual video { width: 100%; height: 100%; object-fit: cover; }
.nd-redesign .nd-home-media .visual { position: absolute; inset: 0; }
.nd-redesign .nd-home-media::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, #0b0e0de0); pointer-events: none; }
.nd-redesign .nd-home-media-caption { position: absolute; bottom: 20px; left: 22px; right: 22px; z-index: 1; color: var(--text); }
.nd-redesign .nd-home-media-caption strong { display: block; font-size: 15px; }
.nd-redesign .nd-home-media-caption span { display: block; color: #c3cdc2; font-size: 13px; margin-top: 4px; }
.nd-redesign .nd-capabilities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-bottom: 36px; }
.nd-redesign .nd-capability { padding: 4px 24px 4px 0; border-right: 1px solid var(--line); }
.nd-redesign .nd-capability:last-child { border: 0; padding-right: 0; }
.nd-redesign .nd-capability h2 { margin: 0 0 10px; font-size: 22px; }
.nd-redesign .nd-capability p { color: var(--muted); font-size: 15px; margin-bottom: 14px; }
.nd-redesign .nd-capability a { color: var(--text); font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.nd-redesign .nd-capability a span { color: var(--lime); margin-left: 8px; }

/* Pricing: prices and balances are bound to the existing catalog. */
.nd-redesign .plans { gap: 20px; margin: 24px 0; }
.nd-redesign .plan { background: var(--surface); border-radius: 8px; padding: 24px; }
.nd-redesign .plan.featured { background: #1c231e; border-color: var(--line); border-top: 2px solid var(--lime); }
.nd-redesign .plan h2 { font-size: 25px; }
.nd-redesign .plan > p { font-size: 14px; }
.nd-redesign .plan .price { font-size: 32px; font-weight: 650; letter-spacing: -.8px; }
.nd-redesign .plan .price small, .nd-redesign .plan li { font-size: 14px; }
.nd-redesign .plan-badge { position: static; align-self: flex-start; border-radius: 4px; font-size: 12px; }
.nd-redesign .pricing-controls p, .nd-redesign .currency-field span { font-size: 14px; }
.nd-redesign .plan-note { font-size: 14px; display: block; }
.nd-redesign .plan-note p { font-size: 14px; max-width: none; }

/* The same pricing family is used by the dismissible after-login dialog. */
.nd-redesign .nai-pricing-modal { background: #000b; backdrop-filter: none; }
.nd-redesign .nai-pricing-dialog { border-color: var(--line-light); border-radius: 10px; background: var(--surface); }
.nd-redesign .nai-pricing-head { background: var(--surface); border-color: var(--line); }
.nd-redesign .nai-pricing-head span { font-size: 11px; }
.nd-redesign .nai-pricing-head h2 { font-size: 28px; font-family: var(--font); }
.nd-redesign .nai-pricing-close { width: 44px; height: 44px; border-radius: 8px; border-color: var(--line-light); background: transparent; color: var(--text); }
.nd-redesign .nai-pricing-intro > p, .nd-redesign .nai-pricing-note { font-size: 14px; }
.nd-redesign .nai-pricing-intro label { font-size: 13px; }
.nd-redesign .nai-pricing-intro select { min-height: 44px; font-size: 14px; }
.nd-redesign .nai-price-card { border-radius: 8px; background: #101511; }
.nd-redesign .nai-price-card.featured { background: #1c231e; border-color: var(--line-light); border-top: 2px solid var(--lime); }
.nd-redesign .nai-price-card h3 { font-size: 25px; }
.nd-redesign .nai-price-card > p, .nd-redesign .nai-price-card li { font-size: 14px; }
.nd-redesign .nai-price-card > small { font-size: 13px; }
.nd-redesign .nai-offer-price { font-size: 30px; font-weight: 600; }
.nd-redesign .nai-plan-badge { position: static; align-self: flex-start; margin-bottom: 12px; border-radius: 4px; font-size: 11px; }
.nd-redesign .nai-price-button { min-height: 44px; font-size: 14px; border-radius: 8px; }
.nd-redesign .nai-pricing-status { font-size: 14px; }

/* Assistant: retain all pane IDs, room controls, queue state and presets. */
.nd-redesign .assistant-workspace { grid-template-columns: 180px minmax(0,1fr); min-height: calc(100svh - 68px); }
.nd-redesign .chat-library { padding: 28px 14px; gap: 16px; background: var(--bg); }
.nd-redesign .library-title h2 { font-size: 18px; margin: 0 0 7px; }
.nd-redesign .library-title p { color: var(--muted); font-size: 13px; }
.nd-redesign .library-heading { font-size: 13px; }
.nd-redesign .conversation-list { max-height: 40svh; }
.nd-redesign .conversation-item { background: transparent; padding: 10px; border-color: var(--line); border-radius: 8px; }
.nd-redesign .conversation-item.active { background: var(--surface); border-color: var(--line-light); }
.nd-redesign .conversation-item b { font-size: 14px; }
.nd-redesign .conversation-item small { font-size: 11px; }
.nd-redesign .conversation-item .open-actions { flex-wrap: wrap; }
.nd-redesign .conversation-item .open-actions button { padding: 7px 8px; min-height: 32px; font-size: 11px; background: #202821; }
.nd-redesign .queue-overview strong, .nd-redesign .queue-mini { font-size: 12px; }
.nd-redesign .queue-overview p, .nd-redesign .library-note { font-size: 12px; }
.nd-redesign .desk { padding: 28px 22px 18px; background: var(--bg); }
.nd-redesign .desk-heading { align-items: flex-start; margin-bottom: 22px; }
.nd-redesign .desk-heading h1 { font-size: 30px; margin: 0 0 10px; }
.nd-redesign .desk-heading p { font-size: 14px; color: var(--muted); margin: 0; }
.nd-redesign .chat-panes { gap: 16px; }
.nd-redesign .chat-pane { border-radius: 8px; border-color: var(--line-light); background: var(--surface); min-height: 620px; height: max(620px,calc(100svh - 222px)); max-height: 1000px; }
.nd-redesign .pane-top { padding: 13px 14px; gap: 8px; }
.nd-redesign .pane-number { font-size: 14px; color: var(--muted); width: 22px; }
.nd-redesign .pane-title { font-size: 16px; }
.nd-redesign .icon-button, .nd-redesign .pane-top .icon-button { width: 36px; min-width: 36px; height: 36px; font-size: 17px; border-radius: 8px; color: var(--muted); }
.nd-redesign .pane-controls { gap: 10px; padding: 12px 14px; }
.nd-redesign .pane-controls label { font-size: 12px; }
.nd-redesign .pane-controls select { font-size: 13px; min-height: 40px; }
.nd-redesign .settings-panel, .nd-redesign .memory-panel { background: #1b221c; }
.nd-redesign .settings-panel input, .nd-redesign .settings-panel textarea, .nd-redesign .memory-panel textarea { font-size: 14px; }
.nd-redesign .skill { font-size: 12px; border-radius: 6px; padding: 6px 8px; background: transparent; }
.nd-redesign .settings-note, .nd-redesign .memory-panel p { font-size: 12px; line-height: 1.6; }
.nd-redesign .memory-panel h3 { font-size: 16px; }
.nd-redesign .memory-note { font-size: 14px; border-color: var(--line-light); }
.nd-redesign .memory-actions button, .nd-redesign .message-action { min-height: 32px; font-size: 12px; color: #c2d3b8; }
.nd-redesign .message-label { font-size: 11px; }
.nd-redesign .message-body { font-size: 14px; line-height: 1.7; }
.nd-redesign .message.user .message-body { background: #252f25; border-color: #3e4b3f; border-radius: 8px; }
.nd-redesign .message-error { font-size: 13px; }
.nd-redesign .pane-status { font-size: 12px; padding-top: 5px; }
.nd-redesign .pane-composer { background: #101511; padding: 12px 14px; }
.nd-redesign .pane-composer textarea { font-size: 14px; }
.nd-redesign .composer-actions .composer-hint { font-size: 10px; }
.nd-redesign .composer-actions .send-button { min-height: 40px; font-size: 13px; padding: 8px 12px; }
.nd-redesign .chat-empty h3 { font-size: 17px; }
.nd-redesign .chat-empty p { font-size: 13px; }
.nd-redesign .chat-empty .prompt-starter { font-size: 12px; min-height: 40px; color: var(--text); background: #202821; }
.nd-redesign .empty-glyph { font-family: var(--font); font-size: 38px; color: var(--muted); }
.nd-redesign .desk-foot, .nd-redesign .desk-foot p { font-size: 12px; color: var(--muted); }

/* API settings: keep the full configuration, including bridge and key controls. */
.nd-redesign .admin-page { max-width: 1400px; padding: 30px 28px 50px; }
.nd-redesign .admin-intro { align-items: flex-start; margin-bottom: 25px; }
.nd-redesign .admin-intro h1 { font-family: var(--font); font-size: 32px; font-weight: 650; letter-spacing: -.75px; margin: 4px 0 10px; }
.nd-redesign .admin-intro p { font-size: 14px; line-height: 1.6; }
.nd-redesign .admin-grid { grid-template-columns: 230px minmax(0,1fr); gap: 20px; }
.nd-redesign .admin-sidebar, .nd-redesign .admin-card { background: var(--surface); padding: 22px; border-radius: 8px; border-color: var(--line); }
.nd-redesign .admin-sidebar h2, .nd-redesign .admin-card h2 { font-size: 20px; }
.nd-redesign .provider-row { background: #101511; border-radius: 8px; }
.nd-redesign .provider-row b { font-size: 15px; }
.nd-redesign .provider-row small { font-size: 12px; }
.nd-redesign .admin-fields label, .nd-redesign .admin-fields input, .nd-redesign .admin-fields select, .nd-redesign .admin-fields textarea { font-size: 14px; }
.nd-redesign .field-note, .nd-redesign .api-notice, .nd-redesign .admin-card .small-note { font-size: 13px; line-height: 1.6; }
.nd-redesign .api-notice { background: #1b2319; color: var(--muted); border-color: #7b9860; }
.nd-redesign .preset-list button { font-size: 14px; min-height: 40px; width: 100%; border-bottom: 1px solid var(--line); color: var(--text); }
.nd-redesign .preset-form input, .nd-redesign .preset-form textarea { font-size: 14px; }
.nd-redesign .preset-section { gap: 20px; }

/* Profile / users / school share the same flat hierarchy. */
.nd-redesign .profile-grid { gap: 32px; }
.nd-redesign .profile-top h2 { font-size: 23px; }
.nd-redesign .profile-top .avatar { width: 62px; height: 62px; font-size: 26px; }
.nd-redesign .balance { font-size: 38px; line-height: 1.2; margin: 24px 0 12px; }
.nd-redesign .balance small { font-size: 15px; }
.nd-redesign .profile-section-title { margin-top: 30px; font-size: 19px; }
.nd-redesign .ledger td { font-size: 14px; }
.nd-redesign .ledger small { font-size: 12px; }
.nd-redesign .admin-layout { gap: 26px; }
.nd-redesign .admin-detail { background: transparent; border-radius: 8px; }
.nd-redesign .admin-detail fieldset { border-radius: 8px; border-color: var(--line); }
.nd-redesign .userlist button { border-radius: 8px; font-size: 14px; background: transparent; }
.nd-redesign .school-hero { gap: 30px; padding-top: 15px; border-color: var(--line); }
.nd-redesign .school-hero h1 { font-size: 32px; margin-bottom: 12px; }
.nd-redesign .school-price { font-size: 38px; font-weight: 650; color: var(--text); letter-spacing: -.8px; margin: 18px 0 12px; }
.nd-redesign .school-list li { font-size: 15px; color: var(--text); }
.nd-redesign .school-list li::before { content: '✓'; }
.nd-redesign .school-sections, .nd-redesign .school-banner { gap: 28px; }
.nd-redesign .school-banner { background: var(--surface); border-color: var(--line); border-radius: 8px; }
.nd-redesign .school-banner h2 { font-size: 25px; }
.nd-redesign .school-banner p, .nd-redesign .school-action span { font-size: 14px; }
.nd-redesign .school-module summary { font-size: 16px; }
.nd-redesign .school-access { background: #1b2319; font-size: 14px; }
.nd-redesign .prompt-card pre { font-family: var(--font); font-size: 14px; }
.nd-redesign .nd-school-overview { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px; align-items: start; margin-top: 20px; }
.nd-redesign .nd-school-visual { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; filter: saturate(.25); }
.nd-redesign .nd-school-overview .school-list { margin-top: 0; }

@media (min-width: 1550px) {
  .nd-redesign .assistant-workspace { grid-template-columns: 200px minmax(0,1fr); }
  .nd-redesign .desk { padding-left: 28px; padding-right: 28px; }
}
@media (max-width: 1150px) {
  .nd-redesign .assistant-workspace { grid-template-columns: 155px minmax(0,1fr); }
  .nd-redesign .chat-library { padding: 22px 10px; }
  .nd-redesign .desk { padding: 25px 16px 18px; }
  .nd-redesign .pane-controls { grid-template-columns: 1fr; }
  .nd-redesign .composer-actions .composer-hint { display: none; }
  .nd-redesign .admin-grid { grid-template-columns: 190px minmax(0,1fr); }
  .nd-redesign .nd-school-overview { grid-template-columns: 1fr; }
  .nd-redesign .nd-school-visual { aspect-ratio: 16/9; max-height: 220px; }
}
@media (max-width: 900px) {
  body.nd-redesign.studio-shell { padding-left: 0; }
  .nd-redesign .studio-sidebar { width: min(280px,calc(100vw - 48px)); }
  .nd-redesign .menu-toggle { width: 40px; height: 40px; min-height: 40px; }
  .nd-redesign .menu-close { width: 36px; height: 36px; }
  .nd-redesign .top { padding: 12px 20px; gap: 12px; }
  .nd-redesign .main, .nd-redesign .admin-page { padding-left: 20px; padding-right: 20px; }
  .nd-redesign .top-context { font-size: 13px; }
  .nd-redesign .top-context small { display: none; }
}
@media (max-width: 760px) {
  .nd-redesign .assistant-workspace { display: block; }
  .nd-redesign .chat-library { padding: 18px 20px; grid-template-columns: minmax(0,1fr) auto; }
  .nd-redesign .library-title { display: none; }
  .nd-redesign .library-heading { margin: 0; }
  .nd-redesign .chat-library > .button { min-height: 40px; }
  .nd-redesign .conversation-list { max-height: 130px; }
  .nd-redesign .conversation-item { min-width: 190px; }
  .nd-redesign .desk { padding: 24px 20px 18px; }
  .nd-redesign .desk-heading h1 { font-size: 28px; }
  .nd-redesign .chat-panes { grid-template-columns: 1fr; gap: 22px; }
  .nd-redesign .chat-pane { min-height: 580px; height: 680px; }
  .nd-redesign .pane-controls { grid-template-columns: 1fr 1fr; }
  .nd-redesign .admin-grid, .nd-redesign .preset-section, .nd-redesign .admin-fields { grid-template-columns: 1fr; }
  .nd-redesign .admin-fields .wide { grid-column: auto; }
  .nd-redesign .admin-intro { display: block; }
  .nd-redesign .admin-intro > .button { margin-top: 16px; }
  .nd-redesign .plans, .nd-redesign .nd-capabilities { grid-template-columns: 1fr; }
  .nd-redesign .nd-capability { border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 20px; }
  .nd-redesign .nd-home-intro h1 { font-size: 34px; }
  .nd-redesign .nd-home-media { height: 230px; }
  .nd-redesign .school-hero, .nd-redesign .school-sections { grid-template-columns: 1fr; }
  .nd-redesign .school-price { font-size: 34px; }
  .nd-redesign .nai-pricing-intro { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .nd-redesign .top { padding: 12px 16px; gap: 8px; }
  .nd-redesign .top-context { max-width: 96px; }
  .nd-redesign .top .userbar { gap: 6px; }
  .nd-redesign .top .btn.small { padding: 8px; min-height: 38px; font-size: 12px; }
  .nd-redesign .wallet { font-size: 12px; padding: 6px; }
  .nd-redesign .main, .nd-redesign .admin-page { padding: 24px 16px 42px; }
  .nd-redesign h1, .nd-redesign .admin-intro h1, .nd-redesign .school-hero h1 { font-size: 28px; }
  .nd-redesign .nd-home-intro h1 { font-size: 32px; }
  .nd-redesign .desk { padding-left: 16px; padding-right: 16px; }
  .nd-redesign .desk-heading h1 { font-size: 28px; }
  .nd-redesign .pane-controls { grid-template-columns: 1fr; }
  .nd-redesign .pane-title { font-size: 15px; }
  .nd-redesign .pane-top, .nd-redesign .pane-controls, .nd-redesign .pane-composer { padding-left: 12px; padding-right: 12px; }
  .nd-redesign .footer { padding-left: 16px; padding-right: 16px; font-size: 12px; }
  .nd-redesign .nai-pricing-dialog { padding: 20px; }
  .nd-redesign .nai-pricing-head { top: -20px; margin: -20px -20px 18px; padding: 20px 20px 16px; }
  .nd-redesign .nai-pricing-head h2 { font-size: 25px; }
  .nd-redesign .nai-price-card { padding: 21px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .nd-redesign *, .nd-redesign *::before, .nd-redesign *::after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
}


/* Owned media precedes the existing generation history. */
.nd-redesign .page-heading h1 em { color: var(--text); }
.nd-redesign .nd-media-tools { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.nd-redesign .nd-media-tools h2 { font-size: 20px; margin: 0; }
.nd-redesign .nd-media-tools .actions { display: flex; gap: 10px; flex-wrap: wrap; }
.nd-redesign .nd-media-filters { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 22px; }
.nd-redesign .nd-media-source { display: flex; align-items: center; gap: 10px; }
.nd-redesign .nd-media-source select { width: 180px; }
.nd-redesign .nd-media-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.nd-redesign .nd-media-item { min-width: 0; }
.nd-redesign .nd-media-preview { aspect-ratio: 16/9; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.nd-redesign .nd-media-preview img, .nd-redesign .nd-media-preview video { display: block; width: 100%; height: 100%; object-fit: contain; background: #101511; }
.nd-redesign .nd-media-item h3 { margin: 13px 0 6px; font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.nd-redesign .nd-media-item > p { font-size: 13px; color: var(--muted); margin-bottom: 14px; }
.nd-redesign .nd-media-item .actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.nd-redesign .nd-media-item .btn.small { padding: 7px 10px; min-height: 38px; font-size: 12px; }
.nd-redesign .nd-media-download { font-size: 13px; min-height: 38px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 4px; padding: 6px 4px; }
.nd-redesign .nd-audio-preview { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 15px; height: 100%; padding: 20px 12px; }
.nd-redesign .nd-audio-preview > span { font-size: 30px; color: var(--muted); }
.nd-redesign .nd-audio-preview audio { width: 100%; max-width: 100%; height: 42px; }
.nd-redesign .nd-gallery-drop { width: 100%; margin: 30px 0 16px; padding: 24px; display: flex; flex-direction: column; align-items: center; gap: 8px; background: transparent; border: 1px dashed var(--line-light); border-radius: 8px; color: var(--text); font-family: var(--font); }
.nd-redesign .nd-gallery-drop > span:first-child { font-size: 27px; }
.nd-redesign .nd-gallery-drop strong { font-size: 15px; font-weight: 500; }
.nd-redesign .nd-gallery-drop > span:last-child { font-size: 13px; color: var(--muted); }
.nd-redesign .nd-gallery-drop.dragging { background: #1a2417; border-color: var(--lime); }
.nd-redesign .nd-media-quota { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--muted); padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.nd-redesign .nd-media-quota a { text-decoration: underline; text-underline-offset: 4px; }
.nd-redesign .nd-history-title { margin-top: 30px; }
.nd-redesign .nd-history-title h2 { margin-bottom: 7px; }
.nd-redesign .nd-history-title p { color: var(--muted); font-size: 14px; }
.nd-redesign .gallery { gap: 20px; }
.nd-redesign .job { border-radius: 8px; background: var(--surface); }
.nd-redesign .job-status, .nd-redesign .job-prompt { font-size: 14px; }
.nd-redesign .job .actions { gap: 8px; }
.nd-redesign .job .actions .btn.small { font-size: 12px; min-height: 38px; }
.nd-redesign .nd-market-note { border: 1px solid var(--line); border-radius: 8px; padding: 18px 20px; margin-bottom: 26px; background: var(--surface); }
.nd-redesign .nd-market-note strong { font-size: 16px; font-weight: 600; color: var(--lime); }
.nd-redesign .nd-market-note p { color: var(--muted); font-size: 14px; margin: 8px 0 0; overflow-wrap: anywhere; }
.nd-redesign[data-page=assistant-admin] .admin-grid { grid-template-columns: 200px minmax(0,1fr) minmax(260px,.7fr); align-items: start; }
.nd-redesign[data-page=assistant-admin] .preset-section { display: grid; grid-template-columns: 1fr; margin-top: 0; }
@media (max-width: 1300px) {
  .nd-redesign[data-page=assistant-admin] .admin-grid { grid-template-columns: 190px minmax(0,1fr); }
  .nd-redesign[data-page=assistant-admin] .preset-section { grid-column: 1/-1; grid-template-columns: 1fr 1fr; }
  .nd-redesign .nd-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .nd-redesign[data-page=assistant-admin] .admin-grid, .nd-redesign[data-page=assistant-admin] .preset-section { grid-template-columns: 1fr; }
  .nd-redesign .nd-media-tools { align-items: flex-start; flex-direction: column; }
  .nd-redesign .nd-media-filters { align-items: flex-start; flex-direction: column; }
  .nd-redesign .nd-media-source { width: 100%; justify-content: space-between; }
  .nd-redesign .nd-media-grid { grid-template-columns: 1fr; gap: 28px; }
  .nd-redesign .nd-gallery-drop { padding: 24px 15px; text-align: center; }
}


/* Editor polish; media/canvas/audio implementations remain owned by root. */
.nd-redesign .editor-heading { align-items: flex-start; gap: 20px; margin-bottom: 23px; }
.nd-redesign .editor-heading h1 { margin-top: 0; }
.nd-redesign .editor-heading p { color: var(--muted); font-size: 15px; }
.nd-redesign .editor-tabs { gap: 14px; border-color: var(--line); margin-bottom: 25px; }
.nd-redesign .editor-tab { min-height: 44px; font-size: 15px; padding: 10px 18px 12px; }
.nd-redesign .upscale-workspace { grid-template-columns: minmax(0,1.8fr) minmax(280px,1fr); gap: 26px; }
.nd-redesign .upscale-source { padding: 0; border: 0; border-radius: 0; background: transparent; }
.nd-redesign .upscale-source-head h2 { font-size: 20px; }
.nd-redesign .upscale-player { border-color: var(--line); border-radius: 8px; background: #101511; font-size: 14px; }
.nd-redesign .upscale-meta, .nd-redesign .upscale-source details { font-size: 14px; }
.nd-redesign .upscale-prompt { color: var(--muted); font-size: 14px; line-height: 1.6; }
.nd-redesign .upscale-settings { padding: 4px 0 8px 26px; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; }
.nd-redesign .upscale-settings h2 { font-size: 23px; }
.nd-redesign .upscale-settings .eyebrow { color: var(--muted); font-size: 11px; margin-bottom: 10px; }
.nd-redesign .upscale-settings > p, .nd-redesign .upscale-connection { font-size: 14px; }
.nd-redesign .upscale-connection { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 18px; margin-top: 24px; }
.nd-redesign .upscale-connection strong { font-size: 15px; font-weight: 600; }
.nd-redesign .upscale-connection p { font-size: 14px; line-height: 1.6; margin: 9px 0 0; }
.nd-redesign .upscale-settings > small { font-size: 13px; line-height: 1.6; }
.nd-redesign .upscale-settings > button:disabled { background: #2a312b; color: #9ca69d; border-color: #2a312b; opacity: 1; cursor: not-allowed; }
.nd-redesign .audio-source { padding: 24px; }
.nd-redesign .audio-source > span { color: var(--muted); font-size: 36px; }
@media (max-width: 1100px) {
  .nd-redesign .upscale-workspace { grid-template-columns: 1fr; }
  .nd-redesign .upscale-settings { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; }
}
@media (max-width: 500px) {
  .nd-redesign .editor-heading { display: block; }
  .nd-redesign .editor-heading > .btn { margin-top: 16px; }
  .nd-redesign .editor-tab { padding: 10px 15px 12px; }
  .nd-redesign .upscale-source-head .btn { font-size: 13px; }
  .nd-redesign .photo-overlay { padding: 8px; }
}

