mirror of
https://github.com/shuaiplus/nodewarden.git
synced 2026-06-20 13:00:39 +00:00
369 lines
12 KiB
CSS
369 lines
12 KiB
CSS
:root[data-theme='dark'] body,
|
|
:root[data-theme='dark'] #root,
|
|
:root[data-theme='dark'] .app-page,
|
|
:root[data-theme='dark'] .auth-page {
|
|
background: var(--bg-accent);
|
|
color: var(--text);
|
|
}
|
|
|
|
:root[data-theme='dark'] h1,
|
|
:root[data-theme='dark'] h2,
|
|
:root[data-theme='dark'] h3,
|
|
:root[data-theme='dark'] h4,
|
|
:root[data-theme='dark'] .brand,
|
|
:root[data-theme='dark'] .mobile-page-title,
|
|
:root[data-theme='dark'] .detail-title,
|
|
:root[data-theme='dark'] .dialog-title,
|
|
:root[data-theme='dark'] .standalone-title,
|
|
:root[data-theme='dark'] .kv-main strong,
|
|
:root[data-theme='dark'] .list-title,
|
|
:root[data-theme='dark'] .sidebar-title,
|
|
:root[data-theme='dark'] .totp-code-name,
|
|
:root[data-theme='dark'] .backup-destination-name,
|
|
:root[data-theme='dark'] .backup-browser-entry,
|
|
:root[data-theme='dark'] .mobile-settings-link,
|
|
:root[data-theme='dark'] .backup-browser-path strong,
|
|
:root[data-theme='dark'] .backup-option-label,
|
|
:root[data-theme='dark'] .sort-menu-item,
|
|
:root[data-theme='dark'] .create-menu-item,
|
|
:root[data-theme='dark'] .tree-btn,
|
|
:root[data-theme='dark'] .folder-add-btn,
|
|
:root[data-theme='dark'] .list-icon-fallback,
|
|
:root[data-theme='dark'] .totp-code-main strong,
|
|
:root[data-theme='dark'] .totp-timer-value {
|
|
color: var(--text);
|
|
}
|
|
|
|
:root[data-theme='dark'] .muted,
|
|
:root[data-theme='dark'] .detail-sub,
|
|
:root[data-theme='dark'] .detail-folder-line,
|
|
:root[data-theme='dark'] .field-help,
|
|
:root[data-theme='dark'] .list-sub,
|
|
:root[data-theme='dark'] .kv-label,
|
|
:root[data-theme='dark'] .standalone-muted,
|
|
:root[data-theme='dark'] .standalone-footer,
|
|
:root[data-theme='dark'] .backup-inline-note,
|
|
:root[data-theme='dark'] .backup-browser-empty,
|
|
:root[data-theme='dark'] .or,
|
|
:root[data-theme='dark'] .mobile-tab,
|
|
:root[data-theme='dark'] .side-link,
|
|
:root[data-theme='dark'] .side-group-trigger,
|
|
:root[data-theme='dark'] .side-sub-link,
|
|
:root[data-theme='dark'] .nav-layout-trigger,
|
|
:root[data-theme='dark'] .user-chip,
|
|
:root[data-theme='dark'] .list-count,
|
|
:root[data-theme='dark'] .totp-code-username,
|
|
:root[data-theme='dark'] .backup-destination-meta,
|
|
:root[data-theme='dark'] .backup-browser-meta,
|
|
:root[data-theme='dark'] .table td::before,
|
|
:root[data-theme='dark'] .backup-recommendation-step,
|
|
:root[data-theme='dark'] .backup-recommendation-inline-note,
|
|
:root[data-theme='dark'] .backup-recommendation-linked-item,
|
|
:root[data-theme='dark'] .backup-inline-suffix,
|
|
:root[data-theme='dark'] .folder-delete-btn,
|
|
:root[data-theme='dark'] .folder-sort-btn,
|
|
:root[data-theme='dark'] .tree-label {
|
|
color: var(--muted);
|
|
}
|
|
|
|
:root[data-theme='dark'] .input,
|
|
:root[data-theme='dark'] .textarea,
|
|
:root[data-theme='dark'] select.input,
|
|
:root[data-theme='dark'] .search-input,
|
|
:root[data-theme='dark'] .dialog input,
|
|
:root[data-theme='dark'] .dialog textarea,
|
|
:root[data-theme='dark'] .dialog select {
|
|
background: var(--panel);
|
|
border-color: var(--line);
|
|
color: var(--text);
|
|
box-shadow: none;
|
|
}
|
|
|
|
:root[data-theme='dark'] .input::placeholder,
|
|
:root[data-theme='dark'] .textarea::placeholder,
|
|
:root[data-theme='dark'] input::placeholder,
|
|
:root[data-theme='dark'] textarea::placeholder {
|
|
color: color-mix(in srgb, var(--muted) 76%, transparent);
|
|
}
|
|
|
|
:root[data-theme='dark'] .input:focus,
|
|
:root[data-theme='dark'] .textarea:focus,
|
|
:root[data-theme='dark'] .search-input:focus,
|
|
:root[data-theme='dark'] .dialog input:focus,
|
|
:root[data-theme='dark'] .dialog textarea:focus,
|
|
:root[data-theme='dark'] .dialog select:focus {
|
|
border-color: color-mix(in srgb, var(--primary) 54%, var(--line));
|
|
background: var(--panel);
|
|
box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);
|
|
}
|
|
|
|
:root[data-theme='dark'] .input-readonly {
|
|
background: var(--panel-muted);
|
|
color: var(--muted-strong);
|
|
}
|
|
|
|
:root[data-theme='dark'] .input:disabled,
|
|
:root[data-theme='dark'] .btn:disabled {
|
|
background: var(--panel-muted);
|
|
border-color: var(--line-soft);
|
|
color: color-mix(in srgb, var(--muted) 62%, transparent);
|
|
}
|
|
|
|
:root[data-theme='dark'] .mobile-sidebar-mask,
|
|
:root[data-theme='dark'] .dialog-mask {
|
|
background: var(--overlay-strong);
|
|
}
|
|
|
|
:root[data-theme='dark'] .toast-item {
|
|
background: var(--panel);
|
|
border-color: var(--line);
|
|
color: var(--text);
|
|
}
|
|
|
|
:root[data-theme='dark'] .toast-item.error,
|
|
:root[data-theme='dark'] .toast-item.warning {
|
|
border-color: color-mix(in srgb, var(--danger) 36%, var(--line));
|
|
background: color-mix(in srgb, var(--danger) 12%, var(--panel));
|
|
color: var(--text);
|
|
}
|
|
|
|
:root[data-theme='dark'] .jwt-warning-head,
|
|
:root[data-theme='dark'] .jwt-warning-label,
|
|
:root[data-theme='dark'] .jwt-warning-copy,
|
|
:root[data-theme='dark'] .jwt-warning-list {
|
|
color: var(--warning);
|
|
}
|
|
|
|
:root[data-theme='dark'] .local-error {
|
|
color: var(--danger);
|
|
}
|
|
|
|
:root[data-theme='dark'] .status-ok {
|
|
color: var(--success);
|
|
}
|
|
|
|
:root[data-theme='dark'] .totp-qr,
|
|
:root[data-theme='dark'] .totp-qr svg,
|
|
:root[data-theme='dark'] .totp-qr img {
|
|
background: #ffffff;
|
|
border-color: rgba(15, 23, 42, 0.12);
|
|
}
|
|
|
|
/* ── dark mode scrollbar ── */
|
|
:root[data-theme='dark'] ::-webkit-scrollbar-thumb {
|
|
background: color-mix(in srgb, var(--muted) 24%, transparent);
|
|
}
|
|
|
|
:root[data-theme='dark'] ::-webkit-scrollbar-thumb:hover {
|
|
background: color-mix(in srgb, var(--muted) 44%, transparent);
|
|
}
|
|
|
|
/* ── dark mode backdrop-filter ── */
|
|
:root[data-theme='dark'] .dialog-mask {
|
|
backdrop-filter: blur(8px) brightness(0.7);
|
|
-webkit-backdrop-filter: blur(8px) brightness(0.7);
|
|
}
|
|
|
|
:root[data-theme='dark'] .topbar {
|
|
background: rgba(17, 24, 39, 0.78);
|
|
backdrop-filter: blur(12px);
|
|
-webkit-backdrop-filter: blur(12px);
|
|
}
|
|
|
|
:root[data-theme='dark'] .user-chip {
|
|
background: color-mix(in srgb, var(--panel) 86%, transparent);
|
|
border-color: var(--line);
|
|
color: var(--text);
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
:root[data-theme='dark'] .user-chip:hover {
|
|
background: var(--panel-subtle);
|
|
border-color: color-mix(in srgb, var(--primary) 24%, var(--line));
|
|
}
|
|
|
|
/* ── dark mode depth ── */
|
|
:root[data-theme='dark'] .card,
|
|
:root[data-theme='dark'] .list-panel,
|
|
:root[data-theme='dark'] .sidebar-block,
|
|
:root[data-theme='dark'] .mobile-sidebar-sheet {
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.20), 0 8px 24px rgba(0, 0, 0, 0.16);
|
|
}
|
|
|
|
:root[data-theme='dark'] .app-shell {
|
|
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.30);
|
|
}
|
|
|
|
:root[data-theme='dark'] .list-item:hover {
|
|
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24), 0 0 0 1px rgba(139, 184, 255, 0.12);
|
|
}
|
|
|
|
:root[data-theme='dark'] .card-brand-icon {
|
|
color: #bfdbfe;
|
|
background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
|
|
border-color: color-mix(in srgb, var(--primary) 30%, var(--line));
|
|
}
|
|
|
|
:root[data-theme='dark'] .card-brand-icon:has(img) {
|
|
background: #fff;
|
|
}
|
|
|
|
:root[data-theme='dark'] .card-brand-american-express {
|
|
color: #fff;
|
|
background: #2563eb;
|
|
}
|
|
|
|
:root[data-theme='dark'] .card-brand-mastercard,
|
|
:root[data-theme='dark'] .card-brand-maestro,
|
|
:root[data-theme='dark'] .card-brand-discover {
|
|
color: #f8fafc;
|
|
}
|
|
|
|
:root[data-theme='dark'] .mobile-sidebar-sheet,
|
|
:root[data-theme='dark'] .mobile-sidebar-close,
|
|
:root[data-theme='dark'] .nav-layout-menu,
|
|
:root[data-theme='dark'] .nav-layout-trigger,
|
|
:root[data-theme='dark'] .table tr,
|
|
:root[data-theme='dark'] .settings-subcard,
|
|
:root[data-theme='dark'] .import-summary-table-wrap,
|
|
:root[data-theme='dark'] .backup-help-bubble,
|
|
:root[data-theme='dark'] .backup-recommendation-card,
|
|
:root[data-theme='dark'] .backup-recommendation-dav-item,
|
|
:root[data-theme='dark'] .backup-recommendations-summary,
|
|
:root[data-theme='dark'] .backup-browser-path,
|
|
:root[data-theme='dark'] .backup-browser-list,
|
|
:root[data-theme='dark'] .restore-progress-card,
|
|
:root[data-theme='dark'] .restore-progress-current,
|
|
:root[data-theme='dark'] .restore-progress-elapsed {
|
|
background: var(--panel);
|
|
border-color: var(--line);
|
|
color: var(--text);
|
|
}
|
|
|
|
:root[data-theme='dark'] .mobile-sidebar-title,
|
|
:root[data-theme='dark'] .import-summary-close,
|
|
:root[data-theme='dark'] .backup-recommendation-group-title,
|
|
:root[data-theme='dark'] .backup-browser-path strong,
|
|
:root[data-theme='dark'] .restore-progress-current strong,
|
|
:root[data-theme='dark'] .custom-field-check span,
|
|
:root[data-theme='dark'] .notes {
|
|
color: var(--text);
|
|
}
|
|
|
|
:root[data-theme='dark'] .backup-help-bubble::before {
|
|
background: var(--panel);
|
|
border-color: var(--line);
|
|
}
|
|
|
|
:root[data-theme='dark'] .mobile-sidebar-close:hover,
|
|
:root[data-theme='dark'] .side-link:hover,
|
|
:root[data-theme='dark'] .side-group-trigger:hover,
|
|
:root[data-theme='dark'] .side-sub-link:hover,
|
|
:root[data-theme='dark'] .nav-layout-trigger:hover,
|
|
:root[data-theme='dark'] .nav-layout-trigger.active,
|
|
:root[data-theme='dark'] .nav-layout-option:hover,
|
|
:root[data-theme='dark'] .nav-layout-option.active,
|
|
:root[data-theme='dark'] .mobile-sidebar-sheet .tree-btn.active,
|
|
:root[data-theme='dark'] .mobile-settings-link.active,
|
|
:root[data-theme='dark'] .backup-destination-item.active,
|
|
:root[data-theme='dark'] .backup-interval-preset.active {
|
|
background: color-mix(in srgb, var(--primary) 14%, var(--panel));
|
|
color: var(--primary-strong);
|
|
}
|
|
|
|
:root[data-theme='dark'] .table td,
|
|
:root[data-theme='dark'] .attachment-row,
|
|
:root[data-theme='dark'] .custom-field-card,
|
|
:root[data-theme='dark'] .kv-line,
|
|
:root[data-theme='dark'] .kv-row,
|
|
:root[data-theme='dark'] .import-summary-table th,
|
|
:root[data-theme='dark'] .import-summary-table td,
|
|
:root[data-theme='dark'] .restore-progress-card,
|
|
:root[data-theme='dark'] .restore-progress-current,
|
|
:root[data-theme='dark'] .restore-progress-elapsed {
|
|
border-color: var(--line);
|
|
}
|
|
|
|
:root[data-theme='dark'] .import-summary-table th {
|
|
background: var(--panel-muted);
|
|
color: var(--muted-strong);
|
|
}
|
|
|
|
:root[data-theme='dark'] .import-summary-failed-list {
|
|
background: color-mix(in srgb, var(--danger) 12%, var(--panel));
|
|
border-color: color-mix(in srgb, var(--danger) 34%, var(--line));
|
|
color: var(--danger);
|
|
}
|
|
|
|
:root[data-theme='dark'] .backup-help-trigger,
|
|
:root[data-theme='dark'] .backup-destination-type,
|
|
:root[data-theme='dark'] .backup-interval-preset,
|
|
:root[data-theme='dark'] .restore-progress-meter {
|
|
background: var(--panel-muted);
|
|
border-color: var(--line);
|
|
color: var(--muted-strong);
|
|
}
|
|
|
|
:root[data-theme='dark'] .backup-destination-item:hover,
|
|
:root[data-theme='dark'] .backup-interval-preset:hover:not(:disabled) {
|
|
background: var(--panel-subtle);
|
|
border-color: color-mix(in srgb, var(--primary) 34%, var(--line));
|
|
color: var(--primary-strong);
|
|
}
|
|
|
|
:root[data-theme='dark'] .backup-help-bubble,
|
|
:root[data-theme='dark'] .backup-recommendation-step,
|
|
:root[data-theme='dark'] .backup-recommendation-inline-note,
|
|
:root[data-theme='dark'] .backup-recommendation-linked-item,
|
|
:root[data-theme='dark'] .backup-browser-meta,
|
|
:root[data-theme='dark'] .backup-browser-empty,
|
|
:root[data-theme='dark'] .backup-inline-note,
|
|
:root[data-theme='dark'] .restore-progress-kicker,
|
|
:root[data-theme='dark'] .restore-progress-subtitle,
|
|
:root[data-theme='dark'] .restore-progress-current p,
|
|
:root[data-theme='dark'] .restore-progress-item,
|
|
:root[data-theme='dark'] .check-line {
|
|
color: var(--muted);
|
|
}
|
|
|
|
:root[data-theme='dark'] .restore-progress-overlay {
|
|
background: var(--overlay-strong);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
}
|
|
|
|
:root[data-theme='dark'] .not-found-code {
|
|
background: color-mix(in srgb, var(--primary) 18%, var(--panel));
|
|
color: var(--primary-strong);
|
|
}
|
|
|
|
:root[data-theme='dark'] .log-detail-head h3,
|
|
:root[data-theme='dark'] .log-row-main strong,
|
|
:root[data-theme='dark'] .log-detail-meta strong,
|
|
:root[data-theme='dark'] .log-detail-json dd,
|
|
:root[data-theme='dark'] .log-detail-json h4,
|
|
:root[data-theme='dark'] .log-pagination-count {
|
|
color: var(--text);
|
|
}
|
|
|
|
:root[data-theme='dark'] .log-row-main small,
|
|
:root[data-theme='dark'] .log-detail-meta span,
|
|
:root[data-theme='dark'] .log-detail-json dt {
|
|
color: var(--muted);
|
|
}
|
|
|
|
:root[data-theme='dark'] .log-row,
|
|
:root[data-theme='dark'] .log-detail-meta > div,
|
|
:root[data-theme='dark'] .log-detail-json dl > div,
|
|
:root[data-theme='dark'] .log-pagination-count {
|
|
background: var(--panel-muted);
|
|
border-color: var(--line);
|
|
color: var(--text);
|
|
}
|
|
|
|
:root[data-theme='dark'] .log-row:hover,
|
|
:root[data-theme='dark'] .log-row.active {
|
|
background: color-mix(in srgb, var(--primary) 12%, var(--panel));
|
|
border-color: color-mix(in srgb, var(--primary) 34%, var(--line));
|
|
}
|