/* YourLink complete frontend presentation.
   Loaded after existing styles. Existing layout/JS hooks and public-premium.css stay intact. */
.yl-unified-root { color-scheme: dark; background: #09131f; }
body:is(.yl-workspace, .yl-auth, .yl-legal, .yl-security) {
  --uf-bg: #09131f;
  --uf-panel: #0e1b2a;
  --uf-panel-2: #122235;
  --uf-input: #0a1724;
  --uf-ink: #eef5f8;
  --uf-muted: #abbacb;
  --uf-mint: #91f0ce;
  --uf-mint-hover: #b6ffe5;
  --uf-line: rgba(166, 196, 219, .17);
  --uf-mint-line: rgba(145, 240, 206, .3);
  --bg: var(--uf-bg);
  --panel: var(--uf-panel);
  --panel-2: var(--uf-panel-2);
  --surface: var(--uf-panel);
  --surface-2: var(--uf-panel-2);
  --text: var(--uf-ink);
  --muted: var(--uf-muted);
  --border: var(--uf-line);
  --primary: var(--uf-mint);
  --primary-2: var(--uf-mint-hover);
  --ui-bg: var(--uf-bg);
  --ui-panel: var(--uf-panel);
  --ui-panel-2: var(--uf-panel-2);
  --ui-border: var(--uf-line);
  --ui-border-strong: rgba(166, 196, 219, .27);
  --ui-text: var(--uf-ink);
  --ui-text-2: #d6e4ed;
  --ui-muted: var(--uf-muted);
  --ui-blue: var(--uf-mint);
  --ui-blue-2: #55d1ab;
  --ui-blue-soft: rgba(145, 240, 206, .1);
  --ui-cyan: #8fd3e1;
  --ui-radius: 14px;
  --ui-radius-sm: 10px;
  --ui-shadow: 0 12px 35px rgba(0, 0, 0, .12);
  --ui-shadow-lg: 0 22px 65px rgba(0, 0, 0, .23);
  margin: 0;
  color: var(--uf-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body:is(.yl-workspace, .yl-auth, .yl-legal, .yl-security) *,
body:is(.yl-workspace, .yl-auth, .yl-legal, .yl-security) *::before,
body:is(.yl-workspace, .yl-auth, .yl-legal, .yl-security) *::after { box-sizing: border-box; }
body:is(.yl-workspace, .yl-auth, .yl-legal, .yl-security) :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--uf-mint) !important; outline-offset: 3px; }
body:is(.yl-auth, .yl-legal, .yl-security) a { color: inherit; }
body:is(.yl-auth, .yl-legal, .yl-security) :is(h1, h2, h3, h4) { color: var(--uf-ink); letter-spacing: -.035em; }

/* The same shell serves administrators and customer roles. */
body.yl-workspace.admin-body.pro-admin { background: radial-gradient(ellipse at 100% 0%, rgba(145, 240, 206, .035), transparent 35%), var(--uf-bg) !important; color: var(--uf-ink) !important; }
body.yl-workspace.admin-body.pro-admin .yl-sidebar { background: #0a1723 !important; border-color: var(--uf-line) !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin .yl-brand { border-color: var(--uf-line) !important; }
body.yl-workspace.admin-body.pro-admin .yl-brand-mark { background: var(--uf-mint) !important; color: #092419 !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin .yl-brand-text strong { color: var(--uf-ink) !important; font-size: 17px !important; }
body.yl-workspace.admin-body.pro-admin .yl-brand-text small { color: var(--uf-muted) !important; font-size: 10px !important; }
body.yl-workspace.admin-body.pro-admin .sidebar-section-label { color: #97acbd !important; font-size: 10px !important; letter-spacing: .13em !important; }
body.yl-workspace.admin-body.pro-admin .yl-nav-link { color: #bdcbdb !important; font-size: 12px !important; }
body.yl-workspace.admin-body.pro-admin .yl-nav-link:hover { background: rgba(145, 240, 206, .055) !important; border-color: var(--uf-line) !important; color: var(--uf-ink) !important; }
body.yl-workspace.admin-body.pro-admin .yl-nav-link.active { color: var(--uf-mint) !important; background: rgba(145, 240, 206, .095) !important; border-color: var(--uf-mint-line) !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin .yl-nav-link.active::before { background: var(--uf-mint); }
body.yl-workspace.admin-body.pro-admin .nav-icon { background: rgba(166, 196, 219, .06) !important; color: #98b4c5 !important; }
body.yl-workspace.admin-body.pro-admin .yl-nav-link.active .nav-icon,
body.yl-workspace.admin-body.pro-admin .yl-nav-link:hover .nav-icon { color: var(--uf-mint) !important; background: rgba(145, 240, 206, .1) !important; }
body.yl-workspace.admin-body.pro-admin .sidebar-plan-card { background: var(--uf-panel-2) !important; border-color: var(--uf-line) !important; }
body.yl-workspace.admin-body.pro-admin .sidebar-plan-card :is(span, small) { color: var(--uf-muted) !important; font-size: 11px !important; }
body.yl-workspace.admin-body.pro-admin .yl-topbar { background: rgba(9, 19, 31, .97) !important; border-color: var(--uf-line) !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin .topbar-title .eyebrow { color: var(--uf-mint) !important; font-size: 9px !important; }
body.yl-workspace.admin-body.pro-admin .yl-topbar h1 { color: var(--uf-ink) !important; font-size: 22px !important; }
body.yl-workspace.admin-body.pro-admin .yl-topbar p { color: var(--uf-muted) !important; font-size: 11px !important; }
body.yl-workspace.admin-body.pro-admin :is(.admin-search, .admin-search-results, .user-chip, .yl-notification-bell, .mobile-nav-toggle) { background: var(--uf-panel) !important; border-color: var(--uf-line) !important; color: #c5d9e5 !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin .admin-search:focus-within { border-color: var(--uf-mint-line) !important; box-shadow: 0 0 0 3px rgba(145, 240, 206, .08) !important; }
body.yl-workspace.admin-body.pro-admin .admin-search input { min-height: 36px; font-size: 12px !important; }
body.yl-workspace.admin-body.pro-admin .admin-search-result:hover { background: rgba(145, 240, 206, .09); }
body.yl-workspace.admin-body.pro-admin .user-chip > span,
body.yl-workspace.admin-body.pro-admin .yl-notification-count { background: var(--uf-mint) !important; color: #092419 !important; border-color: var(--uf-bg) !important; }
body.yl-workspace.admin-body.pro-admin .user-chip b { font-size: 11px !important; }
body.yl-workspace.admin-body.pro-admin .user-chip small { font-size: 10px !important; }
body.yl-workspace.admin-body.pro-admin :is(h1, h2, h3, h4) { color: var(--uf-ink); }
body.yl-workspace.admin-body.pro-admin p { color: var(--uf-muted); line-height: 1.75; }
body.yl-workspace.admin-body.pro-admin :is(.muted, small) { color: var(--uf-muted) !important; }
body.yl-workspace.admin-body.pro-admin .eyebrow { color: var(--uf-mint) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .12em !important; }

/* Shared cards cover dashboard, links, domains, rules, settings and include views. */
body.yl-workspace.admin-body.pro-admin :is(.card, .stat-card, .yl-kpi-card, .log-kpi, .message-card, .alias-preview-card, .advanced-rule-box, .link-control-card, .logs-hero, .logs-filter-card, .logs-table-card, .dashboard-hero, .yl-page-head, .registration-toggle-card, .quick-action-card, .billing-dashboard-card) {
  min-width: 0;
  background: var(--uf-panel) !important;
  border-color: var(--uf-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--ui-shadow) !important;
}
body.yl-workspace.admin-body.pro-admin :is(.card, .yl-kpi-card, .log-kpi):hover { border-color: rgba(166, 196, 219, .24) !important; }
body.yl-workspace.admin-body.pro-admin .yl-page-head { background: radial-gradient(ellipse at 0% 0%, rgba(145, 240, 206, .055), transparent 60%), var(--uf-panel) !important; }
body.yl-workspace.admin-body.pro-admin .card { padding: 22px !important; }
body.yl-workspace.admin-body.pro-admin .card-header :is(h2, h3),
body.yl-workspace.admin-body.pro-admin .form-card h2 { font-size: 19px !important; line-height: 1.35; font-weight: 650 !important; }
body.yl-workspace.admin-body.pro-admin .card-header.compact h2 { font-size: 17px !important; }
body.yl-workspace.admin-body.pro-admin .card-header { flex-wrap: wrap; gap: 14px !important; }
body.yl-workspace.admin-body.pro-admin .yl-kpi-card strong { font-size: 28px !important; font-weight: 650 !important; }
body.yl-workspace.admin-body.pro-admin .yl-kpi-card :is(span, small),
body.yl-workspace.admin-body.pro-admin .log-kpi :is(span, small) { color: var(--uf-muted) !important; font-size: 11px !important; line-height: 1.6; }
body.yl-workspace.admin-body.pro-admin .yl-kpi-card::after { opacity: .12 !important; }
body.yl-workspace.admin-body.pro-admin .billing-dashboard-card :is(span, small) { color: var(--uf-muted) !important; line-height: 1.55 !important; }
body.yl-workspace.admin-body.pro-admin .billing-dashboard-card strong { color: var(--uf-ink) !important; font-weight: 650 !important; }
body.yl-workspace.admin-body.pro-admin :is(.quick-action-card, .quick-action-card:hover, .kpi-icon, .yl-notice-icon) { background: rgba(145, 240, 206, .075) !important; color: var(--uf-mint) !important; border-color: var(--uf-mint-line) !important; }
body.yl-workspace.admin-body.pro-admin :is(.quick-action-card h3, .quick-action-card strong) { color: var(--uf-ink); }
body.yl-workspace.admin-body.pro-admin :is(.quick-action-card p, .quick-action-card small) { color: var(--uf-muted) !important; }
body.yl-workspace.admin-body.pro-admin :is(.yl-chart-row i, .yl-stacked-bar .allow, .chart-bar) { background: #78ddbf; }
body.yl-workspace.admin-body.pro-admin .yl-chart-row .bar-fill { background: var(--uf-mint); }
body.yl-workspace.admin-body.pro-admin :is(.guide-grid > div, .mini-guide, .domain-mini-guide, .soft-note, .compact-note, .muted-card, .domain-token-card, .domain-preview-card, .domain-mini-status, .tracking-health, .compact-health span, .api-health-card, .bulk-block-url-panel, .link-owner-summary, .link-owner-admin-box, .owner-filter-panel, .preset-card, .log-details, .log-detail-grid > div, .input-with-suffix, .utm-result-card) { background: var(--uf-panel-2) !important; border-color: var(--uf-line) !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin :is(.guide-grid strong, .compact-health b, .log-details summary) { color: #c9dbe6 !important; font-size: 11px !important; }
body.yl-workspace.admin-body.pro-admin :is(code, .guide-grid code, .copy-url-preview, .url-cell, .yl-notice-link) { color: #b5edda !important; }
body.yl-workspace.admin-body.pro-admin :is(.yl-notice-item, .yl-subscription-banner) { background: var(--uf-panel-2) !important; border-color: var(--uf-line) !important; }
body.yl-workspace.admin-body.pro-admin :is(.yl-notice-item.is-unread, .yl-notice-unread-pill) { background: rgba(145, 240, 206, .07) !important; border-color: var(--uf-mint-line) !important; }
body.yl-workspace.admin-body.pro-admin .yl-notice-unread-pill { color: var(--uf-mint) !important; }

/* Controls: preserve types, dimensions of hidden inputs, and existing JS selectors. */
body.yl-workspace.admin-body.pro-admin label { color: #c5d5e0 !important; font-size: 12px !important; font-weight: 650 !important; }
body.yl-workspace.admin-body.pro-admin :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { background: var(--uf-input) !important; border-color: var(--uf-line) !important; color: var(--uf-ink) !important; font-size: 13px !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin :is(input, textarea)::placeholder { color: #91a8bb !important; opacity: 1; }
body.yl-workspace.admin-body.pro-admin :is(input, select, textarea):focus { border-color: var(--uf-mint-line) !important; background: #0c1c29 !important; box-shadow: 0 0 0 3px rgba(145, 240, 206, .07) !important; }
body.yl-workspace.admin-body.pro-admin :is(input[readonly], .billing-readonly-field) { color: #bbd0db !important; background: #112330 !important; }
body.yl-workspace.admin-body.pro-admin :is(input[type="checkbox"], input[type="radio"]) { accent-color: #73dfba; }
body.yl-workspace.admin-body.pro-admin .btn { min-height: 39px !important; padding: 9px 13px !important; background: var(--uf-panel-2) !important; border-color: var(--uf-line) !important; color: #dbe9f1 !important; font-size: 12px !important; line-height: 1.35 !important; font-weight: 650 !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin .btn:hover { background: #1a3042 !important; border-color: rgba(166, 196, 219, .3) !important; color: var(--uf-ink) !important; }
body.yl-workspace.admin-body.pro-admin .btn.primary { background: var(--uf-mint) !important; border-color: var(--uf-mint) !important; color: #092419 !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin .btn.primary:hover { background: var(--uf-mint-hover) !important; border-color: var(--uf-mint-hover) !important; }
body.yl-workspace.admin-body.pro-admin .btn.ghost { background: transparent !important; }
body.yl-workspace.admin-body.pro-admin .btn.danger { color: #ffc0c0 !important; background: rgba(227, 77, 96, .12) !important; border-color: rgba(227, 77, 96, .35) !important; }
body.yl-workspace.admin-body.pro-admin .btn.danger:hover { background: rgba(227, 77, 96, .2) !important; }
body.yl-workspace.admin-body.pro-admin .btn.small { min-height: 34px !important; padding: 7px 10px !important; font-size: 11px !important; }
body.yl-workspace.admin-body.pro-admin .badge,
body.yl-workspace.admin-body.pro-admin .reason-badge { min-height: 23px !important; font-size: 10px !important; line-height: 1.35 !important; letter-spacing: .025em !important; }
body.yl-workspace.admin-body.pro-admin :is(.badge.allow, .badge.success, .alert.success) { color: #b1efca !important; background: rgba(60, 170, 112, .1) !important; border-color: rgba(109, 216, 155, .24) !important; }
body.yl-workspace.admin-body.pro-admin :is(.badge.block, .badge.danger, .alert.danger) { color: #ffb9bb !important; background: rgba(227, 77, 96, .1) !important; border-color: rgba(227, 77, 96, .27) !important; }
body.yl-workspace.admin-body.pro-admin .badge.warning { color: #f8d59b !important; background: rgba(245, 173, 69, .09) !important; }
body.yl-workspace.admin-body.pro-admin .alert { font-size: 13px !important; line-height: 1.7; }

/* Tables and report views keep full data available in their own scrollers. */
body.yl-workspace.admin-body.pro-admin :is(.table-wrap, .compact-table-wrap, .professional-log-table) { max-width: 100%; min-width: 0; border-color: var(--uf-line); background: #0a1724 !important; scrollbar-color: #395c61 transparent; }
body.yl-workspace.admin-body.pro-admin table { font-size: 12px !important; }
body.yl-workspace.admin-body.pro-admin table th { padding: 12px !important; background: #132536 !important; border-color: var(--uf-line) !important; color: #afc4d3 !important; font-size: 10px !important; letter-spacing: .07em !important; font-weight: 650 !important; }
body.yl-workspace.admin-body.pro-admin table td { padding: 12px !important; color: #d2e1eb !important; border-color: rgba(166, 196, 219, .1) !important; line-height: 1.6; }
body.yl-workspace.admin-body.pro-admin table tbody tr:hover td { background: rgba(145, 240, 206, .035) !important; }
body.yl-workspace.admin-body.pro-admin table :is(strong, b) { color: var(--uf-ink) !important; }
body.yl-workspace.admin-body.pro-admin table code { color: #b5edda !important; font-size: 11px; }
body.yl-workspace.admin-body.pro-admin :is(.report-title, .report-events-card, .report-kpis > div) { background: var(--uf-panel) !important; border-color: var(--uf-line) !important; }

/* Billing, subscription and wallet surfaces share the same presentation tokens. */
body.yl-workspace.admin-body.pro-admin :is(.billing-balance-card, .billing-info-card, .billing-engine-card, .billing-payment-card, .current-sub-card, .billing-pending-change, .billing-upgrade-preview, .billing-method-card, .billing-method-instructions, .billing-field-section, .billing-config-stat, .billing-manual-op, .billing-payment-form-shell, .billing-form-kicker, .billing-qr-form-section, .billing-submit-section, .billing-copy-field, .billing-readonly-grid, .billing-settings-head, .billing-settings-section-title, .billing-subscription-editor, .plan-admin-row, .billing-step-number, .webhook-secret-box) { background: var(--uf-panel-2) !important; border-color: var(--uf-line) !important; box-shadow: none !important; }
body.yl-workspace.admin-body.pro-admin :is(.billing-head-balance, .billing-inline-balance, .billing-network-icon, .billing-payment-total, .billing-setup-fee, .billing-qr-help, .plan-top > b) { background: rgba(145, 240, 206, .065) !important; border-color: var(--uf-mint-line) !important; color: #c1efdf !important; }
body.yl-workspace.admin-body.pro-admin :is(.billing-method-card.active, .billing-plan-card.current, .billing-payment-complete) { border-color: var(--uf-mint-line) !important; }
body.yl-workspace.admin-body.pro-admin :is(.billing-section-title, .billing-payment-total strong, .billing-balance-card strong, .billing-step-number, .payment-amount, .plan-price strong) { color: var(--uf-ink) !important; }
body.yl-workspace.admin-body.pro-admin :is(.billing-field-section small, .billing-form-kicker small, .billing-method-instructions p, .plan-features > div, .plan-price span, .billing-payment-note) { color: var(--uf-muted) !important; }
body.yl-workspace.admin-body.pro-admin :is(.plan-features, .plan-features > div, .billing-savebar, .billing-advanced-title) { border-color: var(--uf-line) !important; }
body.yl-workspace.admin-body.pro-admin .billing-payment-qr-image { background: #fff; }
body.yl-workspace.admin-body.pro-admin :is(.plan-features strong, .billing-setup-fee strong) { overflow-wrap: anywhere; }

/* Telegram, livechat and webmail: theme the application chrome, not media. */
body.yl-workspace.admin-body.pro-admin :is(.tg-conversation-list, .tg-chat-panel, .tg-chat-header, .tg-chat-messages, .tg-chat-tools, .tg-reply-form, .tg-reply-compose, .tg-file-card, .tg-attach-picker, .tg-account-card, .lc-session-list, .lc-thread-card, .lc-thread-head, .lc-messages, .lc-compose, .webmail-server-box, .webmail-account-row, .webmail-mailboxes, .webmail-list-panel, .webmail-list-head, .webmail-reader-panel, .webmail-compose-panel, .webmail-body) { background: var(--uf-panel) !important; border-color: var(--uf-line) !important; }
body.yl-workspace.admin-body.pro-admin :is(.tg-conversation-item, .lc-session-item, .webmail-message-item) { border-color: var(--uf-line) !important; }
body.yl-workspace.admin-body.pro-admin :is(.tg-conversation-item.active, .tg-conversation-item:hover, .lc-session-item.active, .lc-session-item:hover, .webmail-message-item.active, .webmail-message-item:hover, .webmail-account-tab.active, .webmail-mailbox-link.active, .webmail-folder-link.active) { background: rgba(145, 240, 206, .08) !important; border-color: var(--uf-mint-line) !important; }
body.yl-workspace.admin-body.pro-admin :is(.tg-chat-avatar, .tg-conversation-avatar, .lc-avatar, .tg-connect-icon, .tg-unread, .lc-unread, .tg-file-icon) { background: rgba(145, 240, 206, .1) !important; color: var(--uf-mint) !important; border-color: var(--uf-mint-line) !important; }
body.yl-workspace.admin-body.pro-admin :is(.tg-msg.in > .tg-msg-bubble, .lc-bubble, .webmail-current-account) { background: var(--uf-panel-2) !important; border-color: var(--uf-line) !important; color: var(--uf-ink) !important; }
body.yl-workspace.admin-body.pro-admin :is(.tg-msg.out > .tg-msg-bubble, .lc-message.outbound .lc-bubble) { background: #183c35 !important; border-color: rgba(145, 240, 206, .24) !important; color: #e2f8f0 !important; }
body.yl-workspace.admin-body.pro-admin :is(.tg-inbox-filters, .tg-search-field, .tg-selected-file, .tg-setup-list li, .webmail-account-tabs, .webmail-account-tab, .webmail-search) { border-color: var(--uf-line) !important; }
body.yl-workspace.admin-body.pro-admin :is(.tg-setup-list li, .tg-command-grid > div, .tg-check-grid > label, .tg-team-grid > div) { background: var(--uf-panel-2) !important; }
body.yl-workspace.admin-body.pro-admin :is(.webmail-shell, .tg-chat-panel, .lc-thread-card) { padding: 0 !important; }
body.yl-workspace.admin-body.pro-admin :is(.tg-conversation-list, .lc-session-list) { padding: 14px !important; }

/* Auth, registration-disabled state and installer retain every existing form. */
body.yl-auth.auth-body { min-height: 100vh; min-height: 100dvh; padding: clamp(20px, 5vw, 54px); background: radial-gradient(ellipse at 50% 0%, rgba(145, 240, 206, .09), transparent 50%), var(--uf-bg); }
body.yl-auth .auth-shell { width: min(480px, 100%); min-width: 0; }
body.yl-auth .auth-shell.wide { width: min(800px, 100%); }
body.yl-auth .auth-card { padding: 37px; border: 1px solid var(--uf-line); border-radius: 22px; background: var(--uf-panel); box-shadow: 0 26px 75px rgba(0, 0, 0, .22); }
body.yl-auth .brand-mark { width: 44px; height: 44px; border-radius: 13px; background: var(--uf-mint); color: #092419; }
body.yl-auth .auth-card h1 { margin: 24px 0 12px; font-size: 32px; line-height: 1.15; font-weight: 680; letter-spacing: -.045em; }
body.yl-auth .auth-card p { color: var(--uf-muted); font-size: 14px; line-height: 1.8; }
body.yl-auth :is(.stack, .grid-form) { gap: 18px; margin-top: 27px; }
body.yl-auth label { color: #cbdde7; font-size: 13px; font-weight: 600; gap: 8px; min-width: 0; }
body.yl-auth :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select) { min-width: 0; padding: 12px 14px; border: 1px solid var(--uf-line); border-radius: 10px; background: var(--uf-input); color: var(--uf-ink); font-size: 14px; }
body.yl-auth :is(input, textarea)::placeholder { color: #91a8bb; }
body.yl-auth :is(input, textarea, select):focus { border-color: var(--uf-mint-line); box-shadow: 0 0 0 3px rgba(145, 240, 206, .07); }
body.yl-auth small { color: var(--uf-muted); font-size: 11px; line-height: 1.65; font-weight: 450; }
body.yl-auth .btn { min-height: 46px; padding: 12px 18px; border-radius: 11px; font-size: 14px; font-weight: 700; line-height: 1.4; }
body.yl-auth .btn.primary { background: var(--uf-mint); border-color: var(--uf-mint); color: #092419; }
body.yl-auth .btn.primary:hover { background: var(--uf-mint-hover); border-color: var(--uf-mint-hover); }
body.yl-auth .auth-switch { padding-top: 21px; margin: 24px 0 0; border-top: 1px solid var(--uf-line); font-size: 12px; }
body.yl-auth .auth-switch a { color: var(--uf-mint); }
body.yl-auth .alert { padding: 14px 16px; border-radius: 11px; font-size: 13px; line-height: 1.7; }
body.yl-auth .alert.danger { color: #ffb9bb; background: rgba(227, 77, 96, .1); border-color: rgba(227, 77, 96, .27); }
body.yl-auth .alert.success { color: #b1efca; background: rgba(60, 170, 112, .1); border-color: rgba(109, 216, 155, .24); }
body.yl-auth .grid-form h2 { color: var(--uf-mint); font-size: 11px; letter-spacing: .12em; }

/* Static legal/download renderer, used independently of public_template.php. */
body.yl-legal { background: var(--uf-bg); }
body.yl-legal .wrap { width: min(1220px, calc(100% - 64px)); }
body.yl-legal .top { background: var(--uf-bg); border-color: var(--uf-line); }
body.yl-legal .nav { min-height: 86px; gap: 28px; }
body.yl-legal .brand { color: var(--uf-ink); font-size: 20px; font-weight: 750; letter-spacing: -.04em; }
body.yl-legal .logo { background: var(--uf-mint); color: #092419; border-radius: 12px; }
body.yl-legal .brand span small { color: var(--uf-muted); font-size: 10px; font-weight: 450; letter-spacing: 0; }
body.yl-legal .links { gap: 2px; }
body.yl-legal .links a { padding: 10px 12px; border-radius: 9px; color: #bdcbdb; font-size: 12px; font-weight: 650; }
body.yl-legal .links a:hover { color: var(--uf-mint); background: rgba(145, 240, 206, .055); }
body.yl-legal .links .cta { background: rgba(145, 240, 206, .07); border: 1px solid var(--uf-mint-line); color: var(--uf-mint); }
body.yl-legal .hero { padding: 72px 0 64px; background: radial-gradient(ellipse at 90% 0%, rgba(145, 240, 206, .05), transparent 65%), var(--uf-bg); }
body.yl-legal .hero h1 { max-width: 900px; font-size: clamp(38px, 4.2vw, 57px); line-height: 1.13; margin: 22px 0; letter-spacing: -.045em; font-weight: 680; }
body.yl-legal .hero p { color: var(--uf-muted); font-size: 16px; line-height: 1.85; }
body.yl-legal .eyebrow { color: var(--uf-mint); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
body.yl-legal .eyebrow::before { width: 6px; height: 6px; border-radius: 50%; }
body.yl-legal .main { padding: 12px 0 68px; }
body.yl-legal .card { padding: 37px; border-color: var(--uf-line); border-radius: 14px; background: var(--uf-panel); box-shadow: none; }
body.yl-legal .card h2 { margin-top: 32px; color: var(--uf-ink); font-size: 23px; font-weight: 650; line-height: 1.35; }
body.yl-legal .card h2:first-child { margin-top: 0; }
body.yl-legal .card p { color: var(--uf-muted); font-size: 14px; line-height: 1.9; }
body.yl-legal .grid { gap: 20px; }
body.yl-legal .resource { min-height: 230px; }
body.yl-legal .resource .btn { margin-top: 25px; background: var(--uf-mint); color: #092419; font-size: 13px; border-radius: 10px; }
body.yl-legal .resource .btn.alt { background: transparent; color: var(--uf-mint); border: 1px solid var(--uf-mint-line); }
body.yl-legal .back { color: var(--uf-mint); padding-block: 8px; }
body.yl-legal .footer { padding: 42px 0 24px; border-top: 1px solid var(--uf-line); background: #08111b; color: var(--uf-muted); }
body.yl-legal .footer strong { color: var(--uf-ink); font-size: 14px; font-weight: 650; }
body.yl-legal .footer p, body.yl-legal .legal-links a { color: var(--uf-muted); font-size: 12px; }
body.yl-legal .legal-links a:hover { color: var(--uf-mint); }
body.yl-legal .bottom { margin-top: 32px; border-color: var(--uf-line); }

/* Contact keeps its submitted values, form validation, notices and support links. */
body.yl-contact-unified.yl-marketing .yl-contact-page,
body.yl-contact-unified.yl-marketing .yl-contact-section { background: #09131f; }
body.yl-contact-unified.yl-marketing .yl-contact-hero { background: radial-gradient(ellipse at 80% 40%, rgba(145, 240, 206, .065), transparent 55%), #09131f; }
body.yl-contact-unified.yl-marketing .yl-contact-hero::after { display: none; }
body.yl-contact-unified.yl-marketing .yl-contact-hero h1 em { color: #91f0ce; }
body.yl-contact-unified.yl-marketing :is(.yl-contact-intro h2, .yl-contact-card-heading h3, .yl-contact-side-card h3, .yl-contact-side-note h3, .yl-contact-form label, .yl-contact-label-text, .yl-contact-channel-content strong) { color: #eef5f8; }
body.yl-contact-unified.yl-marketing :is(.yl-contact-intro p, .yl-contact-card-heading p, .yl-contact-side-card p, .yl-contact-side-note p, .yl-contact-form-footer small, .yl-contact-channel-content small) { color: #abbacb; }
body.yl-contact-unified.yl-marketing :is(.section-eyebrow, .section-eyebrow.light, .yl-contact-kicker, .yl-contact-dashboard-link) { color: #91f0ce; }
body.yl-contact-unified.yl-marketing :is(.yl-contact-form, .yl-contact-side-card, .yl-contact-side-note, .yl-contact-hero-panel) { border-color: rgba(166, 196, 219, .17); border-radius: 16px; background: #0e1b2a; box-shadow: none; }
body.yl-contact-unified.yl-marketing :is(.yl-contact-panel-icon, .yl-contact-icon, .yl-contact-note-icon, .yl-contact-channel-mark) { background: rgba(145, 240, 206, .09); color: #91f0ce; box-shadow: none; }
body.yl-contact-unified.yl-marketing :is(.yl-contact-panel-tiles span, .yl-contact-channel, .yl-contact-form-footer) { border-color: rgba(166, 196, 219, .17); }
body.yl-contact-unified.yl-marketing .yl-contact-form :is(input:not(.yl-contact-honeypot), textarea) { background: #0a1724; border-color: rgba(166, 196, 219, .2); color: #eef5f8; border-radius: 10px; }
body.yl-contact-unified.yl-marketing .yl-contact-form :is(input, textarea):focus { background: #0a1724; border-color: rgba(145, 240, 206, .5); box-shadow: 0 0 0 3px rgba(145, 240, 206, .08); }
body.yl-contact-unified.yl-marketing .yl-contact-form :is(input, textarea)::placeholder { color: #91a8bb; }
body.yl-contact-unified.yl-marketing .yl-contact-form label .yl-contact-label-text { color: #eef5f8; }
body.yl-contact-unified.yl-marketing .yl-contact-alert-success { color: #b1efca; background: rgba(60, 170, 112, .1); border-color: rgba(109, 216, 155, .24); }
body.yl-contact-unified.yl-marketing .yl-contact-alert-error { color: #ffb9bb; background: rgba(227, 77, 96, .1); border-color: rgba(227, 77, 96, .27); }
body.yl-contact-unified.yl-marketing :is(.yl-contact-channel:hover, .yl-contact-dashboard-link:hover) { color: #b6ffe5; }
body.yl-shared-home .mock-chart { background: linear-gradient(180deg, rgba(145, 240, 206, .16), rgba(145, 240, 206, .015)); border-color: rgba(145, 240, 206, .17); }

/* Subscription gate, human verification and redirect-stage shell. */
body.yl-security { background: radial-gradient(ellipse at 50% 0%, rgba(145, 240, 206, .065), transparent 60%), var(--uf-bg); color: var(--uf-ink); }
body.yl-link-gate .box, body.yl-verify .verify-wrap { background: var(--uf-panel); border-color: var(--uf-line); border-radius: 20px; box-shadow: 0 24px 75px rgba(0, 0, 0, .2); }
body.yl-link-gate h1 { color: var(--uf-ink); font-size: 27px; line-height: 1.25; font-weight: 650; }
body.yl-link-gate :is(p, .brand), body.yl-verify :is(.verify-desc, .verify-status, .verify-brand small) { color: var(--uf-muted); }
body.yl-link-gate .note { background: var(--uf-panel-2); color: #c0d3df; border-color: var(--uf-line); }
body.yl-link-gate .mark { background: rgba(227, 77, 96, .1); color: #ffb9bb; }
body.yl-link-gate .btn { background: var(--uf-mint); color: #092419; border-radius: 10px; }
body.yl-verify .verify-host { color: #c0d3df; }
body.yl-verify .verify-host::before { box-shadow: 0 0 0 4px rgba(145, 240, 206, .08); }
body.yl-verify .verify-widget { background: var(--uf-panel-2); border-color: var(--uf-line); box-shadow: none; }
body.yl-verify .verify-widget:hover { border-color: var(--uf-mint-line); box-shadow: none; }
body.yl-verify .verify-check { background: var(--uf-input) !important; border-color: #b7cbbf !important; }
body.yl-verify .verify-check:checked { background: var(--uf-mint) !important; border-color: var(--uf-mint) !important; box-shadow: 0 0 0 4px rgba(145, 240, 206, .1); }
body.yl-verify .verify-check:checked::after { color: #092419; }
body.yl-verify .verify-brand strong { color: #d9ebe3; }
body.yl-verify .verify-shield::before { filter: none; }
body.yl-router-stage { background: #09131f; }
body.yl-router-stage .block-delay-frame { background: #09131f; }

/* Customer livechat widget, including runtime message nodes. Hidden semantics remain untouched. */
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-launch { background: #91f0ce; color: #092419; box-shadow: 0 12px 32px rgba(0, 0, 0, .25) !important; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-panel { border-color: rgba(166, 196, 219, .23); background: #0e1b2a; color: #eef5f8; box-shadow: 0 24px 70px rgba(0, 0, 0, .34); }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-panel > header { background: #122235; border-color: rgba(166, 196, 219, .17); color: #eef5f8; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-panel > header :is(button, strong) { color: #eef5f8; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-panel > header small { color: #abbacb; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) :is(.yl-livechat-start, .yl-livechat-chat, .yl-livechat-messages, .yl-livechat-compose, .yl-livechat-status) { background: #0e1b2a !important; color: #abbacb; border-color: rgba(166, 196, 219, .17); }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-start :is(label, p) { color: #c5d5e0; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat :is(input:not([type="file"]), textarea) { background: #0a1724; color: #eef5f8; border-color: rgba(166, 196, 219, .23); }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat .btn.primary { background: #91f0ce !important; border-color: #91f0ce !important; color: #092419 !important; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-attach { color: #c5d5e0; border-color: rgba(166, 196, 219, .23); background: #122235; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-msg > div { background: #122235; border-color: rgba(166, 196, 219, .15); color: #eef5f8; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-msg.out > div { background: #183c35; border-color: rgba(145, 240, 206, .24); color: #e2f8f0; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat-msg :is(p, small) { color: inherit; }
body:is(.yl-public, .yl-auth, .yl-workspace, .yl-legal, .yl-security) .yl-livechat :is(button, input, textarea, label):focus-visible { outline: 3px solid #91f0ce !important; outline-offset: 2px; }

@media (max-width: 1100px) {
  body.yl-workspace.admin-body.pro-admin .billing-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.yl-legal .nav { flex-wrap: wrap; gap: 14px; padding-block: 18px; }
  body.yl-legal .links { width: 100%; }
}
@media (max-width: 760px) {
  body.yl-legal .wrap { width: calc(100% - 40px); }
  body.yl-legal .links { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; justify-content: flex-start; padding: 4px; overscroll-behavior-x: contain; scrollbar-width: thin; }
  body.yl-legal .links a:not(.cta) { display: inline-flex; }
  body.yl-legal .links a { flex-shrink: 0; white-space: nowrap; min-height: 39px; }
  body.yl-legal .hero { padding-block: 47px; }
  body.yl-legal .hero h1 { font-size: clamp(32px, 8.3vw, 43px); }
  body.yl-legal .hero p { font-size: 14px; }
  body.yl-legal .main { padding-bottom: 48px; }
  body.yl-legal .card { padding: 27px; }
  body.yl-legal .grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body.yl-legal .footer-in { flex-direction: column; }
  body.yl-workspace.admin-body.pro-admin :is(.billing-plan-grid, .billing-field-grid.three, .billing-field-grid.two) { grid-template-columns: minmax(0, 1fr); }
  body.yl-workspace.admin-body.pro-admin .billing-two-col { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  body.yl-workspace.admin-body.pro-admin .yl-topbar { flex-wrap: wrap !important; gap: 11px !important; }
  body.yl-workspace.admin-body.pro-admin .topbar-title { flex: 1; min-width: 0; }
  body.yl-workspace.admin-body.pro-admin .yl-topbar h1 { font-size: 20px !important; }
  body.yl-workspace.admin-body.pro-admin .yl-topbar-actions { width: 100%; justify-content: flex-end; flex-wrap: wrap; margin-left: 0 !important; }
  body.yl-workspace.admin-body.pro-admin .yl-topbar-actions .btn.ghost { display: inline-flex !important; }
  body.yl-workspace.admin-body.pro-admin .card { padding: 18px !important; }
  body.yl-workspace.admin-body.pro-admin .card-header :is(h2, h3) { font-size: 18px !important; }
  body.yl-workspace.admin-body.pro-admin .table-wrap { width: 100%; }
  body.yl-workspace.admin-body.pro-admin .yl-page-head { gap: 18px; }
  body.yl-workspace.admin-body.pro-admin :is(.field-wide, .field-wide-md, .span-2, .span-3) { grid-column: auto; }
  body.yl-workspace.admin-body.pro-admin :is(.billing-payment-fields, .billing-subscription-editor, .billing-manual-ops-grid, .webmail-settings-grid, .webmail-server-grid) { grid-template-columns: minmax(0, 1fr); }
  body.yl-workspace.admin-body.pro-admin :is(.billing-setup-fee, .plan-features > div) { flex-wrap: wrap; gap: 8px; }
  body.yl-workspace.admin-body.pro-admin .yl-notice-item { flex-wrap: wrap; }
  body.yl-workspace.admin-body.pro-admin .yl-notice-item > form { margin-left: 48px; }
  body.yl-auth .auth-card { padding: 29px 24px; border-radius: 19px; }
  body.yl-auth .auth-card h1 { font-size: 30px; }
  body.yl-auth .form-row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
  /* Give native date segments and the calendar control a full row on narrow screens. */
  body.yl-workspace.admin-body.pro-admin .yl-range-filter { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 10px; align-items: stretch; }
  body.yl-workspace.admin-body.pro-admin .yl-range-filter label { width: 100%; min-width: 0; flex: none; }
  body.yl-workspace.admin-body.pro-admin .yl-range-filter input[type="date"] { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
  body.yl-workspace.admin-body.pro-admin .yl-range-filter .btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .yl-unified-root { scroll-behavior: auto; }
  body:is(.yl-workspace, .yl-auth, .yl-legal, .yl-security, .yl-contact-unified) *,
  body:is(.yl-workspace, .yl-auth, .yl-legal, .yl-security, .yl-contact-unified) *::before,
  body:is(.yl-workspace, .yl-auth, .yl-legal, .yl-security, .yl-contact-unified) *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media print {
  body.yl-workspace.admin-body.pro-admin { --uf-bg: #fff; --uf-panel: #fff; --uf-panel-2: #f3f4f6; --uf-ink: #111827; --uf-muted: #475569; --uf-mint: #16624c; --uf-line: #d1d5db; background: #fff !important; color: #111827 !important; color-scheme: light; }
  body.yl-workspace.admin-body.pro-admin :is(.card, .yl-kpi-card, .report-title, .report-events-card, .report-kpis > div) { box-shadow: none !important; background: #fff !important; border-color: #d1d5db !important; }
  body.yl-workspace.admin-body.pro-admin :is(h1, h2, h3, strong, b, p, small, .muted) { color: #111827 !important; }
  body.yl-workspace.admin-body.pro-admin table th { position: static; background: #f3f4f6 !important; color: #374151 !important; }
  body.yl-workspace.admin-body.pro-admin table td, body.yl-workspace.admin-body.pro-admin table :is(strong, b, code) { color: #111827 !important; }
  body.yl-workspace.admin-body.pro-admin .table-wrap { background: #fff !important; }
}
