/* Shared theme tokens. The saved choice is applied before the page is painted. */
.coverweb-modern {
  --cw-hover: #130063;
  --cw-hover-text: #ffffff;
  --cw-link: #a5e9e4;
  --cw-focus: #9ee8d8;
}
.coverweb-modern #site-network-background {
  opacity: 0.8;
}
.coverweb-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--cw-border);
  border-radius: 8px;
  background: var(--cw-raised);
  color: var(--cw-text);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
}
.coverweb-theme-toggle:hover {
  background: var(--cw-hover);
  color: var(--cw-hover-text);
}
.coverweb-modern :is(a, button, input, select, textarea, summary):focus-visible {
  outline-color: var(--cw-focus);
}

[data-bs-theme="light"] .coverweb-modern {
  --cw-surface: #ffffff;
  --cw-raised: #edf2f7;
  --cw-border: #c5d0dc;
  --cw-text: #172b3a;
  --cw-muted: #485e70;
  --cw-link: #115e70;
  --cw-focus: #130063;
  --bs-body-color: #172b3a;
  --bs-body-bg: #f3f6fa;
  background: linear-gradient(135deg, #f3f6fa, #e6f2ef);
  color: var(--cw-text);
}
[data-bs-theme="light"] .coverweb-modern #app {
  --bs-link-color: var(--cw-link);
  --bs-link-hover-color: #130063;
  --bs-link-color-rgb: 17, 94, 112;
  --bs-link-hover-color-rgb: 19, 0, 99;
  background: transparent;
}
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-dashboard-shell, .coverweb-panel, .coverweb-empty-state, .coverweb-auth-card, .coverweb-auth-card .card-body, .coverweb-auth-card p, .coverweb-auth-card label, .coverweb-sidebar-link, .coverweb-doc-card, .coverweb-doc-tabs a, .coverweb-doc-subtitle, .coverweb-storage-label) {
  color: var(--cw-text);
}
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-panel, .coverweb-empty-state, .coverweb-auth-card, .coverweb-domain-suggestions, .modal-content, dialog) {
  background: var(--cw-surface);
  border-color: var(--cw-border);
  box-shadow: 0 8px 24px rgba(23, 43, 58, 0.08);
}
.coverweb-modern :is(.coverweb-dashboard-hero, .coverweb-welcome-card, .coverweb-sidebar-desktop, #sidebar) {
  background: linear-gradient(135deg, rgba(7, 24, 39, 0.82), rgba(10, 61, 58, 0.68));
  border: 1px solid rgba(158, 232, 216, 0.28);
  border-radius: var(--cw-radius);
  -webkit-backdrop-filter: blur(10px) saturate(135%);
  backdrop-filter: blur(10px) saturate(135%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 48px rgba(4, 17, 28, 0.2);
}
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-dashboard-hero, .coverweb-welcome-card, .coverweb-sidebar-desktop, #sidebar) {
  color: var(--cw-text);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.68), rgba(204, 236, 227, 0.48) 65%, rgba(220, 214, 244, 0.38));
  border-color: rgba(255, 255, 255, 0.88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), inset 0 -1px 0 rgba(23, 100, 82, 0.12), 0 18px 48px rgba(23, 43, 58, 0.12);
}
.coverweb-modern :is(.coverweb-sidebar-desktop, #sidebar) {
  border-width: 0 1px 0 0;
  border-radius: 0;
}
.coverweb-modern #sidebar :is(.offcanvas-header, .offcanvas-body) {
  background: transparent !important;
  color: var(--cw-text) !important;
}
.coverweb-modern .app-layout.coverweb-welcome-layout {
  display: grid;
  place-items: center;
  min-height: 100svh;
  padding: 32px;
}
.coverweb-welcome-card {
  width: min(800px, 100%);
  padding: clamp(28px, 5vw, 64px);
  text-align: center;
}
.coverweb-welcome-card .coverweb-kicker { justify-content: center; }
.coverweb-modern #app .coverweb-welcome-card h1 {
  margin: 24px 0 16px;
  font-size: clamp(2rem, 4vw, 3.5rem);
  letter-spacing: -0.04em;
  text-wrap: balance;
}
.coverweb-welcome-card p {
  max-width: 32rem;
  margin: 0 auto;
  color: var(--cw-muted);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  line-height: 1.65;
  text-wrap: balance;
}
.coverweb-welcome-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
}
.coverweb-welcome-actions .btn { min-height: 46px; }
@media (max-width: 991.98px) {
  .coverweb-modern .app-layout.coverweb-welcome-layout {
    padding: 124px 20px 24px;
  }
}
@media (max-width: 420px) {
  .coverweb-welcome-actions { flex-direction: column; }
}
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-account-chip, .coverweb-sidebar-user, .coverweb-table-scroll, .coverweb-note, .coverweb-dashboard-tabs a, .coverweb-email-tabs [role="tab"], .coverweb-action-button-ghost, .coverweb-mini-action:not(.coverweb-mini-action-primary), .coverweb-doc-tabs a, .coverweb-icon-button) {
  color: var(--cw-text);
  background: var(--cw-raised);
  border-color: var(--cw-border);
}
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-kicker, .coverweb-sidebar-section) { color: #176452; }
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-account-chip small, .coverweb-muted-line, .coverweb-domain-group > span:first-child, .coverweb-doc-card small, .coverweb-empty-state p) { color: var(--cw-muted); }
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-data-table a, .coverweb-domain-link) { color: var(--cw-link); }
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-dashboard-tabs a.active, .coverweb-sidebar-link.active, .coverweb-doc-tabs a.active) {
  color: #061827;
  background: var(--cw-accent);
  border-color: #458777;
}
[data-bs-theme="light"] .coverweb-modern .coverweb-email-tabs [aria-selected="true"] {
  color: #130063;
  background: #e9e4f8;
  border-bottom-color: #130063;
}
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-email-tabs, .coverweb-domain-group) { border-color: var(--cw-border); }
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-status-pill, .coverweb-metric-row span) { color: #244b50; background: #e6f2ef; border-color: #9cbdb5; }
[data-bs-theme="light"] .coverweb-modern .coverweb-status-pill.warning { color: #684400; background: #fff1c7; }
[data-bs-theme="light"] .coverweb-modern .coverweb-status-pill.danger { color: #8d1b28; background: #fce7e9; }
[data-bs-theme="light"] .coverweb-modern #app :is(.form-control, .form-select, .dt-input),
[data-bs-theme="light"] .coverweb-modern .modal-content :is(.form-control, .form-select) {
  background-color: #ffffff;
  color: var(--cw-text);
  border-color: #8295a7;
}
[data-bs-theme="light"] .coverweb-modern #app :is(.form-control, .form-select):focus { border-color: #130063; box-shadow: 0 0 0 3px rgba(19,0,99,0.15); }
[data-bs-theme="light"] .coverweb-modern #app input::placeholder,
[data-bs-theme="light"] .coverweb-modern #app textarea::placeholder { color: #526879; }
[data-bs-theme="light"] .coverweb-modern :is(.form-select, .dt-input) option { background: #ffffff; color: #172b3a; }
[data-bs-theme="light"] .coverweb-modern #app .table {
  --bs-table-color: #172b3a;
  --bs-table-border-color: #c5d0dc;
  --bs-table-striped-bg: #edf2f7;
  --bs-table-striped-color: #172b3a;
  color: var(--cw-text);
}
[data-bs-theme="light"] .coverweb-modern #app .table thead { background: #e2ecef !important; }
[data-bs-theme="light"] .coverweb-modern #app .table thead th { color: #294b55; background: #e2ecef; }
[data-bs-theme="light"] .coverweb-modern #app :is(.coverweb-domain-summary, .tab-content) { background: var(--cw-surface); color: var(--cw-text); }
[data-bs-theme="light"] .coverweb-modern #app .coverweb-domain-summary .text-muted { color: var(--cw-muted) !important; }
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-storage-progress, .progress) { background-color: #d6e0e8; }
[data-bs-theme="light"] .coverweb-modern #app .invalid-feedback { color: #a31c30 !important; }
[data-bs-theme="light"] .coverweb-modern :is(.btn-dark, .btn-secondary, .btn-outline-secondary, .btn-outline-primary, .btn-outline-info, .btn-outline-success) {
  --bs-btn-bg: #edf2f7;
  --bs-btn-color: #172b3a;
  --bs-btn-border-color: #8295a7;
  --bs-btn-hover-bg: #130063;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-border-color: #130063;
}
[data-bs-theme="light"] .coverweb-modern #app .alert-info { --bs-alert-color: #165366; --bs-alert-bg: #e5f3f8; }
[data-bs-theme="light"] .coverweb-modern #app .alert-success { --bs-alert-color: #17543c; --bs-alert-bg: #e4f4ec; }
[data-bs-theme="light"] .coverweb-modern #app .alert-warning { --bs-alert-color: #684400; --bs-alert-bg: #fff1ce; }
[data-bs-theme="light"] .coverweb-modern #app .alert-danger { --bs-alert-color: #8d1b28; --bs-alert-bg: #fce7e9; }
[data-bs-theme="light"] .coverweb-modern #custom-floating-menu { background: var(--cw-surface) !important; color: var(--cw-text) !important; }
[data-bs-theme="light"] .coverweb-modern #custom-floating-menu a { color: var(--cw-text); }
/* Transparent brand artwork follows the theme without a background tile. */
.coverweb-brand-logo {
  display: block;
  width: 205px;
  max-width: 100%;
  aspect-ratio: 851 / 760;
  margin-inline: auto;
}
.coverweb-brand-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.coverweb-brand-logo .coverweb-brand-logo-light { display: none; }
[data-bs-theme="light"] .coverweb-brand-logo .coverweb-brand-logo-dark { display: none; }
[data-bs-theme="light"] .coverweb-brand-logo .coverweb-brand-logo-light { display: block; }
#landing-logo .coverweb-brand-logo { width: 100%; }
[data-bs-theme="light"] .coverweb-sidebar-nav hr { background: var(--cw-border); }
[data-bs-theme="light"] .coverweb-modern #app :is(.bg-dark, .bg-black) { background-color: var(--cw-raised) !important; color: var(--cw-text); }
[data-bs-theme="light"] .coverweb-modern #app .text-white:not(.badge):not(.btn):not(.progress-bar) { color: var(--cw-text) !important; }
[data-bs-theme="light"] .coverweb-modern .coverweb-auth-card :is(.btn-light, .btn-link) {
  color: #172b3a;
  background: #edf2f7;
  border-color: #8295a7;
}
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-doc-list > div, .coverweb-ui-docs-item, .coverweb-ui-docs-folder summary, .coverweb-ui-docs-file, .coverweb-ui-docs-chip, .coverweb-ui-docs-empty-chip, .coverweb-erd-legend, .coverweb-erd-legend-grid > div, .coverweb-erd-options label) {
  color: var(--cw-text);
  background: var(--cw-raised);
  border-color: var(--cw-border);
}
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-ui-docs-folder-label strong, .coverweb-ui-docs-file-copy strong, .coverweb-ui-docs-meta-grid strong, .coverweb-feature-doc-summary, .coverweb-feature-doc-list li, .coverweb-erd-legend summary) { color: var(--cw-text); }
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-doc-list span, .coverweb-ui-docs-item span, .coverweb-ui-docs-folder-label small, .coverweb-ui-docs-file-copy small, .coverweb-ui-docs-meta-grid span, .coverweb-ui-docs-chip-group > span, .coverweb-erd-legend-grid span, .coverweb-erd-toolbar label > span) { color: var(--cw-muted); }
[data-bs-theme="light"] .coverweb-modern :is(.coverweb-ui-docs-folder-label i, .coverweb-ui-docs-file-icon, .coverweb-feature-doc-list i) { color: #176452; }
[data-bs-theme="light"] .coverweb-modern .coverweb-ui-docs-folder summary::before { color: #176452; }
[data-bs-theme="light"] .coverweb-modern .coverweb-code-textarea { color: var(--cw-text); background: var(--cw-raised); }

/* Tags use theme surfaces; Bootstrap status badges retain their meaning. */
.coverweb-modern :is(.badge, .coverweb-tld-list > span, .coverweb-selected-domain) {
  --cw-tag-color: var(--cw-text);
  --cw-tag-bg: var(--cw-raised);
  --cw-tag-border: var(--cw-border);
}
.coverweb-modern .badge:is(.bg-primary, .text-bg-primary) {
  --cw-tag-color: #061827;
  --cw-tag-bg: var(--cw-accent);
  --cw-tag-border: #579c8f;
}
.coverweb-modern .badge:is(.bg-success, .text-bg-success) {
  --cw-tag-color: var(--bs-success-text-emphasis);
  --cw-tag-bg: var(--bs-success-bg-subtle);
  --cw-tag-border: var(--bs-success-border-subtle);
}
.coverweb-modern .badge:is(.bg-info, .text-bg-info) {
  --cw-tag-color: var(--bs-info-text-emphasis);
  --cw-tag-bg: var(--bs-info-bg-subtle);
  --cw-tag-border: var(--bs-info-border-subtle);
}
.coverweb-modern .badge:is(.bg-warning, .text-bg-warning) {
  --cw-tag-color: var(--bs-warning-text-emphasis);
  --cw-tag-bg: var(--bs-warning-bg-subtle);
  --cw-tag-border: var(--bs-warning-border-subtle);
}
.coverweb-modern .badge:is(.bg-danger, .text-bg-danger) {
  --cw-tag-color: var(--bs-danger-text-emphasis);
  --cw-tag-bg: var(--bs-danger-bg-subtle);
  --cw-tag-border: var(--bs-danger-border-subtle);
}
/* Override Bootstrap's important background/text utilities as a matched pair. */
.coverweb-modern .badge,
.coverweb-modern #app .badge,
.coverweb-modern :is(.coverweb-tld-list > span, .coverweb-selected-domain) {
  color: var(--cw-tag-color) !important;
  background-color: var(--cw-tag-bg) !important;
  border: 1px solid var(--cw-tag-border) !important;
}
.coverweb-modern .badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.4em;
  --bs-badge-border-radius: 6px;
  line-height: 1.25;
}
.coverweb-modern .coverweb-selected-domain :is(button, i) {
  color: var(--bs-danger-text-emphasis);
}
.coverweb-modern #app :is(a.badge, button.badge):is(:hover, :focus-visible) {
  color: var(--cw-hover-text) !important;
  background-color: var(--cw-hover) !important;
  border-color: #b9b0d9 !important;
}

/* Purple hover is identical in both themes; white text remains readable. */
.coverweb-modern #app .table {
  --bs-table-hover-bg: #130063;
  --bs-table-hover-color: #ffffff;
}
.coverweb-modern #app :is(.table-hover tbody tr:hover, .table-row-hover:hover) {
  background: #130063;
  color: #ffffff;
}
.coverweb-modern #app :is(.table-hover tbody tr:hover, .table-hover tbody tr:focus-within, .table-row-hover:hover) > :is(td, th) {
  --bs-table-bg-state: #130063;
  --bs-table-color-state: #ffffff;
  background-color: #130063;
  color: #ffffff;
}
.coverweb-modern #app :is(.table-hover tbody tr:hover, .table-hover tbody tr:focus-within, .table-row-hover:hover) :is(a:not(.btn):not(.coverweb-mini-action):not(.badge), .text-muted:not(.badge), .text-white:not(.badge), .coverweb-muted-line, .coverweb-storage-label, .coverweb-domain-group > span, .coverweb-status-pill) {
  color: #ffffff !important;
}
.coverweb-modern #app :is(.table-hover tbody tr:hover, .table-hover tbody tr:focus-within, .table-row-hover:hover) :is(.form-control, .form-select) {
  color: #ffffff;
  background-color: #130063;
  border-color: #b9b0d9;
}
.coverweb-modern #app :is(.table-hover tbody tr:hover, .table-hover tbody tr:focus-within, .table-row-hover:hover) input::placeholder { color: #d9d4ed; }
.coverweb-modern #app :is(.table-hover tbody tr:hover, .table-hover tbody tr:focus-within, .table-row-hover:hover) .coverweb-status-pill {
  background: #130063;
  border-color: #b9b0d9;
}
.coverweb-modern #app :is(.table-hover tbody tr:hover, .table-hover tbody tr:focus-within, .table-row-hover:hover) .coverweb-mini-action:not(.coverweb-mini-action-primary) {
  color: #ffffff;
  background: #130063;
  border-color: #b9b0d9;
}
.coverweb-modern :is(.coverweb-dashboard-tabs a, .coverweb-workspace-nav a, .coverweb-sidebar-link, .coverweb-email-tabs [role="tab"], .coverweb-doc-tabs a):hover {
  color: #ffffff !important;
  background: #130063 !important;
  border-color: #b9b0d9;
}
