/*
 * KRAKEN:OS true-midnight theme.
 *
 * This file intentionally loads last. Earlier visual packages keep their
 * light-theme design, while this layer removes the blue/navy cast from every
 * dark structural surface. Product and module colors remain accents only.
 */

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #050506;
  --surface: #0b0b0d;
  --surface-2: #121214;
  --surface-3: #18181b;
  --text: #f4f4f5;
  --ink: #fafafa;
  --muted: #a1a1aa;
  --subtle: #71717a;
  --line: #29292e;
  --line-soft: #202024;
  --primary: #7da2ff;
  --primary-strong: #a1baff;
  --deep-navy: #f4f4f5;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.48);
  --glass-surface: #0b0b0d;
  --glass-surface-strong: #101012;
  --glass-surface-soft: #151518;
  --glass-border: #2b2b31;
  --glass-line: #222226;
  --glass-highlight: rgba(255, 255, 255, 0.035);
  --glass-shadow: 0 24px 72px rgba(0, 0, 0, 0.58);
  --glass-shadow-soft: 0 12px 36px rgba(0, 0, 0, 0.42);
  --input-bg: #111113;
}

html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] .layout,
html[data-theme="dark"] .layout.os-layout-v10,
html[data-theme="dark"] .layout.os-layout-v10 > .main {
  background:
    radial-gradient(circle at 14% -12%, rgba(84, 117, 210, 0.075), transparent 30%),
    linear-gradient(180deg, #080809 0%, #050506 100%),
    #050506;
  color: var(--text);
}

/* Shell and work surfaces */
html[data-theme="dark"] .layout.os-layout-v10 > .sidebar,
html[data-theme="dark"] .layout.os-layout-v10 :is(
  .topbar,
  .workspace-chrome,
  .workspace-tabs,
  .brand-lockup,
  .nav-footer,
  .page-header,
  .panel,
  .table-shell,
  .data-table,
  .task-column,
  .task-card,
  .task-card-premium,
  .calendar-side-card,
  .calendar-day,
  .dashboss-section,
  .dashboss-card,
  .dashboss-calendar-strip,
  .dashboss-next-flow,
  .dashboss-deep-dive,
  .dashboss-operating-tools,
  .dashboss-toolbar,
  .report-window-rail,
  .report-window-main,
  .settings-window
) {
  border-color: var(--line);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow-soft);
}

html[data-theme="dark"] .layout.os-layout-v10 :is(
  .workspace-tab,
  .workspace-tab-close,
  .workspace-tab-add,
  .workspace-tab-menu,
  .workspace-split-pane,
  .workspace-split-pane-head,
  .advanced-condition-row,
  .filter-logic-toggle label,
  .module-report-visuals article,
  .module-report-kpi,
  .report-builder-panel,
  .report-builder-fields,
  .report-builder-fields label,
  .mini-action-list button,
  .nav-search-panel,
  .nav-search-clear,
  .people-picker,
  .person-chip,
  .definition-modal,
  .mention-menu,
  .definition-values,
  .report-view-badges span,
  .qa-access-panel,
  .qa-credentials-tray,
  .license-control-card,
  .qa-credential-list article,
  .qa-credential-list code
) {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--text);
}

html[data-theme="dark"] .layout.os-layout-v10 .workspace-tab.active {
  border-color: color-mix(in srgb, var(--primary) 45%, var(--line));
  background: color-mix(in srgb, var(--primary) 10%, var(--surface-2));
}

html[data-theme="dark"] .layout.os-layout-v10 :is(
  .global-search,
  .nav-search-field,
  .profile-chip,
  .workspace-pill,
  .language-switch,
  .theme-switch,
  .field input,
  .field select,
  .field textarea,
  .search-input,
  .filter-select,
  .column-filter-input,
  .column-filter-operator
) {
  border-color: var(--line);
  background: #111113;
  color: var(--text);
}

html[data-theme="dark"] select,
html[data-theme="dark"] select option,
html[data-theme="dark"] select optgroup {
  color-scheme: dark;
  color: var(--text);
  background-color: #111113;
}

html[data-theme="dark"] select:focus-visible {
  border-color: color-mix(in srgb, var(--primary) 76%, var(--line));
  outline-color: color-mix(in srgb, var(--primary) 72%, transparent);
}

html[data-theme="dark"] select option:checked {
  color: #fff;
  background: #334f98 linear-gradient(0deg, #334f98, #334f98);
}

/* Tables, reports, dashboard and task workspaces */
html[data-theme="dark"] :is(
  .data-table th,
  .data-table .column-filter-row th,
  .module-report-card,
  .report-category-card,
  .task-column.is-empty,
  .kanban-empty-drop,
  .workflow-column-summary,
  .report-item-button,
  .client-account-card,
  .marketing-profile-card,
  .reconciliation-card,
  .task-activity-panel,
  .task-activity-filters,
  .task-activity-event
) {
  border-color: var(--line);
  background: var(--surface-2);
}

html[data-theme="dark"] :is(
  .module-reports-panel,
  .report-view-banner,
  .payment-context-card,
  .task-board-organizer,
  .task-board-kanban.is-lane-focused .task-card-premium
) {
  border-color: var(--line);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--primary) 5%, transparent), transparent 45%),
    var(--surface);
}

html[data-theme="dark"] :is(
  .report-item-button:hover,
  .report-item-button.active,
  .data-table tbody tr:hover,
  .search-result,
  .calendar-row,
  .timeline-item,
  .list-row
) {
  background: #17171a;
}

html[data-theme="dark"] :is(
  .dashboss-line-chart svg,
  .dashboss-brain-map,
  .dashboss-donut-wrap,
  .dashboss-donut-stage
) {
  border-color: var(--line);
  background: #0f0f11;
}

html[data-theme="dark"] :is(.dashboss-donut-stage::before, .dashboss-brand-row) {
  border-color: var(--line);
}

html[data-theme="dark"] :is(.dashboss-donut::after, .dashboss-gauge::after) {
  background: var(--surface);
}

html[data-theme="dark"] .task-lite-card,
html[data-theme="dark"] .task-lite-title-row input,
html[data-theme="dark"] .task-experience-switch button.active {
  border-color: var(--line);
  background: #151517;
}

html[data-theme="dark"] .task-lite-create {
  background: linear-gradient(135deg, rgba(234, 88, 12, 0.13), #151517 72%);
}

/* Records, notifications and feedback */
html[data-theme="dark"] :is(
  .record-controller-content,
  .record-window-shelf button
) {
  border-color: color-mix(in srgb, var(--module-color, var(--primary)) 24%, var(--line));
  background: color-mix(in srgb, var(--module-color, var(--primary)) 3%, #0a0a0c);
}

html[data-theme="dark"] :is(
  .record-window-body,
  .record-window-detail,
  .record-window-detail > .panel-header
) {
  background: #0e0e10;
}

html[data-theme="dark"] .notification-center {
  border-color: var(--line);
  background: #0d0d0f;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.64);
}

html[data-theme="dark"] .notification-center-head {
  background:
    radial-gradient(circle at top right, rgba(98, 130, 225, 0.09), transparent 52%),
    #0d0d0f;
}

html[data-theme="dark"] .notification-badge {
  border-color: #09090a;
}

html[data-theme="dark"] .current-time-chip {
  border-color: color-mix(in srgb, var(--primary) 28%, var(--line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, transparent), transparent),
    #101012;
}

html[data-theme="dark"] .toast {
  border-color: color-mix(in srgb, var(--primary) 35%, var(--line));
  background: #111113;
  color: var(--text);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.58);
}

/* AURA keeps its edge-light identity without turning the whole panel blue. */
html[data-theme="dark"] .ai-quick-panel {
  border-color: color-mix(in srgb, var(--primary) 32%, var(--line));
  background: #09090b;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.68);
}

html[data-theme="dark"] :is(.ai-quick-head, .ai-quick-form) {
  border-color: var(--line);
  background:
    radial-gradient(circle at 10% 0%, rgba(98, 130, 225, 0.08), transparent 38%),
    #0d0d0f;
}

html[data-theme="dark"] :is(.ai-quick-form textarea, .ai-ask-form-product textarea) {
  border-color: var(--line);
  background: #08080a;
  color: var(--text);
}

html[data-theme="dark"] :is(
  .ai-command-panel,
  .ai-action-rail,
  .ai-queue-item,
  .ai-insight,
  .ai-answer,
  .ai-action-result,
  .ai-history-item,
  .ai-training-drawer,
  .ai-system-details
) {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--text);
}

html[data-theme="dark"] .ai-action-rail-head {
  border-color: var(--line);
  background: #0f0f11;
}

/* PMS: neutral midnight foundation, Kraken-blue controls only. */
:root[data-theme="dark"] .pms-program {
  --pms-ink: #f4f4f5;
  --pms-muted: #a1a1aa;
  --pms-paper: #070708;
  --pms-panel: #101012;
  --pms-line: #29292e;
  --pms-primary: #86a8f2;
  --pms-primary-strong: #a5bdf5;
  --pms-primary-soft: #171b25;
  --pms-night: #080809;
  border-color: var(--pms-line);
  background:
    radial-gradient(circle at 100% 0%, rgba(91, 126, 224, 0.08), transparent 30%),
    linear-gradient(180deg, #0b0b0d, var(--pms-paper));
}

:root[data-theme="dark"] .pms-program-header {
  background:
    radial-gradient(circle at 88% 0%, rgba(68, 108, 225, 0.12), transparent 32%),
    linear-gradient(118deg, #080809, #0d0d0f 58%, #111114);
}

:root[data-theme="dark"] :is(.pms-program-switches, .pms-rail, .pms-guest-directory) {
  border-color: var(--pms-line);
  background: #0d0d0f;
}

:root[data-theme="dark"] :is(
  .pms-panel,
  .pms-kpi,
  .pms-record-card,
  .pms-guest-preferences > div,
  .pms-search-box,
  .pms-tools > button,
  .pms-panel-head button,
  .pms-row-actions button,
  .pms-pagination select,
  .pms-pagination button,
  .pms-field input,
  .pms-field select,
  .pms-field textarea,
  .pms-check,
  .pms-dialog footer button,
  .pms-guest-safety button
) {
  border-color: var(--pms-line);
  background: var(--pms-panel);
  color: var(--pms-ink);
}

:root[data-theme="dark"] :is(.pms-search-box button, .pms-table th, .pms-dialog footer) {
  color: #b4b4bd;
  background: #17171a;
}

:root[data-theme="dark"] .pms-table td,
:root[data-theme="dark"] .pms-guest-card dl div,
:root[data-theme="dark"] .pms-guest-timeline-item {
  color: #d4d4d8;
  border-color: #242428;
}

:root[data-theme="dark"] .pms-table tbody tr:hover {
  background: #17171a;
}

:root[data-theme="dark"] :is(.pms-dialog, .pms-mobile-sheet) {
  border-color: var(--pms-line);
  background: #0d0d0f;
}

:root[data-theme="dark"] .pms-guest-brief {
  border-color: #303039;
  border-left-color: var(--pms-primary);
  background: linear-gradient(110deg, #17171b, #111113);
}

:root[data-theme="dark"] .pms-mobile-tabs {
  border-top-color: var(--pms-line);
  background: rgba(13, 13, 15, 0.95);
}

:root[data-theme="dark"] :is(.pms-table tr, .pms-record-card) {
  background: #101012;
}

/* Settings/licensing and installed-mobile shell */
html[data-theme="dark"] :is(
  .site-modules-surface,
  .site-module-row,
  .site-modules-summary > span,
  .site-platform-areas,
  .site-modules-search,
  .site-modules-effect
) {
  border-color: var(--line);
  background: var(--surface-2);
}

html[data-theme="dark"] .layout.os-layout-v10 .mobile-app-dock {
  border-color: var(--line);
  background: rgba(12, 12, 14, 0.96);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

@media (prefers-contrast: more) {
  html[data-theme="dark"] {
    --line: #3f3f46;
    --line-soft: #323238;
    --muted: #b8b8c0;
  }
}
