@import url("appearance.css");
@import url("uley-login.css");

/* «Оформление» → Масштаб: the whole service grows with the Улей setting (1, 1.1 or 1.25). */
html { zoom: var(--uley-zoom, 1); }

body[data-uley-service] .uley-shared-login { display: grid; gap: 12px; margin-top: 16px; }
body[data-uley-service] .uley-shared-login > span { display: flex; align-items: center; gap: 12px; color: var(--uley-text-secondary); font-size: 13px; }
body[data-uley-service] .uley-shared-login > span::before,
body[data-uley-service] .uley-shared-login > span::after { content: ""; height: 1px; flex: 1; background: var(--uley-border); }
body[data-uley-service] .uley-shared-login > a { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 14px; border: 1px solid var(--uley-border); border-radius: var(--uley-radius-sm, 8px); background: var(--uley-accent-soft); color: var(--uley-text); font-size: 14px; font-weight: 500; line-height: 20px; text-decoration: none; }
body[data-uley-service] .uley-shared-login > a::before { content: ""; flex: 0 0 20px; height: 20px; background: var(--uley-accent); mask: url("/uley-brand/icons/hub.svg") center / contain no-repeat; -webkit-mask: url("/uley-brand/icons/hub.svg") center / contain no-repeat; }
body[data-uley-service] .uley-shared-login > a:hover { background: var(--uley-surface-raised); border-color: var(--uley-accent); }
body[data-uley-service] .uley-shared-login > a:focus-visible { outline: 2px solid var(--uley-accent); outline-offset: 3px; }

@layer uley-defaults {
  :root {
    --uley-bg: #17191c;
    --uley-bg-deep: #131518;
    --uley-surface: #1f2226;
    --uley-surface-raised: #262a30;
    --uley-border: #343940;
    --uley-text: #e6e7e9;
    --uley-text-secondary: #a0a6af;
    --uley-text-muted: #88919d;
    --uley-success: #8fbf9b;
    --uley-danger: #e89393;
    --uley-blue: #91b1d8;
    --uley-accent: #dbb66d;
    --uley-accent-hover: #dfbf7f;
    --uley-accent-contrast: #17191c;
    --uley-accent-soft: rgba(219, 182, 109, .14);
    --uley-accent-border: rgba(219, 182, 109, .36);
  }
}

:root {
  color-scheme: dark;
}

:focus-visible {
  outline: 2px solid var(--uley-accent, #dbb66d);
  outline-offset: 2px;
}

:root:has(body[data-uley-service="files"]),
:root:has(#app-config),
:root:has(#app-config) .dark-mode {
  --primaryColor: var(--uley-accent, #dbb66d) !important;
  --blue: var(--uley-blue, #91b1d8);
  --dark-blue: #7798c2;
  --red: var(--uley-danger, #e89393);
  --dark-red: #d47f7f;
  --icon-red: var(--uley-danger, #e89393);
  --icon-orange: #d9a675;
  --icon-yellow: var(--uley-accent, #dbb66d);
  --icon-green: var(--uley-success, #8fbf9b);
  --icon-blue: var(--uley-blue, #91b1d8);
  --icon-violet: #b7a4d7;
  --background: var(--uley-bg, #17191c);
  --alt-background: var(--uley-bg-deep, #131518);
  --surfacePrimary: var(--uley-surface, #1f2226);
  --surfaceSecondary: var(--uley-surface-raised, #262a30);
  --divider: var(--uley-border, #343940);
  --textPrimary: var(--uley-text, #e6e7e9);
  --textSecondary: var(--uley-text-secondary, #a0a6af);
  --iconBackground: var(--uley-bg-deep, #131518);
  --activeWhiteIcon: var(--uley-accent-contrast, #17191c);
  --item-selected: var(--uley-accent, #dbb66d);
}

html:has(body[data-uley-service="files"]) {
  color-scheme: dark;
}

body[data-uley-service="files"] {
  background: var(--uley-bg, #17191c);
  color: var(--uley-text, #e6e7e9);
}

body[data-uley-service="files"] ::selection {
  background: var(--uley-accent-soft, rgba(219, 182, 109, 0.2));
}

body[data-uley-service="files"] .release-banner { color: var(--uley-accent-contrast, #17191c); }

body[data-uley-service="files"] :focus-visible {
  outline-color: var(--uley-accent, #dbb66d);
}

body[data-uley-service="files"] button:not([role="switch"]):not([type="checkbox"]):not([type="radio"]),
body[data-uley-service="files"] input:not([type="checkbox"]):not([type="radio"]),
body[data-uley-service="files"] select,
body[data-uley-service="files"] textarea {
  border-radius: calc(var(--uley-radius, 12px) - 2px);
}

:root:has(> body > #uley-code-root),
:root:has(body[data-uley-service="code"]) {
  --border-radius: var(--uley-radius-sm, 8px);
  --border-radius-medium: var(--uley-radius, 12px);
  --border-radius-large: calc(var(--uley-radius, 12px) + 4px);
  --color-primary: var(--uley-accent, #dbb66d);
  --color-primary-contrast: var(--uley-accent-contrast, #17191c);
  --color-primary-hover: var(--uley-accent-hover, #e8c887);
  --color-primary-dark-1: var(--uley-accent-dark-1, #c8a45f);
  --color-primary-dark-2: var(--uley-accent-dark-2, #b69253);
  --color-primary-dark-3: var(--uley-accent-dark-3, #a48047);
  --color-primary-dark-4: var(--uley-accent-dark-4, #92713d);
  --color-primary-dark-5: var(--uley-accent-dark-5, #806235);
  --color-primary-dark-6: var(--uley-accent-dark-6, #6d532e);
  --color-primary-dark-7: var(--uley-accent-dark-7, #5b4527);
  --color-primary-light-1: var(--uley-accent-light-1, #e0c17d);
  --color-primary-light-2: var(--uley-accent-light-2, #e5cc8d);
  --color-primary-light-3: var(--uley-accent-light-3, #ead79e);
  --color-primary-light-4: var(--uley-accent-light-4, #efe2b0);
  --color-primary-light-5: var(--uley-accent-light-5, #f4edc4);
  --color-primary-light-6: var(--uley-accent-light-6, #f8f4dc);
  --color-primary-light-7: var(--uley-accent-light-7, #fcfaef);
  --color-primary-alpha-10: var(--uley-accent-alpha-10, rgba(219, 182, 109, 0.1));
  --color-primary-alpha-20: var(--uley-accent-alpha-20, rgba(219, 182, 109, 0.2));
  --color-primary-alpha-30: var(--uley-accent-alpha-30, rgba(219, 182, 109, 0.3));
  --color-primary-alpha-40: var(--uley-accent-alpha-40, rgba(219, 182, 109, 0.4));
  --color-primary-alpha-50: var(--uley-accent-alpha-50, rgba(219, 182, 109, 0.5));
  --color-primary-alpha-60: var(--uley-accent-alpha-60, rgba(219, 182, 109, 0.6));
  --color-primary-alpha-70: var(--uley-accent-alpha-70, rgba(219, 182, 109, 0.7));
  --color-primary-alpha-80: var(--uley-accent-alpha-80, rgba(219, 182, 109, 0.8));
  --color-primary-alpha-90: var(--uley-accent-alpha-90, rgba(219, 182, 109, 0.9));
  --color-secondary: var(--uley-surface-raised, #262a30);
  --color-secondary-dark-1: #22262b;
  --color-secondary-dark-2: var(--uley-surface, #1f2226);
  --color-secondary-dark-3: #1b1e22;
  --color-secondary-dark-4: var(--uley-bg, #17191c);
  --color-secondary-dark-5: var(--uley-bg-deep, #131518);
  --color-secondary-light-1: var(--uley-border, #343940);
  --color-secondary-light-2: #41464e;
  --color-secondary-light-3: #50565e;
  --color-secondary-light-4: #60666f;
  --color-red: var(--uley-danger, #e89393);
  --color-green: var(--uley-success, #8fbf9b);
  --color-blue: var(--uley-blue, #91b1d8);
  --color-yellow: var(--uley-accent, #dbb66d);
  --color-error-border: var(--uley-danger, #e89393);
  --color-error-bg: var(--uley-danger, #e89393);
  --color-error-bg-active: #dc8585;
  --color-error-bg-hover: #d47777;
  --color-error-text: var(--uley-accent-contrast, #17191c);
  --color-success-border: var(--uley-success, #8fbf9b);
  --color-success-bg: var(--uley-success, #8fbf9b);
  --color-success-text: var(--uley-accent-contrast, #17191c);
  --color-warning-border: var(--uley-accent, #dbb66d);
  --color-warning-bg: var(--uley-accent, #dbb66d);
  --color-warning-text: var(--uley-accent-contrast, #17191c);
  --color-info-border: var(--uley-blue, #91b1d8);
  --color-info-bg: var(--uley-surface, #1f2226);
  --color-info-text: var(--uley-text, #e6e7e9);
  --color-red-badge: var(--uley-danger, #e89393);
  --color-red-badge-bg: var(--uley-bg-deep, #131518);
  --color-red-badge-hover-bg: #dc8585;
  --color-green-badge: var(--uley-success, #8fbf9b);
  --color-green-badge-bg: var(--uley-success, #8fbf9b);
  --color-green-badge-hover-bg: #a4cbaa;
  --color-yellow-badge: var(--uley-accent, #dbb66d);
  --color-yellow-badge-bg: var(--uley-bg-deep, #131518);
  --color-yellow-badge-hover-bg: var(--uley-accent-hover, #e8c887);
  --color-orange-badge: #d9a675;
  --color-orange-badge-bg: var(--uley-bg-deep, #131518);
  --color-orange-badge-hover-bg: #e2b78e;
  --color-git: var(--uley-accent, #dbb66d);
  --color-highlight-bg: var(--uley-accent-soft, rgba(219, 182, 109, 0.16));
  --color-diff-removed-word-bg: rgba(232, 147, 147, 0.18);
  --color-diff-added-word-bg: rgba(143, 191, 155, 0.18);
  --color-diff-removed-row-bg: rgba(232, 147, 147, 0.08);
  --color-diff-moved-row-bg: var(--uley-accent-soft, rgba(219, 182, 109, 0.08));
  --color-diff-added-row-bg: rgba(143, 191, 155, 0.08);
  --color-diff-removed-row-border: rgba(232, 147, 147, 0.1);
  --color-diff-moved-row-border: var(--uley-accent-border, rgba(219, 182, 109, 0.1));
  --color-diff-added-row-border: rgba(143, 191, 155, 0.1);
  --color-diff-inactive: var(--uley-text-muted, #88919d);
  --color-body: var(--uley-bg, #17191c);
  --color-box-header: var(--uley-surface, #1f2226);
  --color-box-body: var(--uley-surface, #1f2226);
  --color-box-body-highlight: var(--uley-surface-raised, #262a30);
  --color-text-dark: var(--uley-text-secondary, #a0a6af);
  --color-text: var(--uley-text, #e6e7e9);
  --color-text-light: #c5c9ce;
  --color-text-light-1: #b5bac1;
  --color-text-light-2: var(--uley-text-secondary, #a0a6af);
  --color-text-light-3: var(--uley-text-muted, #88919d);
  --color-footer: var(--uley-bg-deep, #131518);
  --color-timeline: var(--uley-border, #343940);
  --color-input-text: var(--uley-text, #e6e7e9);
  --color-input-background: var(--uley-bg-deep, #131518);
  --color-input-toggle-background: var(--uley-surface-raised, #262a30);
  --color-input-border: var(--uley-border, #343940);
  --color-input-border-hover: #50565e;
  --color-nav-bg: var(--uley-surface, #1f2226);
  --color-nav-hover-bg: var(--uley-accent-soft, rgba(219, 182, 109, 0.12));
  --color-navbar: var(--uley-surface, #1f2226);
  --color-navbar-transparent: rgba(31, 34, 38, 0);
  --color-light: rgba(160, 166, 175, 0.08);
  --color-light-border: var(--uley-border, #343940);
  --color-hover: var(--uley-accent-soft, rgba(219, 182, 109, 0.1));
  --color-active: var(--uley-accent-soft, rgba(219, 182, 109, 0.16));
  --color-menu: var(--uley-surface-raised, #262a30);
  --color-card: var(--uley-surface, #1f2226);
  --color-markup-table-row: rgba(230, 231, 233, 0.025);
  --color-markup-code-block: rgba(230, 231, 233, 0.045);
  --color-markup-code-inline: var(--uley-surface-raised, #262a30);
  --color-button: var(--uley-surface-raised, #262a30);
  --color-code-bg: var(--uley-bg-deep, #131518);
  --color-code-sidebar-bg: var(--uley-surface, #1f2226);
  --color-shadow: rgba(0, 0, 0, 0.24);
  --color-tooltip-bg: var(--uley-surface-raised, #262a30);
  --color-tooltip-text: var(--uley-text, #e6e7e9);
  --color-secondary-bg: var(--uley-surface-raised, #262a30);
  --color-text-focus: var(--uley-text, #e6e7e9);
  --color-expand-button: var(--uley-text-muted, #88919d);
  --color-placeholder-text: var(--uley-text-muted, #88919d);
  --color-editor-line-highlight: var(--uley-accent-light-5, #f4edc4);
  --color-project-board-bg: var(--uley-surface-raised, #262a30);
  --color-caret: var(--uley-text, #e6e7e9);
  --color-reaction-bg: rgba(230, 231, 233, 0.07);
  --color-reaction-active-bg: var(--uley-accent-alpha-40, rgba(219, 182, 109, 0.4));
  --color-header-wrapper: var(--uley-surface, #1f2226);
  --color-header-wrapper-transparent: rgba(31, 34, 38, 0);
  --color-label-text: var(--uley-accent-contrast, #17191c);
  --color-label-bg: var(--uley-accent, #dbb66d);
  --color-label-hover-bg: var(--uley-accent-hover, #e8c887);
  --color-label-active-bg: var(--uley-accent-dark-1, #c8a45f);
  --color-accent: var(--uley-accent-light-1, #e0c17d);
  --color-small-accent: var(--uley-accent-light-5, #f4edc4);
  --color-active-line: var(--uley-border, #343940);
}

body:is([data-uley-service="code"], :has(> #uley-code-root)) {
  background: var(--uley-bg, #17191c);
  color: var(--uley-text, #e6e7e9);
}

body:is([data-uley-service="code"], :has(> #uley-code-root)) :focus-visible {
  outline-color: var(--uley-accent, #dbb66d);
}

html:root:has(body[data-uley-service="backups"]) {
  color-scheme: dark;
  --chakra-colors-bg: var(--uley-bg, #17191c) !important;
  --chakra-colors-bg-subtle: var(--uley-surface, #1f2226) !important;
  --chakra-colors-bg-panel: var(--uley-surface, #1f2226) !important;
  --chakra-colors-bg-muted: var(--uley-surface-raised, #262a30) !important;
  --chakra-colors-bg-emphasized: var(--uley-border, #343940) !important;
  --chakra-colors-bg-inverted: var(--uley-accent, #dbb66d) !important;
  --chakra-colors-bg-error: rgba(232, 147, 147, 0.12) !important;
  --chakra-colors-bg-warning: var(--uley-accent-soft, rgba(219, 182, 109, 0.12)) !important;
  --chakra-colors-bg-success: rgba(143, 191, 155, 0.12) !important;
  --chakra-colors-bg-info: rgba(145, 177, 216, 0.12) !important;
  --chakra-colors-fg: var(--uley-text, #e6e7e9) !important;
  --chakra-colors-fg-muted: var(--uley-text-secondary, #a0a6af) !important;
  --chakra-colors-fg-subtle: var(--uley-text-muted, #88919d) !important;
  --chakra-colors-fg-inverted: var(--uley-accent-contrast, #17191c) !important;
  --chakra-colors-fg-error: #e89393 !important;
  --chakra-colors-fg-warning: var(--uley-accent, #dbb66d) !important;
  --chakra-colors-fg-success: #8fbf9b !important;
  --chakra-colors-fg-info: #91b1d8 !important;
  --chakra-colors-border: var(--uley-border, #343940) !important;
  --chakra-colors-border-muted: var(--uley-border, #343940) !important;
  --chakra-colors-border-subtle: var(--uley-surface-raised, #262a30) !important;
  --chakra-colors-border-emphasized: #50565e !important;
  --chakra-colors-gray-50: var(--uley-text, #e6e7e9) !important;
  --chakra-colors-gray-100: #d2d5d9 !important;
  --chakra-colors-gray-200: #bdc2c8 !important;
  --chakra-colors-gray-300: var(--uley-text-secondary, #a0a6af) !important;
  --chakra-colors-gray-400: var(--uley-text-muted, #88919d) !important;
  --chakra-colors-gray-500: #6f7781 !important;
  --chakra-colors-gray-600: #50565e !important;
  --chakra-colors-gray-700: var(--uley-border, #343940) !important;
  --chakra-colors-gray-800: var(--uley-surface-raised, #262a30) !important;
  --chakra-colors-gray-900: var(--uley-surface, #1f2226) !important;
  --chakra-colors-gray-950: var(--uley-bg-deep, #131518) !important;
  --chakra-colors-gray-fg: var(--uley-text, #e6e7e9) !important;
  --chakra-colors-blue-fg: var(--uley-blue, #91b1d8) !important;
  --chakra-colors-red-fg: var(--uley-danger, #e89393) !important;
  --chakra-colors-green-fg: var(--uley-success, #8fbf9b) !important;
  --chakra-colors-orange-fg: #d9a675 !important;
  --chakra-colors-blue-300: #afc5e3 !important;
  --chakra-colors-blue-400: #91b1d8 !important;
  --chakra-colors-blue-500: #91b1d8 !important;
  --chakra-colors-blue-600: #7798c2 !important;
  --chakra-colors-red-400: #e89393 !important;
  --chakra-colors-red-500: #e89393 !important;
  --chakra-colors-green-400: #8fbf9b !important;
  --chakra-colors-green-500: #8fbf9b !important;
  --chakra-colors-orange-400: #d9a675 !important;
  --chakra-colors-orange-500: #d9a675 !important;
  --chakra-colors-color-palette-solid: var(--uley-accent, #dbb66d) !important;
  --chakra-colors-color-palette-contrast: var(--uley-accent-contrast, #17191c) !important;
  --chakra-colors-color-palette-focus-ring: var(--uley-accent, #dbb66d) !important;
  --chakra-colors-color-palette-border: var(--uley-accent-border, #343940) !important;
}

html:root:has(body[data-uley-service="backups"]) body {
  background: var(--uley-bg, #17191c) !important;
  color: var(--uley-text, #e6e7e9);
}

html:root:has(body[data-uley-service="backups"]) header {
  background: var(--uley-surface, #1f2226) !important;
  border-bottom: 1px solid var(--uley-border, #343940);
}

html:root:has(body[data-uley-service="backups"]) :focus-visible {
  outline-color: var(--uley-accent, #dbb66d);
}

html:root:has(body[data-uley-service="backups"]) button:not([role="switch"]):not([type="checkbox"]):not([type="radio"]),
html:root:has(body[data-uley-service="backups"]) input:not([type="checkbox"]):not([type="radio"]),
html:root:has(body[data-uley-service="backups"]) select,
html:root:has(body[data-uley-service="backups"]) textarea {
  border-radius: calc(var(--uley-radius, 12px) - 2px);
}

html:root:has(body[data-uley-service="server"]) {
  color-scheme: dark;
  --pf-t--global--color--brand--default: var(--uley-accent, #dbb66d);
  --pf-t--global--color--brand--hover: var(--uley-accent-hover, #e8c887);
  --pf-t--global--color--brand--clicked: var(--uley-accent-dark-1, #c8a45f);
  --pf-t--global--text--color--link--default: var(--uley-accent, #dbb66d);
  --pf-t--global--background--color--primary--default: var(--uley-surface, #1f2226);
  --pf-t--global--background--color--secondary--default: var(--uley-surface-raised, #262a30);
  --pf-t--global--text--color--regular: var(--uley-text, #e6e7e9);
  --pf-t--global--text--color--subtle: var(--uley-text-secondary, #a0a6af);
}

body[data-uley-service="server"] {
  background: var(--uley-bg, #17191c) !important;
  color: var(--uley-text, #e6e7e9);
}

body[data-uley-service="server"] #main.container {
  background: var(--uley-surface, #1f2226) !important;
  border: 1px solid var(--uley-border, #343940) !important;
  border-radius: var(--uley-radius, 12px) !important;
}

body[data-uley-service="server"] #login,
body[data-uley-service="server"] .login-area,
body[data-uley-service="server"] .pf-v6-c-login__main {
  background: transparent !important;
}

body[data-uley-service="server"] #login input,
body[data-uley-service="server"] .login-area input {
  background: var(--uley-bg-deep, #131518) !important;
  border: 1px solid var(--uley-border, #343940) !important;
  border-radius: calc(var(--uley-radius, 12px) - 2px) !important;
  color: var(--uley-text, #e6e7e9) !important;
}

body[data-uley-service="server"] #login .pf-v6-c-button.pf-m-primary,
body[data-uley-service="server"] #login-button {
  background: var(--uley-accent, #dbb66d) !important;
  color: var(--uley-accent-contrast, #17191c) !important;
  border-radius: calc(var(--uley-radius, 12px) - 2px) !important;
}

body[data-uley-service="server"] #login .pf-v6-c-button.pf-m-primary:hover,
body[data-uley-service="server"] #login-button:hover {
  background: var(--uley-accent-hover, #e8c887) !important;
}

body[data-uley-service="server"] #main,
body[data-uley-service="server"] #brand,
body[data-uley-service="server"] #main h1,
body[data-uley-service="server"] #main label,
body[data-uley-service="server"] #main p,
body[data-uley-service="server"] #main .control-label {
  color: var(--uley-text, #e6e7e9) !important;
}

body[data-uley-service="server"] #login-note,
body[data-uley-service="server"] .login-note,
body[data-uley-service="server"] #main .container-footer,
body[data-uley-service="server"] #main .container-footer label {
  color: var(--uley-text-secondary, #a0a6af) !important;
}

body[data-uley-service="server"] #login-password-toggle {
  background: var(--uley-surface-raised, #262a30) !important;
  color: var(--uley-text, #e6e7e9) !important;
  border: 1px solid var(--uley-border, #343940) !important;
  border-radius: calc(var(--uley-radius, 12px) - 2px) !important;
}

body[data-uley-service="server"] #main a,
body[data-uley-service="server"] #main .pf-v6-c-button.pf-m-link,
body[data-uley-service="server"] #main .pf-v6-c-expandable-section__toggle {
  color: var(--uley-accent, #dbb66d) !important;
}

body[data-uley-service="server"] :focus-visible {
  outline-color: var(--uley-accent, #dbb66d);
}

:root:has(body[data-uley-service="memory"]) {
  --crust: var(--uley-bg, #17191c);
  --mantle: var(--uley-bg-deep, #131518);
  --base: var(--uley-surface, #1f2226);
  --surface0: var(--uley-surface, #1f2226);
  --surface1: var(--uley-surface-raised, #262a30);
  --surface2: var(--uley-border, #343940);
  --text: var(--uley-text, #e6e7e9);
  --subtext0: var(--uley-text-secondary, #a0a6af);
  --subtext1: var(--uley-text-muted, #88919d);
  --blue: var(--uley-accent, #dbb66d);
  --green: #8fbf9b;
  --red: #e89393;
  --yellow: var(--uley-accent, #dbb66d);
}

body[data-uley-service="memory"] {
  background: var(--uley-bg, #17191c);
  color: var(--uley-text, #e6e7e9);
}

body[data-uley-service="memory"] :focus-visible {
  outline-color: var(--uley-accent, #dbb66d);
}

body[data-uley-service="memory"] .brand-name {
  max-width: 100%;
  font-size: 1.1rem;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
}

:root:has(body[data-uley-service="network"]),
body[data-uley-service="network"][data-theme] {
  --black: var(--uley-text, #e6e7e9);
  --bgcolor: var(--uley-bg, #17191c);
  --mcolor: var(--uley-text, #e6e7e9);
  --scolor: var(--uley-text-secondary, #a0a6af);
  --border-color: var(--uley-border, #343940);
  --header-bgcolor: var(--uley-surface, #1f2226);
  --card-bgcolor: var(--uley-surface, #1f2226);
  --card-border-color: var(--uley-border, #343940);
  --ctrl-bgcolor: var(--uley-bg-deep, #131518);
  --ctrl-select-bgcolor: var(--uley-surface-raised, #262a30);
  --ctrl-dropdown-color: var(--uley-text, #e6e7e9);
  --ctrl-dropdown-bgcolor-focus: var(--uley-surface-raised, #262a30);
  --ctrl-dropdown-color-focus: var(--uley-text, #e6e7e9);
  --btn-success-bgcolor: #8fbf9b;
  --form-disabled-bgcolor: var(--uley-bg-deep, #131518);
  --form-disabled-color: var(--uley-text-muted, #88919d);
  --rt-nodata-bgcolor: var(--uley-surface, #1f2226);
  --rt-nodata-color: var(--uley-text-secondary, #a0a6af);
  --modal-overlay-bgcolor: rgba(8, 9, 10, 0.76);
  --logs__table-bgcolor: var(--uley-bg-deep, #131518);
  --logs__row--blue-bgcolor: rgba(145, 177, 216, 0.14);
  --logs__row--white-bgcolor: var(--uley-surface, #1f2226);
  --logs__text-color: var(--uley-text, #e6e7e9);
  --detailed-info-color: var(--uley-text-secondary, #a0a6af);
  --yellow-pale: var(--uley-accent-soft, rgba(219, 182, 109, 0.1));
  --green79: #8fbf9b;
  --green-74: #8fbf9b;
  --green-86: #8fbf9b;
  --gray-a5: var(--uley-text-secondary, #a0a6af);
  --gray-ac: var(--uley-text-secondary, #a0a6af);
  --gray-8: var(--uley-surface-raised, #262a30);
  --gray-d8: var(--uley-border, #343940);
  --gray-f3: var(--uley-text, #e6e7e9);
  --gray300: #bdc2c8;
  --lightgray: var(--uley-text-muted, #88919d);
  --loading-bg: rgba(19, 21, 24, 0.82);
  --alert-message-color: var(--uley-text, #e6e7e9);
  --alert-message-border: var(--uley-border, #343940);
  --alert-message-bg: var(--uley-surface-raised, #262a30);
  --checkbox-bg: var(--uley-surface-raised, #262a30);
  --radio-bg: var(--uley-surface-raised, #262a30);
  --blue: var(--uley-blue, #91b1d8);
  --indigo: #91b1d8;
  --purple: #b7a4d7;
  --pink: #d99fbd;
  --red: var(--uley-danger, #e89393);
  --orange: #d9a675;
  --yellow: var(--uley-accent, #dbb66d);
  --green: var(--uley-success, #8fbf9b);
  --teal: #86bcb1;
  --cyan: #91b1d8;
  --white: var(--uley-text, #e6e7e9);
  --gray: var(--uley-text-secondary, #a0a6af);
  --gray-dark: var(--uley-border, #343940);
  --azure: #91b1d8;
  --lime: #8fbf9b;
  --primary: var(--uley-accent, #dbb66d);
  --secondary: var(--uley-text-secondary, #a0a6af);
  --success: var(--uley-success, #8fbf9b);
  --info: var(--uley-blue, #91b1d8);
  --warning: var(--uley-accent, #dbb66d);
  --danger: var(--uley-danger, #e89393);
  --light: var(--uley-surface-raised, #262a30);
  --dark: var(--uley-bg-deep, #131518);
}

body[data-uley-service="network"] {
  background: var(--uley-bg, #17191c);
  color: var(--uley-text, #e6e7e9);
}

body[data-uley-service="network"] :focus-visible {
  outline-color: var(--uley-accent, #dbb66d);
}

body[data-uley-service="network"] .btn-primary,
body[data-uley-service="network"] .btn-primary:hover,
body[data-uley-service="network"] .btn-primary:focus {
  background: var(--uley-accent, #dbb66d);
  border-color: var(--uley-accent-border, #343940);
  color: var(--uley-accent-contrast, #17191c);
}

body[data-uley-service="network"] .btn-primary:hover {
  background: var(--uley-accent-hover, #e8c887);
}

:root:has(body[data-uley-service="library"]) {
  color-scheme: dark;
  --uley-library-primary: var(--uley-accent, #dbb66d);
  --uley-library-background: var(--uley-bg, #17191c);
  --uley-library-surface: var(--uley-surface, #1f2226);
  --uley-library-raised: var(--uley-surface-raised, #262a30);
  --uley-library-border: var(--uley-border, #343940);
  --uley-library-text: var(--uley-text, #e6e7e9);
}

body[data-uley-service="library"] {
  background: var(--uley-bg, #17191c);
  color: var(--uley-text, #e6e7e9);
}

body[data-uley-service="library"] .theme--dark.v-application,
body[data-uley-service="library"] .theme--light.v-application {
  background: var(--uley-library-background, #17191c) !important;
  color: var(--uley-library-text, #e6e7e9) !important;
}

body[data-uley-service="library"] .theme--dark .v-card,
body[data-uley-service="library"] .theme--light .v-card,
body[data-uley-service="library"] .theme--dark .v-menu__content,
body[data-uley-service="library"] .theme--light .v-menu__content,
body[data-uley-service="library"] .theme--dark .v-dialog,
body[data-uley-service="library"] .theme--light .v-dialog {
  background-color: var(--uley-library-surface, #1f2226) !important;
  border: 1px solid var(--uley-library-border, #343940);
  color: var(--uley-library-text, #e6e7e9) !important;
}

body[data-uley-service="library"] .theme--dark .v-card__title,
body[data-uley-service="library"] .theme--light .v-card__title,
body[data-uley-service="library"] .theme--dark .v-list,
body[data-uley-service="library"] .theme--light .v-list {
  background-color: var(--uley-library-surface, #1f2226) !important;
  color: var(--uley-library-text, #e6e7e9) !important;
}

body[data-uley-service="library"] .theme--dark.v-application .v-btn.primary,
body[data-uley-service="library"] .theme--light.v-application .v-btn.primary,
body[data-uley-service="library"] .theme--dark.v-application .primary,
body[data-uley-service="library"] .theme--light.v-application .primary {
  background-color: var(--uley-library-primary, #dbb66d) !important;
  border-color: var(--uley-library-primary, #dbb66d) !important;
  color: var(--uley-accent-contrast, #17191c) !important;
}

body[data-uley-service="library"] .theme--dark.v-application .primary--text,
body[data-uley-service="library"] .theme--light.v-application .primary--text,
body[data-uley-service="library"] .theme--dark.v-application.primary--text,
body[data-uley-service="library"] .theme--light.v-application.primary--text {
  color: var(--uley-library-primary, #dbb66d) !important;
  caret-color: var(--uley-library-primary, #dbb66d) !important;
}

body[data-uley-service="library"] .theme--dark .v-text-field input,
body[data-uley-service="library"] .theme--light .v-text-field input,
body[data-uley-service="library"] .theme--dark .v-select__selections,
body[data-uley-service="library"] .theme--light .v-select__selections {
  color: var(--uley-library-text, #e6e7e9) !important;
}

body[data-uley-service="library"] :focus-visible {
  outline-color: var(--uley-accent, #dbb66d);
}

body[data-uley-service="library"] .v-btn:not(.v-btn--icon):not(.v-btn--fab):not(.v-btn--round) {
  border-radius: calc(var(--uley-radius, 12px) - 2px);
}

:root:has(body[data-uley-service="search"]) {
  --color-base-font: var(--uley-text, #e6e7e9);
  --color-base-font-rgb: 230, 231, 233;
  --color-base-background: var(--uley-bg, #17191c);
  --color-base-background-mobile: var(--uley-bg-deep, #131518);
  --color-favicon-background-color: var(--uley-bg-deep, #131518);
  --color-favicon-border-color: var(--uley-border, #343940);
  --color-url-font: var(--uley-accent, #dbb66d);
  --color-url-visited-font: #b7a4d7;
  --color-header-background: var(--uley-surface, #1f2226);
  --color-header-border: var(--uley-border, #343940);
  --color-footer-background: var(--uley-bg-deep, #131518);
  --color-footer-border: var(--uley-border, #343940);
  --color-sidebar-border: var(--uley-border, #343940);
  --color-sidebar-font: var(--uley-text-secondary, #a0a6af);
  --color-sidebar-background: var(--uley-surface, #1f2226);
  --color-backtotop-font: var(--uley-text, #e6e7e9);
  --color-backtotop-border: var(--uley-border, #343940);
  --color-backtotop-background: var(--uley-surface-raised, #262a30);
  --color-btn-background: var(--uley-accent, #dbb66d);
  --color-btn-font: var(--uley-accent-contrast, #17191c);
  --color-show-btn-background: var(--uley-surface-raised, #262a30);
  --color-show-btn-font: var(--uley-text, #e6e7e9);
  --color-search-border: var(--uley-border, #343940);
  --color-search-shadow: 0 2px 10px rgba(0, 0, 0, 0.24);
  --color-search-background: var(--uley-bg-deep, #131518);
  --color-search-font: var(--uley-text, #e6e7e9);
  --color-search-background-hover: var(--uley-accent-hover, #e8c887);
  --color-error: var(--uley-danger, #e89393);
  --color-error-background: rgba(232, 147, 147, 0.12);
  --color-warning: var(--uley-accent, #dbb66d);
  --color-warning-background: var(--uley-accent-soft, rgba(219, 182, 109, 0.12));
  --color-success: var(--uley-success, #8fbf9b);
  --color-success-background: rgba(143, 191, 155, 0.12);
  --color-categories-item-selected-font: var(--uley-accent, #dbb66d);
  --color-categories-item-selected: var(--uley-surface-raised, #262a30);
  --color-categories-item-border-selected: var(--uley-accent, #dbb66d);
  --color-autocomplete-font: var(--uley-text, #e6e7e9);
  --color-autocomplete-border: var(--uley-border, #343940);
  --color-autocomplete-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
  --color-autocomplete-background: var(--uley-surface-raised, #262a30);
  --color-autocomplete-background-hover: var(--uley-border, #343940);
  --color-answer-font: var(--uley-text, #e6e7e9);
  --color-answer-background: var(--uley-surface, #1f2226);
  --color-result-keyvalue-col-table: var(--uley-surface, #1f2226);
  --color-result-keyvalue-table: var(--uley-surface, #1f2226);
  --color-result-keyvalue-odd: var(--uley-bg-deep, #131518);
  --color-result-keyvalue-even: var(--uley-surface, #1f2226);
  --color-result-background: var(--uley-surface, #1f2226);
  --color-result-border: var(--uley-border, #343940);
  --color-result-url-font: var(--uley-text-secondary, #a0a6af);
  --color-result-vim-selected: var(--uley-surface-raised, #262a30);
  --color-result-vim-arrow: var(--uley-blue, #91b1d8);
  --color-result-description-highlight-font: var(--uley-text, #e6e7e9);
  --color-result-link-font: var(--uley-accent, #dbb66d);
  --color-result-link-font-highlight: var(--uley-accent-hover, #e8c887);
  --color-result-link-visited-font: #b7a4d7;
  --color-result-publishdate-font: var(--uley-text-muted, #88919d);
  --color-result-engines-font: var(--uley-text-secondary, #a0a6af);
  --color-result-search-url-border: var(--uley-border, #343940);
  --color-result-search-url-font: var(--uley-text-secondary, #a0a6af);
  --color-result-image-span-font: var(--uley-text-secondary, #a0a6af);
  --color-result-image-span-font-selected: var(--uley-text, #e6e7e9);
  --color-result-image-background: var(--uley-bg-deep, #131518);
  --color-settings-tr-hover: var(--uley-surface-raised, #262a30);
  --color-settings-engine-description-font: var(--uley-text-secondary, #a0a6af);
  --color-settings-return-font: var(--uley-accent, #dbb66d);
  --color-settings-table-group-background: rgba(230, 231, 233, 0.04);
  --color-result-detail-font: var(--uley-text, #e6e7e9);
  --color-result-detail-label-font: var(--uley-text-secondary, #a0a6af);
  --color-result-detail-background: var(--uley-bg-deep, #131518);
  --color-result-detail-hr: var(--uley-border, #343940);
  --color-result-detail-link: var(--uley-blue, #91b1d8);
  --color-result-detail-loader-border: rgba(230, 231, 233, 0.2);
  --color-result-detail-loader-borderleft: transparent;
  --color-toolkit-badge-font: var(--uley-text, #e6e7e9);
  --color-toolkit-badge-background: var(--uley-surface-raised, #262a30);
  --color-toolkit-kbd-font: var(--uley-text, #e6e7e9);
  --color-toolkit-kbd-background: var(--uley-bg-deep, #131518);
  --color-toolkit-dialog-border: var(--uley-border, #343940);
  --color-toolkit-dialog-background: var(--uley-surface, #1f2226);
  --color-toolkit-tabs-label-border: var(--uley-border, #343940);
  --color-toolkit-tabs-section-border: var(--uley-border, #343940);
  --color-toolkit-select-background: var(--uley-surface-raised, #262a30);
  --color-toolkit-select-border: var(--uley-border, #343940);
  --color-toolkit-select-background-hover: var(--uley-border, #343940);
  --color-toolkit-input-text-font: var(--uley-text, #e6e7e9);
  --color-toolkit-checkbox-onoff-off-background: var(--uley-border, #343940);
  --color-toolkit-checkbox-onoff-on-background: var(--uley-accent-border, #343940);
  --color-toolkit-checkbox-onoff-on-mark-background: var(--uley-accent, #dbb66d);
  --color-toolkit-checkbox-onoff-on-mark-color: var(--uley-accent-contrast, #17191c);
  --color-toolkit-checkbox-onoff-off-mark-background: var(--uley-text-muted, #88919d);
  --color-toolkit-checkbox-onoff-off-mark-color: var(--uley-bg, #17191c);
  --color-toolkit-checkbox-label-background: var(--uley-surface, #1f2226);
  --color-toolkit-checkbox-label-border: var(--uley-border, #343940);
  --color-toolkit-checkbox-input-border: var(--uley-accent, #dbb66d);
  --color-toolkit-engine-tooltip-border: var(--uley-border, #343940);
  --color-toolkit-engine-tooltip-background: var(--uley-surface-raised, #262a30);
  --color-toolkit-loader-border: rgba(230, 231, 233, 0.2);
  --color-toolkit-loader-borderleft: transparent;
  --color-doc-code: var(--uley-accent-light-5, #f4edc4);
  --color-doc-code-background: var(--uley-bg-deep, #131518);
  --color-bar-chart-primary: var(--uley-accent, #dbb66d);
  --color-bar-chart-secondary: var(--uley-blue, #91b1d8);
  --color-image-resolution-background: rgba(0, 0, 0, 0.72);
  --color-image-resolution-font: var(--uley-text, #e6e7e9);
  --color-line-number: var(--uley-text-muted, #88919d);
  --color-loading-indicator: var(--uley-accent, #dbb66d);
  --color-loading-indicator-gap: var(--uley-bg-deep, #131518);
  --primary: var(--uley-accent, #dbb66d);
  --blue: var(--uley-blue, #91b1d8);
}

body[data-uley-service="search"] {
  background: var(--uley-bg, #17191c);
  color: var(--uley-text, #e6e7e9);
}

body[data-uley-service="search"] :focus-visible {
  outline-color: var(--uley-accent, #dbb66d);
}

body[data-uley-service="search"] .index .title h1 {
  width: auto !important;
  height: auto !important;
  margin: 0 0 1.5rem;
  background: none !important;
  text-indent: 0 !important;
  color: var(--uley-text, #e6e7e9);
  font-size: 44px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -0.04em;
  text-shadow: none !important;
  visibility: visible !important;
}

body[data-uley-service="search"] .index .title { background: none !important; height: auto !important; width: auto !important; }
body[data-uley-service="network"] [data-testid="sign_in"] { background: var(--uley-accent); color: var(--uley-accent-contrast); border-color: var(--uley-accent-border); }
body[data-uley-service="memory"] { --card: var(--uley-surface); --line: var(--uley-border); --radius: var(--uley-radius, 12px); --overlay0: var(--uley-text-muted, #88919d); --overlay1: var(--uley-text-secondary, #a0a6af); }
body[data-uley-service="server"] #brand::before { content: "Улей · Сервер"; font-family: "Inter", "Segoe UI", "Noto Sans", system-ui, sans-serif; }
.uley-service-brand { display: inline-flex; align-items: center; justify-content: center; gap: 12px; color: var(--uley-text); font: 600 24px/1.3 "Inter", "Segoe UI", "Noto Sans", system-ui, sans-serif; letter-spacing: -.025em; }
.uley-service-brand svg { width: 40px; height: 40px; color: var(--uley-accent); flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
svg.uley-native-logo { width: 30px; height: 30px; flex: none; color: var(--uley-accent); fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #navbar-logo > .uley-native-logo + img,
body:is([data-uley-service="code"], :has(> #uley-code-root)) .page-content.home > div > .center > .uley-native-logo + img.logo,
body[data-uley-service="files"] .login-card .uley-native-logo + img.login-icon,
body[data-uley-service="backups"] header a > .uley-native-logo + img[src*="/assets/logo-"] { display: none; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #navbar-logo > .uley-native-logo { width: 30px; height: 30px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #navbar-logo > img { display: none; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #navbar-logo::before { content: ""; display: block !important; position: static; flex: none; width: 30px; height: 30px; background-color: var(--uley-accent); mask: url("/assets/img/logo.svg") center / contain no-repeat; }
body[data-uley-service="files"] .login-card svg.uley-native-logo { width: 44px; height: 44px; }
body[data-uley-service="backups"] header .uley-native-logo { gap: 9px; font-size: 15px; }
body[data-uley-service="backups"] header .uley-native-logo svg { width: 24px; height: 24px; }
body[data-uley-service="library"] .v-image:has(.v-image__image[style*="logo."]) { display: none; }
body[data-uley-service="library"] .uley-service-brand { margin-block: 48px 24px; }
body[data-uley-service="library"] .v-label,
body[data-uley-service="library"] .v-icon,
body[data-uley-service="library"] .v-select__selection,
body[data-uley-service="library"] .v-input--selection-controls { color: var(--uley-text-secondary) !important; }
body[data-uley-service="library"] .primary--text { color: var(--uley-accent) !important; }
body[data-uley-service="library"] .v-text-field > .v-input__control > .v-input__slot::before { border-color: var(--uley-border) !important; }
body[data-uley-service="files"] button[type="submit"],
body[data-uley-service="files"] input[type="submit"] { color: var(--uley-accent-contrast) !important; }

body[data-uley-service="search"] .btn,
body[data-uley-service="search"] button,
body[data-uley-service="search"] input,
body[data-uley-service="search"] select,
body[data-uley-service="search"] textarea {
  border-radius: calc(var(--uley-radius, 12px) - 2px);
}

body:is([data-uley-service], :has(> #uley-code-root)) {
  --uley-page-gutter: clamp(20px, 4.5vw, 64px);
  font-family: "Inter", "Segoe UI", "Noto Sans", system-ui, sans-serif;
}

body:is([data-uley-service="code"], :has(> #uley-code-root)) #navbar {
  min-height: 56px;
  padding-inline: 24px;
  background: var(--uley-bg-deep);
  border-bottom: 1px solid var(--uley-border);
}

body:is([data-uley-service="code"], :has(> #uley-code-root)) .full.height { min-height: auto; flex: 1 0 auto; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .dashboard .ui.placeholder .header,
body:is([data-uley-service="code"], :has(> #uley-code-root)) .dashboard .ui.placeholder p,
body:is([data-uley-service="code"], :has(> #uley-code-root)) .dashboard .empty p { color: var(--uley-text-secondary); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.button { border-radius: var(--uley-radius-sm, 8px); line-height: 1.4; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.form .field > label { margin-bottom: 8px; font-weight: 500; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.form .field { margin-bottom: 20px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { min-height: 44px; border-radius: var(--uley-radius-sm, 8px); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.tabular.menu { gap: 4px; margin-bottom: 24px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.table > :is(thead, tbody) > tr > :is(th, td) { padding-block: 12px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.segment { border-radius: calc(var(--uley-radius, 12px) - 2px); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.attached.segment { border-radius: 0 0 10px 10px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.top.attached.header { border-radius: 10px 10px 0 0; padding: 18px 20px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin > .grid { margin: 0; padding: clamp(36px, 9vh, 96px) 20px 40px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin .column { width: min(100%, 440px) !important; padding: 0 !important; gap: 20px !important; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin .ui.attached.segment:not(.header) { padding: 28px 32px 32px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin h4.header { padding: 24px 32px 0; border-bottom: 0; font-size: 24px; line-height: 1.3; text-align: left; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin .ui.primary.button { min-height: 44px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin .form > .field:last-child { margin: 24px 0 0; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin .segment.header { padding: 12px; background: transparent; border: 0; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.form input:is(:autofill, :-webkit-autofill) {
  -webkit-text-fill-color: var(--uley-text);
  caret-color: var(--uley-text);
  box-shadow: 0 0 0 100px var(--uley-bg-deep) inset !important;
  border-color: var(--uley-border) !important;
}
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.form input:is(:autofill, :-webkit-autofill):focus {
  border-color: var(--uley-accent) !important;
}
body:is([data-uley-service="code"], :has(> #uley-code-root)) .ui.form .error input:is(:autofill, :-webkit-autofill) {
  border-color: var(--uley-danger) !important;
}
body:is([data-uley-service="code"], :has(> #uley-code-root)) .oauth-login-link:has(> img[alt="Улей"][src$="/uley-icon.svg"]) > img {
  display: none;
}
body:is([data-uley-service="code"], :has(> #uley-code-root)) .oauth-login-link:has(> img[alt="Улей"][src$="/uley-icon.svg"])::before {
  content: "";
  display: block !important;
  position: static;
  flex: none;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  background-color: var(--uley-accent);
  mask: url("/uley-brand/icons/hub-mark.svg") center / contain no-repeat;
}
body:is([data-uley-service="code"], :has(> #uley-code-root)) .oauth-login-link:has(> img[alt="Улей"][src$="/uley-icon.svg"]):focus-visible {
  outline: 2px solid var(--uley-accent);
  outline-offset: 2px;
}
body:is([data-uley-service="code"], :has(> #uley-code-root)) .page-content.home { display: flex; flex-direction: column; justify-content: center; padding: 64px 24px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .home > div:first-child { margin: 0; padding: 0; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .home .center > svg.uley-native-logo { width: 88px; height: 88px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .home .hero { padding: 0; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .home .hero h1 { margin: 24px 0 0; font-size: clamp(28px, 4vw, 36px); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .home .hero h2,
body:is([data-uley-service="code"], :has(> #uley-code-root)) .home > .ui.stackable.page.grid { display: none; }
body:is([data-uley-service="code"], :has(> #uley-code-root)):has(.uley-code-welcome) { height: auto; min-height: 100svh; }
body:is([data-uley-service="code"], :has(> #uley-code-root)):has(.uley-code-welcome) .full.height { display: flex; flex-direction: column; padding-bottom: 0; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-welcome { box-sizing: border-box; display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; flex: 1; gap: 48px; width: min(100%, 1280px); min-height: 600px; margin-inline: auto; padding: 64px 64px 88px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-intro { min-width: 0; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-intro h1 { margin: 0; color: var(--uley-text); font-size: clamp(40px, 4.5vw, 64px); font-weight: 700; line-height: 1.12; letter-spacing: -.035em; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-intro p { margin: 24px 0 0; color: var(--uley-text-secondary); font-size: 17px; line-height: 1.65; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 1px solid var(--uley-border); border-radius: calc(var(--uley-radius, 12px) - 2px); background: var(--uley-surface); color: var(--uley-text); font-weight: 600; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-actions a:first-child { background: var(--uley-accent); border-color: var(--uley-accent); color: var(--uley-accent-contrast); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-actions a:hover { text-decoration: none; filter: brightness(1.08); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-branches { display: block; width: 100%; max-width: 600px; overflow: visible; color: var(--uley-accent); fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-lattice { opacity: .09; stroke-width: 1.5; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-lines use { fill: var(--uley-bg); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-lines .uley-code-origin { fill: currentColor; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .page-footer { flex-shrink: 0; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .page-footer .left-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

body[data-uley-service="server"].login-pf {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  min-height: 100svh;
  padding: clamp(100px, 18vh, 180px) 20px 40px !important;
  font-size: 14px;
  line-height: 1.5;
}

body[data-uley-service="server"].login-pf #badge { display: none; }
body[data-uley-service="server"] #main.container { width: min(100%, 440px); box-shadow: none !important; }
body[data-uley-service="server"] #main .container-body { padding: 32px; }
body[data-uley-service="server"] #brand { padding-bottom: 24px; font: 600 24px/1.3 "Inter", "Segoe UI", system-ui, sans-serif; }
body[data-uley-service="server"] #login-note { margin-bottom: 24px; }
body[data-uley-service="server"] #login .form-group { margin-top: 20px; }
body[data-uley-service="server"] #login label { display: block; margin-bottom: 8px; font-weight: 500; }
body[data-uley-service="server"] #login input { min-height: 44px; }
body[data-uley-service="server"] #login .login-actions { padding-top: 8px; }
body[data-uley-service="server"] #login-button { min-height: 44px; }
body[data-uley-service="server"] #main .container-footer { padding: 20px 32px; font-size: 12px; }

body[data-uley-service="search"] {
  font-size: 15px;
  line-height: 1.55;
}

body[data-uley-service="search"] #links_on_top { top: 24px; right: var(--uley-page-gutter); font-size: 13px; }
body[data-uley-service="search"] #links_on_top a { margin-left: 16px; }
body[data-uley-service="search"] #main_index { margin-top: clamp(100px, 20vh, 200px); }
body[data-uley-service="search"] .index .title { margin: 0 0 36px; }
body[data-uley-service="search"] .index .title h1 { margin: 0; font-size: 36px; }
body[data-uley-service="search"] .index #search_view { padding: 0 20px; }
body[data-uley-service="search"] .search_box { box-sizing: border-box; min-height: 52px; border: 1px solid var(--uley-border); border-radius: calc(var(--uley-radius, 12px) - 2px); background: var(--uley-surface); box-shadow: none; }
body[data-uley-service="search"] .search_box:focus-within { border-color: var(--uley-accent); box-shadow: 0 0 0 3px var(--uley-accent-soft); }
body[data-uley-service="search"] #q { min-height: 50px; padding-left: 18px; font: inherit; background: transparent; box-shadow: none; }
body[data-uley-service="search"] #q:focus-visible { outline: none; }
body[data-uley-service="search"] :is(#clear_search, #send_search) { min-width: 44px; min-height: 44px; align-self: center; background: transparent; border: 0; }
body[data-uley-service="search"] #send_search { margin-right: 3px; color: var(--uley-accent); }
body[data-uley-service="search"] #search_header { box-sizing: border-box; padding: 24px var(--uley-page-gutter) 0; grid-template-columns: minmax(0, 1fr); gap: 20px; }
body[data-uley-service="search"] #search_logo { display: none; }
body[data-uley-service="search"] #search_view { grid-column: 1; padding: 0; }
body[data-uley-service="search"] #search_view .search_box { width: min(100%, 720px); }
body[data-uley-service="search"] .index #search_view .search_box { width: min(100%, 640px); }
body[data-uley-service="search"] #categories { grid-column: 1; margin: 0; }
body[data-uley-service="search"] #categories_container { display: flex; gap: 20px; overflow-x: auto; scrollbar-width: thin; padding: 0; }
body[data-uley-service="search"] #categories_container .category_button { display: inline-flex; align-items: center; gap: 6px; flex: none; padding: 0 0 12px; margin: 0; min-height: 40px; border-radius: 0; font: 500 13px/1.4 "Inter", "Segoe UI", system-ui, sans-serif; }
body[data-uley-service="search"] #categories_container .category_button svg { width: 18px; height: 18px; }
body[data-uley-service="search"] .search_filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px var(--uley-page-gutter) 0; }
body[data-uley-service="search"] .search_filters select { min-height: 36px; max-width: 100%; padding: 6px 32px 6px 12px; border: 1px solid var(--uley-border); border-radius: var(--uley-radius-sm, 8px); background-color: var(--uley-surface); font: inherit; font-size: 13px; }
body[data-uley-service="search"] #results { grid-template-columns: minmax(0, 720px) minmax(240px, 320px); column-gap: 40px; width: auto; max-width: 1200px; margin: 28px var(--uley-page-gutter) 40px; }
body[data-uley-service="search"] #pagination { min-width: 0; max-width: 100%; }
body[data-uley-service="search"] #urls { min-width: 0; }
body[data-uley-service="search"] #urls .result:not(.result-images) { box-sizing: border-box; width: 100%; padding: 0 0 24px; margin: 0 0 26px; border: 0; border-bottom: 1px solid var(--uley-border); border-radius: 0; background: transparent; }
body[data-uley-service="search"] .result h3 { margin: 7px 0 8px; font-size: 20px; font-weight: 550; line-height: 1.4; }
body[data-uley-service="search"] .result .content { max-width: none; font-size: 15px; line-height: 1.6; }
body[data-uley-service="search"] .result .url_header { font-size: 12px; line-height: 1.5; }
body[data-uley-service="search"] .result .engines { float: none; justify-content: flex-start; gap: 8px; margin-top: 12px; font-size: 12px; }
body[data-uley-service="search"] #sidebar { min-width: 0; font-size: 13px; line-height: 1.6; }
body[data-uley-service="search"] #sidebar .infobox { padding: 20px; background: var(--uley-surface); border-radius: calc(var(--uley-radius, 12px) - 2px); }
body[data-uley-service="search"] #sidebar h2 { margin-bottom: 16px; font-size: 22px; font-weight: 600; }
body[data-uley-service="search"] #sidebar details { margin-bottom: 16px; }
body[data-uley-service="search"] #sidebar summary { padding-block: 12px; }
body[data-uley-service="search"] #answers { padding: 20px; margin-bottom: 24px; background: var(--uley-surface); border: 1px solid var(--uley-border); border-radius: calc(var(--uley-radius, 12px) - 2px); font-size: 15px; line-height: 1.6; }
body[data-uley-service="search"] #main_preferences { box-sizing: border-box; width: min(1120px, 100%); padding: 36px var(--uley-page-gutter); margin: 0; }
body[data-uley-service="search"] #main_preferences fieldset { padding-block: 24px; }
body[data-uley-service="search"] #main_preferences legend { font-weight: 600; }
body[data-uley-service="search"] footer { box-sizing: border-box; padding: 20px; font-size: 11px; line-height: 1.6; }

body[data-uley-service="files"] #login {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: auto;
  min-height: 100svh;
  padding: clamp(64px, 15vh, 160px) 20px 40px !important;
  box-sizing: border-box;
}

body[data-uley-service="files"] .login-card {
  position: static;
  transform: none;
  width: min(100%, 440px) !important;
  max-width: none !important;
  margin: 0 auto;
  padding: 32px;
  box-sizing: border-box;
  background: var(--uley-surface);
  border: 1px solid var(--uley-border);
  border-radius: var(--uley-radius, 12px);
  box-shadow: none;
}

body[data-uley-service="files"] .login-card .login-brand { display: flex; text-align: left; margin: 0 0 16px !important; padding: 0 !important; justify-content: flex-start; }
body[data-uley-service="files"] .login-card .brand-text { display: block; }
body[data-uley-service="files"] .login-card .login-icon { width: 44px; height: 44px; }
body[data-uley-service="files"] .login-card h3 { margin: 0 0 28px; padding: 0 !important; font-size: 24px; font-weight: 600; line-height: 1.3; }
body[data-uley-service="files"] .uley-login-label { align-self: stretch; margin-bottom: -12px; font-size: 14px; line-height: 1.5; text-align: left; }
body[data-uley-service="files"] .password-entry { display: flex; flex-direction: column; gap: 20px; }
body[data-uley-service="files"] .login-card .input { box-sizing: border-box; width: 100%; min-height: 46px; margin: 0; padding: 12px 14px; border: 1px solid var(--uley-border) !important; background: var(--uley-bg-deep) !important; font: inherit; font-size: 14px; }
body[data-uley-service="files"] .login-card .input:focus { border-color: var(--uley-accent) !important; box-shadow: 0 0 0 3px var(--uley-accent-soft); outline: none; }
body[data-uley-service="files"] .login-card [type="submit"] { min-height: 44px; margin-top: 4px; font: 600 14px/1.4 "Inter", "Segoe UI", system-ui, sans-serif; }
body[data-uley-service="files"] .flexbar { border-bottom: 1px solid var(--uley-border); }
body[data-uley-service="files"] .headline-card,
body[data-uley-service="files"] .sidebar-links.card { border: 1px solid var(--uley-border); border-radius: calc(var(--uley-radius, 12px) - 2px); box-shadow: none; }
body[data-uley-service="files"] .sidebar-links-content { padding: 8px; }
body[data-uley-service="files"] .sidebar-link-button { border-radius: var(--uley-radius-sm, 8px); margin-block: 4px; }
body[data-uley-service="files"] .sidebar-links-header { padding-block: 16px 8px; }
body[data-uley-service="files"] .listing-item-header.card { border: 1px solid var(--uley-border); border-radius: calc(var(--uley-radius, 12px) - 2px); margin-bottom: 12px; box-shadow: none; }
body[data-uley-service="files"] #main a.listing-item { border-width: 1px; border-radius: calc(var(--uley-radius, 12px) - 2px); box-shadow: none; }
body[data-uley-service="files"] .card-content { padding: 20px; }
body[data-uley-service="files"] .card-actions { padding: 16px 20px; gap: 8px; border-top: 1px solid var(--uley-border); }
body[data-uley-service="files"] .floating-window { border: 1px solid var(--uley-border); border-radius: var(--uley-radius, 12px); }
body[data-uley-service="files"] .prompt-title { font-size: 18px; font-weight: 600; }

body[data-uley-service="library"] .v-application--wrap { min-height: 100svh; }
body[data-uley-service="library"] .v-application--wrap > .ma-3:has(form input[autocomplete="current-password"]) { margin: clamp(64px, 14vh, 140px) 20px 40px !important; }
body[data-uley-service="library"] .container:has(> form input[autocomplete="current-password"]) { width: min(100%, 440px); max-width: none; padding: 32px; background: var(--uley-surface); border: 1px solid var(--uley-border); border-radius: var(--uley-radius, 12px); text-align: left; }
body[data-uley-service="library"] .container:has(> form input[autocomplete="current-password"]) .uley-service-brand { display: flex; justify-content: flex-start; margin: 0 0 28px; font-size: 24px; }
body[data-uley-service="library"] .container:has(> form input[autocomplete="current-password"]) .uley-service-brand svg { width: 32px; height: 32px; }
body[data-uley-service="library"] .container:has(> form input[autocomplete="current-password"]) > .row:has(.uley-service-brand) { justify-content: flex-start !important; margin: 0 !important; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .row { margin: 0; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .col { padding: 0; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .v-text-field:not(.v-select) { padding-top: 20px; margin-top: 8px; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .v-text-field:not(.v-select) .v-input__slot { min-height: 44px; padding: 0 12px; background: var(--uley-bg-deep); border: 1px solid var(--uley-border); border-radius: var(--uley-radius-sm, 8px); }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .v-text-field:not(.v-select) .v-input__slot::before,
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .v-text-field:not(.v-select) .v-input__slot::after { display: none; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .v-text-field:not(.v-select) .v-label { top: 12px; left: 0 !important; font-size: 14px; transform: translateY(-38px) !important; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .v-text-field:not(.v-select) .v-label--active { transform: translateY(-38px); }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .v-input--is-focused .v-input__slot { border-color: var(--uley-accent); }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) input:not([type="checkbox"]) { font-size: 14px; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .v-input--checkbox { padding: 0; margin: 8px 0 24px !important; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) .col-auto:has(button[type="submit"]) { width: 100%; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) button[type="submit"] { width: 100%; height: 44px; box-shadow: none; text-transform: none; letter-spacing: 0; font-weight: 600; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) > .row:last-child { gap: 16px; padding-top: 16px; }
body[data-uley-service="library"] form:has(input[autocomplete="current-password"]) > .row:last-child > .col { flex: 1 1 0; min-width: 0; max-width: none; }
body[data-uley-service="library"] .v-app-bar.v-app-bar--fixed { top: 0px !important; background: var(--uley-surface) !important; color: var(--uley-text) !important; box-shadow: none !important; border-bottom: 1px solid var(--uley-border); }
body[data-uley-service="library"] .v-navigation-drawer--fixed { top: 0px !important; height: 100% !important; }
body[data-uley-service="library"] .theme--light.v-list-item:not(.v-list-item--active):not(.v-list-item--disabled),
body[data-uley-service="library"] .theme--light.v-list-item--active,
body[data-uley-service="library"] .theme--light.v-card > .v-card__text,
body[data-uley-service="library"] .theme--light.v-card > .v-card__subtitle { color: var(--uley-text) !important; }
body[data-uley-service="library"] .theme--light.v-sheet,
body[data-uley-service="library"] .v-application .grey.lighten-4 { background-color: var(--uley-surface) !important; color: var(--uley-text) !important; }
body[data-uley-service="library"] .theme--light.v-btn.v-btn--has-bg:not(.primary) { background-color: var(--uley-surface-raised) !important; color: var(--uley-text) !important; }
body[data-uley-service="library"] .v-toolbar .v-text-field.v-text-field--solo .v-input__slot { border: 1px solid var(--uley-border); border-radius: var(--uley-radius-sm, 8px); background: var(--uley-bg-deep) !important; box-shadow: none !important; }
body[data-uley-service="library"] .v-toolbar .v-text-field.v-text-field--solo input { font-size: 14px; }
body[data-uley-service="library"] .v-main .sticky-bar { top: 64px !important; }
body[data-uley-service="library"] .v-main .v-toolbar__content { padding-inline: 24px; }
body[data-uley-service="library"] .v-main .theme--light.v-btn { color: var(--uley-text-secondary); font-size: 12px; letter-spacing: .02em; }
body[data-uley-service="library"] .v-main .theme--light.v-btn--active { color: var(--uley-accent); }
body[data-uley-service="library"] .v-main .v-toolbar__title { font-size: 20px; font-weight: 600; }
body[data-uley-service="library"] .theme--light.v-text-field--solo > .v-input__control > .v-input__slot { background: var(--uley-bg-deep) !important; }
body[data-uley-service="library"] input::placeholder { color: var(--uley-text-muted) !important; opacity: 1; }
body[data-uley-service="library"] .v-navigation-drawer .v-list-item--active { color: var(--uley-accent) !important; background: var(--uley-accent-soft); }
body[data-uley-service="library"] .v-navigation-drawer .v-list-item::before { border-radius: inherit; }
body[data-uley-service="library"] .v-navigation-drawer { background: var(--uley-bg-deep) !important; }
body[data-uley-service="library"] .v-navigation-drawer .v-list { background: transparent !important; padding: 12px 8px; }
body[data-uley-service="library"] .v-navigation-drawer .v-list-item { border-radius: var(--uley-radius-sm, 8px) !important; margin-bottom: 4px; min-height: 44px; }
body[data-uley-service="library"] .v-navigation-drawer .v-list-item--active::before { opacity: 0; }
body[data-uley-service="library"] .v-card:not(.item-card) { border-radius: calc(var(--uley-radius, 12px) - 2px); }
body[data-uley-service="library"] .v-dialog .v-card__title { padding: 24px; font-size: 20px; line-height: 1.4; }
body[data-uley-service="library"] .v-dialog .v-card__text { padding-inline: 24px; }
body[data-uley-service="library"] .v-dialog .v-card__actions { padding: 16px 24px; gap: 8px; border-top: 1px solid var(--uley-border); }
body[data-uley-service="library"] .v-data-table td { padding-block: 12px; }

body[data-uley-service="network"] .login { min-height: calc(100svh - 120px); }
body[data-uley-service="network"] .login__form { box-sizing: border-box; width: min(100%, 480px); max-width: none; margin: 0 auto; padding: clamp(64px, 14vh, 140px) 20px 40px; }
body[data-uley-service="network"] .login__form > .uley-service-brand { display: flex; justify-content: flex-start; margin: 0 0 24px; }
body[data-uley-service="network"] .login__form .card { border-radius: var(--uley-radius, 12px); box-shadow: none; }
body[data-uley-service="network"] .login__form .card-body { padding: 32px !important; }
body[data-uley-service="network"] .form-control { min-height: 44px; padding: 10px 12px; border-radius: var(--uley-radius-sm, 8px); font: inherit; font-size: 14px; }
body[data-uley-service="network"] .form__label { margin-bottom: 8px; font-weight: 500; }
body[data-uley-service="network"] .form__group { margin-bottom: 20px; }
body[data-uley-service="network"] .btn { border-radius: var(--uley-radius-sm, 8px); min-height: 38px; font-weight: 550; }
body[data-uley-service="network"] .login__form [data-testid="sign_in"] { min-height: 44px; background: var(--uley-accent) !important; color: var(--uley-accent-contrast) !important; border-color: var(--uley-accent) !important; }
body[data-uley-service="network"] .login__form .form-control { background: var(--uley-bg-deep) !important; border: 1px solid var(--uley-border) !important; color: var(--uley-text) !important; }
body[data-uley-service="network"] .login__info { margin-top: 20px; }
body[data-uley-service="network"] .card { border-radius: calc(var(--uley-radius, 12px) - 2px); }
body[data-uley-service="network"] .card-header { padding: 20px 24px; border-radius: 10px 10px 0 0; }
body[data-uley-service="network"] .card-body { padding: 24px; }
body[data-uley-service="network"] .page-title { margin-bottom: 24px; font-size: 28px; font-weight: 600; }
body[data-uley-service="network"] .nav-tabs { gap: 8px; }
body[data-uley-service="network"] .nav-tabs .nav-link { padding: 16px 12px; }
body[data-uley-service="network"] .stats-card { display: flex; flex-direction: column; gap: 12px; height: auto; margin-bottom: 24px; padding: 20px; background: var(--uley-surface); border: 1px solid var(--uley-border); border-radius: calc(var(--uley-radius, 12px) - 2px); }
body[data-uley-service="network"] .stats-card .card--stats { height: auto; min-height: 0; background: transparent; border: 0; margin: 0; }
body[data-uley-service="network"] .stats-card .card-wrap { height: auto; }
body[data-uley-service="network"] .stats-card__inner { height: auto; padding: 0; }
body[data-uley-service="network"] .stats-card__title { order: -1; padding: 0; font-size: 13px; line-height: 1.5; }
body[data-uley-service="network"] .stats-card__title a { color: var(--uley-text-secondary); }
body[data-uley-service="network"] .stats-card__value { font-size: 28px; line-height: 1.3; }
body[data-uley-service="network"] .stats-card__chart { height: 48px; margin-top: 12px; }
body[data-uley-service="network"] .card-body > .form__group--settings { margin: 0; padding-block: 20px; border-bottom: 1px solid var(--uley-border); }
body[data-uley-service="network"] .card-body > .form__group--settings:first-child { padding-top: 0; }
body[data-uley-service="network"] .card-body > .form__group--settings:last-child { border-bottom: 0; padding-bottom: 0; }
body[data-uley-service="network"] .checkbox__label-subtitle,
body[data-uley-service="network"] .card-body p { max-width: 76ch; line-height: 1.6; }
body[data-uley-service="network"] .checkbox__input:checked + .checkbox__label::before,
body[data-uley-service="network"] .custom-control-input:checked ~ .custom-control-label::before { background-color: var(--uley-accent); border-color: var(--uley-accent); }
body[data-uley-service="network"] .card a,
body[data-uley-service="network"] .login__info a { color: var(--uley-accent); }
body[data-uley-service="network"] .btn-outline-primary { color: var(--uley-accent); border-color: var(--uley-accent-border); }
body[data-uley-service="network"] .btn-outline-primary:hover { background: var(--uley-accent-soft); }
body[data-uley-service="network"] .nav-tabs .nav-link.active { color: var(--uley-accent); border-bottom-color: var(--uley-accent); }
body[data-uley-service="network"] .header__column .d-flex > a.nav-link > svg { display: none; }
body[data-uley-service="network"] .header .uley-service-brand { gap: 10px; font-size: 16px; }
body[data-uley-service="network"] .header .uley-service-brand svg { width: 28px; height: 28px; }
body[data-uley-service="network"] .badge-success { background-color: var(--uley-success); color: var(--uley-bg-deep); }
body[data-uley-service="network"] .ReactTable .rt-td { padding-block: 14px; }

body[data-uley-service="backups"] .chakra-dialog__content { border: 1px solid var(--uley-border); border-radius: var(--uley-radius, 12px); box-shadow: 0 16px 48px rgba(0, 0, 0, .2); }
body[data-uley-service="backups"] .chakra-dialog__header { padding: 24px 28px; }
body[data-uley-service="backups"] .chakra-dialog__title { font-size: 22px; line-height: 1.4; }
body[data-uley-service="backups"] .chakra-dialog__body { padding: 0 28px 24px; }
body[data-uley-service="backups"] .chakra-dialog__footer { gap: 10px; padding: 20px 28px; border-top: 1px solid var(--uley-border); }
body[data-uley-service="backups"] .chakra-input { min-height: 44px; background: var(--uley-bg-deep); }
body[data-uley-service="backups"] .chakra-field__label { margin-bottom: 8px; font-size: 14px; font-weight: 500; }
body[data-uley-service="backups"] .chakra-dialog__content:has([data-testid="login-username"]) { width: min(440px, calc(100vw / var(--uley-zoom, 1) - 40px)); margin-top: clamp(100px, 16vh, 160px); }
body[data-uley-service="backups"] .chakra-dialog__content:has([data-testid="login-username"]) .chakra-stack { flex-direction: column; gap: 20px; }
body[data-uley-service="backups"] .chakra-dialog__content:has([data-testid="login-username"]) .chakra-dialog__header { padding: 28px 32px; }
body[data-uley-service="backups"] .chakra-dialog__content:has([data-testid="login-username"]) .chakra-dialog__body { padding: 0 32px 24px; }
body[data-uley-service="backups"] .chakra-dialog__content:has([data-testid="login-username"]) .chakra-dialog__footer { border: 0; padding: 0 32px 32px; }
body[data-uley-service="backups"] [data-testid="login-submit"] { width: 100%; min-height: 44px; font-weight: 600; }
body[data-uley-service="backups"] [data-testid="operation-row"] { border-bottom: 1px solid var(--uley-border); }
body[data-uley-service="backups"] div:has(> div > .chakra-tabs__root) { border: 1px solid var(--uley-border); border-radius: var(--uley-radius, 12px); }
body[data-uley-service="backups"] #app > div { height: 100dvh; }
body[data-uley-service="backups"] .chakra-group:has([data-testid="plan-backup-now"]) > button,
body[data-uley-service="backups"] [data-testid="plan-backup-now"],
body[data-uley-service="backups"] .chakra-dialog__content button[type="submit"] { background: var(--uley-accent); color: var(--uley-accent-contrast); }
body[data-uley-service="backups"] button:disabled,
body[data-uley-service="backups"] button[aria-disabled="true"] { color: var(--uley-text-muted) !important; opacity: .7; }

@media (max-width: 1100px) {
  body[data-uley-service="search"] #results { grid-template-columns: minmax(0, 1fr) 280px; column-gap: 28px; }
  body[data-uley-service="search"] #search_view .search_box { width: min(100%, calc(100vw / var(--uley-zoom, 1) - 360px)); }
}

@media (max-width: 800px) {
  body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-welcome { grid-template-columns: minmax(0, 1fr); gap: 40px; min-height: 0; padding: 56px 32px 48px; }
  body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-branches { width: min(100%, 420px); justify-self: center; }
  body[data-uley-service="search"] #search_header { padding-top: 64px; }
  body[data-uley-service="search"] #links_on_top { top: 16px; }
  body[data-uley-service="search"] #search_view .search_box { width: 100%; }
  body[data-uley-service="search"] #results { grid-template-columns: minmax(0, 1fr); grid-template-areas: "answers" "urls" "pagination" "sidebar"; }
  body[data-uley-service="search"] #sidebar { grid-column: 1; }
  body[data-uley-service="search"] #urls { grid-column: 1; }
  body[data-uley-service="search"] .search_filters { gap: 8px; }
  body[data-uley-service="search"] .search_filters select { flex: 1 1 140px; min-width: 0; }
  body[data-uley-service="search"] .index .title h1 { font-size: 30px; }
}

@media (max-width: 480px) {
  body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-welcome { padding-inline: 24px; gap: 32px; }
  body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-intro p { font-size: 16px; }
  body:is([data-uley-service="code"], :has(> #uley-code-root)) .uley-code-actions a { padding-inline: 16px; }
  body:is([data-uley-service="code"], :has(> #uley-code-root)) #navbar { padding-inline: 12px; }
  body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin .ui.attached.segment:not(.header) { padding: 24px; }
  body:is([data-uley-service="code"], :has(> #uley-code-root)) .user.signin h4.header { padding: 24px 24px 0; }
  body[data-uley-service="server"] #main .container-body { padding: 24px; }
  body[data-uley-service="server"] #main .container-footer { padding: 16px 24px; }
  body[data-uley-service="network"] .dashboard > .col-lg-12 > .row > [class*="col-"]:has(.stats-card) { flex: 0 0 50%; max-width: 50%; }
  body[data-uley-service="network"] .stats-card { padding: 14px; gap: 8px; }
  body[data-uley-service="network"] .stats-card__title { min-height: 38px; font-size: 12px; }
  body[data-uley-service="network"] .stats-card__chart { height: 36px; }
  body[data-uley-service="network"] .stats-card__value { font-size: 24px; }
  body[data-uley-service="network"] .card-header { padding: 18px 20px; }
  body[data-uley-service="network"] .card-body { padding: 20px; }
}

/* Сеть: query log rows (blocked, allowed, rewritten) as soft tints of the dark table, not pastel fills. */
body[data-uley-service="network"] .logs__row--red,
body[data-uley-service="network"] .rt-tr-group.logs__row--red { background-color: rgba(232, 147, 147, .1) !important; }
body[data-uley-service="network"] .logs__row--green { background-color: rgba(143, 191, 155, .1) !important; }
body[data-uley-service="network"] .logs__row--blue { background-color: rgba(145, 177, 216, .1) !important; }
body[data-uley-service="network"] .logs__row--yellow { background-color: var(--uley-accent-soft, rgba(219, 182, 109, .1)) !important; }

/* Библиотека: «Page not found» as a dark card that fits small screens (no light disc, no side scroll). */
body[data-uley-service="library"] .v-application--wrap > .row { margin-inline: 0; }
body[data-uley-service="library"] .v-avatar.contrast-1 { width: min(400px, calc(86vw / var(--uley-zoom, 1))) !important; min-width: 0 !important; height: auto !important; aspect-ratio: 1; margin-top: 48px; background: var(--uley-library-surface, #1f2226) !important; border: 1px solid var(--uley-border, #343940) !important; }
body[data-uley-service="library"] .v-avatar.contrast-1 .v-icon { color: var(--uley-text-muted, #88919d) !important; }
body[data-uley-service="library"] .v-avatar.contrast-1 h1 { color: var(--uley-library-text, #e6e7e9); }
body[data-uley-service="library"] .v-avatar.contrast-1 p { color: var(--uley-text-secondary, #a0a6af); padding-inline: 24px; }

/* Библиотека: data tables (Настройки → Пользователи, Библиотеки, задачи) on the dark surface. */
body[data-uley-service="library"] .v-data-table,
body[data-uley-service="library"] .v-data-table .v-data-footer { background: var(--uley-library-surface, #1f2226) !important; color: var(--uley-library-text, #e6e7e9) !important; }
body[data-uley-service="library"] .v-data-table { border: 1px solid var(--uley-border, #343940); border-radius: calc(var(--uley-radius, 12px) - 2px); overflow: hidden; }
body[data-uley-service="library"] .v-data-table th { background: var(--uley-library-raised, #262a30) !important; color: var(--uley-text-secondary, #a0a6af) !important; }
body[data-uley-service="library"] .v-data-table td,
body[data-uley-service="library"] .v-data-table th,
body[data-uley-service="library"] .v-data-table .v-data-footer { border-color: var(--uley-border, #343940) !important; }
body[data-uley-service="library"] .v-data-table tbody tr:hover:not(.v-data-table__expanded__content):not(.v-data-table__empty-wrapper) { background: var(--uley-library-raised, #262a30) !important; }
body[data-uley-service="library"] .v-data-table .v-data-footer,
body[data-uley-service="library"] .v-data-table .v-data-footer .v-select__selection,
body[data-uley-service="library"] .v-data-table .v-icon { color: var(--uley-text-secondary, #a0a6af) !important; }

/* Код: the activity calendar. Forgejo paints empty days with a light grey and climbs from a pale
   tint to the full accent, which glares on the dark page; here empty days are a dark tile and the
   scale rises from a dim accent to a bright one. Its tooltip (an unthemed tippy box) gets the
   regular tooltip colours. */
body:is([data-uley-service="code"], :has(> #uley-code-root)) #user-heatmap rect[style*="--color-secondary-alpha-60"] { fill: var(--uley-surface-raised, #262a30) !important; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #user-heatmap rect[style*="--color-primary-light-4"] { fill: var(--uley-accent-dark-6, #5d4f33) !important; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #user-heatmap rect[style*="--color-primary-light-2"] { fill: var(--uley-accent-dark-4, #85704a) !important; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #user-heatmap rect[style*="--color-primary)"] { fill: var(--uley-accent-dark-2, #b09256) !important; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #user-heatmap rect[style*="--color-primary-dark-2"] { fill: var(--uley-accent, #dbb66d) !important; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #user-heatmap rect[style*="--color-primary-dark-4"] { fill: var(--uley-accent-light-3, #ead09c) !important; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) #user-heatmap .vch__day__square:hover { outline-color: var(--uley-accent, #dbb66d); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .tippy-box:not([data-theme]) { background: var(--uley-surface-raised, #262a30) !important; color: var(--uley-text, #e6e7e9) !important; border: 1px solid var(--uley-border, #343940); border-radius: var(--uley-radius-sm, 8px); box-shadow: 0 12px 32px rgba(0, 0, 0, .35); }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .tippy-box:not([data-theme]) * { color: inherit !important; }
body:is([data-uley-service="code"], :has(> #uley-code-root)) .tippy-box:not([data-theme]) .tippy-arrow { color: var(--uley-surface-raised, #262a30) !important; }

/* Audit 2026-10-28: places that were hard to read or fell out of the theme. */
/* Код: hints under form fields were nearly invisible. */
body:is([data-uley-service="code"], :has(> #uley-code-root)) .help { color: var(--uley-text-secondary, #a0a6af) !important; }
/* Файлы: white text on the accent (quick toggles, «Сохранить»), active settings section. */
body[data-uley-service="files"] .clickable.active,
body[data-uley-service="files"] .button.form-button:not(.flat-red):not(.button--flat) { color: var(--uley-accent-contrast, #17191c) !important; }
body[data-uley-service="files"] .clickable.active i { color: inherit !important; }
body[data-uley-service="files"] .settings-card.active-settings { background: var(--uley-accent-soft) !important; color: var(--uley-accent) !important; }
body[data-uley-service="files"] .settings-card.active-settings .settings-icon { color: inherit !important; }
/* Библиотека: hints and subtitles. */
body[data-uley-service="library"] .v-messages__message,
body[data-uley-service="library"] .v-card__subtitle,
body[data-uley-service="library"] .v-list-item__subtitle { color: var(--uley-text-muted, #88919d) !important; }
/* Поиск: the Улей mark instead of the SearXNG logo, categories wrap instead of being cut. */
body[data-uley-service="search"] img.logo { content: url("/uley-brand/accent/search.svg"); width: 56px; height: 56px; }
body[data-uley-service="search"] #categories_container { flex-wrap: wrap; row-gap: 6px; }
/* Сеть: secondary text a step brighter. */
body[data-uley-service="network"] .page-subtitle, body[data-uley-service="network"] .card-subtitle { color: var(--uley-text-secondary, #a0a6af) !important; }
/* Резервные копии: the status disc of the summary (a light pastel in Backrest). */
body[data-uley-service="backups"] div[class^="css-"]:has(> svg:only-child > polyline[points="20 6 9 17 4 12"]:only-child) { background: var(--uley-accent-soft) !important; }
/* Библиотека: Vuetify's light theme («System» on a light desktop) paints primary text black. */
body[data-uley-service="library"] .v-application .text--primary { color: var(--uley-text, #e6e7e9) !important; }
body[data-uley-service="library"] .v-application .text--secondary { color: var(--uley-text-secondary, #a0a6af) !important; }
/* Библиотека: the Улей mark in the drawer keeps to its 40px avatar (the big sign-in margins pushed it out). */
body[data-uley-service="library"] .v-avatar .uley-service-brand { margin: 0; }
body[data-uley-service="library"] .v-avatar .uley-service-brand svg { width: 30px; height: 30px; }
/* Сеть: text on the accent buttons is dark like everywhere else, and readable. */
body[data-uley-service="network"] .btn-success, body[data-uley-service="network"] .btn-primary { color: var(--uley-accent-contrast, #17191c) !important; }
/* Поиск: «Назад» and «Восстановить настройки» sat accent-on-accent. */
body[data-uley-service="search"] .preferences_back a { color: var(--uley-accent-contrast, #17191c) !important; }
/* Код: «Удалить изображение профиля» is a red link, not red on red. */
body:is([data-uley-service="code"], :has(> #uley-code-root)) .button.danger.link-action { background: transparent !important; border: 0; color: var(--uley-danger, #e89393) !important; padding-inline: 0; }
/* Файлы: the disk usage bar in the sidebar (a white track with black text). */
body[data-uley-service="files"] .vue-simple-progress { background: var(--uley-surface-raised, #262a30) !important; border-radius: 999px; }
body[data-uley-service="files"] .vue-simple-progress-bar-background { background: var(--uley-border, #343940) !important; }
body[data-uley-service="files"] .vue-simple-progress-text { color: var(--uley-text, #e6e7e9) !important; }
/* Сеть: progress tracks under top clients and domains. */
body[data-uley-service="network"] .progress { background: var(--uley-surface-raised, #262a30) !important; }
/* Библиотека: in the 40px drawer avatar only the mark fits, not the name. */
body[data-uley-service="library"] .v-avatar .uley-service-brand > :not(svg) { display: none; }

/* Память и агенты: the header mark is the hub's app plate (Сот's own icon.svg is a dark badge),
   and the active tab is a soft accent like the hub's sections, so its counter stays readable. */
body[data-uley-service="memory"] .brand > img {
  content: url("/uley-brand/accent/memory-mark.svg");
  box-sizing: border-box; width: 44px; height: 44px; padding: 9px;
  border: 1px solid var(--uley-accent-border, #dbb66d5c); border-radius: calc(var(--uley-radius, 12px) + 2px);
  background: linear-gradient(145deg, color-mix(in srgb, var(--uley-accent, #dbb66d) 28%, var(--uley-surface-raised, #262a30)), color-mix(in srgb, var(--uley-accent, #dbb66d) 6%, var(--uley-surface, #1f2226)));
  box-shadow: inset 0 1px 0 #ffffff17, 0 8px 18px -10px color-mix(in srgb, var(--uley-accent, #dbb66d) 60%, #000);
}
body[data-uley-service="memory"] .tabs a.active { background: var(--uley-accent-soft); color: var(--uley-accent, #dbb66d); box-shadow: inset 0 0 0 1px var(--uley-accent-border, #dbb66d5c); }
body[data-uley-service="memory"] .tabs a.active .badge { background: var(--uley-accent, #dbb66d); color: var(--uley-accent-contrast, #17191c); }
body[data-uley-service="memory"] .tabs a .badge { background: var(--uley-surface-raised, #262a30); color: var(--uley-text-secondary, #a0a6af); }
