/* Client mini app and embedded admin: quieter graphite and blue palette. */
:root {
    --bg: #0b1019;
    --surface: #151e2b;
    --surface-strong: #1c293a;
    --surface-soft: rgba(158, 185, 226, .07);
    --text: #f1f5fb;
    --muted: #a8b5c6;
    --green: #a4c4ff;
    --green-deep: #789de5;
    --line: rgba(166, 187, 219, .17);
    --shadow: 0 18px 48px rgba(0, 0, 0, .25);
}
body { background: radial-gradient(circle at 92% -12%, rgba(124, 153, 227, .13), transparent 34%), var(--bg); }
.brand-name b { color: #c8b2ff; }
.brand-name small, .eyebrow { color: #a7beed; }
.brand-emblem { filter: drop-shadow(0 5px 12px rgba(116, 151, 225, .19)); }
.avatar { border-color: #61779b; background: #30486d; box-shadow: none; }
.hero { background: radial-gradient(circle at 100% 0, rgba(134, 164, 233, .12), transparent 45%), #172337; }
.hero::before, .hero::after { border-color: rgba(164, 196, 255, .12); }
.primary-button, .wallet-recharge-preview, .wallet-recharge-verify,
.wallet-recharge-create { border-color: #a8c6ff; color: #101b2d; background: #a8c6ff; box-shadow: none; }
.secondary-button { border: 1px solid var(--line); background: var(--surface-strong); }
.primary-button:hover:not(:disabled), .wallet-recharge-preview:hover:not(:disabled),
.wallet-recharge-verify:hover:not(:disabled), .wallet-recharge-create:hover:not(:disabled) { background: #c0d5ff; }
.auth-tab.is-active, .filter-button.is-active, .admin-tab.is-active { border-color: #a8c6ff; color: #101b2d; background: #a8c6ff; }
.auth-form, .product-card, .news-card, .account-section, .stat-card, .balance-card,
.admin-metric, .admin-control-card, .admin-control-group { background: var(--surface); }
.auth-form label { color: #d8e3f1; }
.auth-form input, .admin-search input, .admin-client-action-card input,
.admin-client-action-card textarea, .wallet-recharge-amount input { border-color: var(--line); background: #101927; }
.auth-form input:focus, .wallet-recharge-amount input:focus { border-color: #9dbdf3; box-shadow: 0 0 0 3px rgba(157, 189, 243, .12); }
.bottom-nav { border-color: var(--line); background: rgba(19, 28, 42, .94); }
.nav-item { color: #aab8ca; }
.nav-item.is-active { color: #c1d4ff; background: #273b5a; }
.section-navigator { border-color: #3f526e; background: #192538; }
.section-navigator-identity > i { border-color: #617da8; color: #101b2d; background: #a8c6ff; box-shadow: none; }
.section-navigator-identity small { color: #aec8f5; }
.section-navigator-identity strong { color: var(--text); }
.section-navigator-side { color: #a8b7c9; }
.section-navigator-side b { border-color: #485b76; color: #e5edfa; }
.section-navigator-panel { border-color: #425875; background: #172334; }
.section-navigator-heading strong { color: var(--text); }
.section-navigator-heading small { color: var(--muted); }
.section-navigator-option { border-color: #354760; color: #d2deed; background: #1d2d43; }
.section-navigator-option i { color: #b5d0f5; background: #2b4161; }
.section-navigator-option b { color: #a8b7c9; }
.section-navigator-option.is-active { border-color: #81a5e4; color: #fff; background: #2b4264; }
.section-navigator-option.is-active i { color: #101b2d; background: #a8c6ff; }
.balance-card:hover, .stat-card:hover { border-color: #6c8fc7; }
.balance-card:focus-visible, .stat-card:focus-visible { outline-color: #9dbdf3; }
.wallet-hero { border-color: #405778; background: radial-gradient(circle at 100% 0, rgba(131, 162, 232, .16), transparent 42%), #17253a; }
.wallet-recharge-form { border-color: var(--line); background: #182638; }
.wallet-recharge-form-heading span, .wallet-recharge-verified { color: #b3d3ec; }
.wallet-recharge-methods button.is-selected { border-color: #8fb4e9; background: #263b56; box-shadow: inset 3px 0 #a8c6ff; }
.wallet-recharge-quote { border-color: var(--line); background: #131f2e; }
.wallet-recharge-status.is-ready { color: #b6ddd6; background: #263c43; }
.wallet-recharge-submit { width: 100%; margin-top: 16px; padding: 14px 16px; border-radius: 12px; font-size: .82rem; font-weight: 850; cursor: pointer; }
.wallet-recharge-submit:disabled { border: 1px solid var(--line); color: #8c9aaf; background: #263244; cursor: not-allowed; }
.azteco-voucher-guide { display: grid; gap: 12px; margin-top: 16px; padding: 16px; border: 1px solid #465c7a; border-radius: 15px; background: #131f2e; }
.azteco-voucher-guide h3, .azteco-voucher-guide h4, .azteco-voucher-guide p { margin: 0; }
.azteco-voucher-guide h3 { color: #f1f5fb; font-size: .86rem; }
.azteco-voucher-guide h4 { padding-top: 3px; color: #c9d8eb; font-size: .7rem; }
.azteco-voucher-guide p { color: #b3c2d5; font-size: .68rem; line-height: 1.5; }
.azteco-voucher-guide .azteco-voucher-summary { color: #e4edfc; font-size: .78rem; font-weight: 800; }
.azteco-voucher-networks { display: flex; flex-wrap: wrap; gap: 8px; }
.azteco-voucher-networks button { min-height: 36px; padding: 7px 11px; border: 1px solid #465c7a; border-radius: 9px; color: #c4d3e6; background: #1a2a3d; font-size: .68rem; font-weight: 700; }
.azteco-voucher-networks button.is-selected { border-color: #8bb7ef; color: #f4f8ff; background: #284564; }
.azteco-voucher-guide .azteco-voucher-adjusted { padding: 10px 12px; border: 1px solid #7396c4; border-radius: 9px; color: #e4edfc; background: #243d5b; font-weight: 700; }
.azteco-voucher-sellers { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 9px; }
.azteco-voucher-seller { display: grid; align-content: start; gap: 8px; padding: 11px; border: 1px solid #34475f; border-radius: 11px; background: #1a2a3d; }
.azteco-voucher-seller > strong { color: #e4edfc; font-size: .72rem; }
.azteco-voucher-links { display: flex; flex-wrap: wrap; gap: 7px; }
.azteco-voucher-links a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 10px; border: 1px solid #5a789f; border-radius: 8px; color: #cce0ff; background: #263d5a; font-size: .66rem; font-weight: 800; text-decoration: none; }
.azteco-voucher-links a:hover, .azteco-voucher-links a:focus-visible { border-color: #a8c6ff; color: #fff; background: #34527a; }
.azteco-voucher-guide .azteco-voucher-note { padding-top: 9px; border-top: 1px solid #34475f; color: #aebdd0; font-size: .62rem; }
.azteco-seller-disclosure { border: 1px solid #34475f; border-radius: 11px; background: #162438; }
.azteco-seller-disclosure > summary { padding: 13px 15px; color: #dbeaff; font-size: .72rem; font-weight: 750; cursor: pointer; }
.azteco-seller-disclosure .azteco-voucher-guide { margin: 0 10px 10px; }
.azteco-submission { display: grid; gap: 14px; margin-top: 16px; padding: 18px; border: 1px solid #465c7a; border-radius: 15px; background: #131f2e; }
.azteco-submission h3 { margin: 0; color: #f1f5fb; font-size: .9rem; }
.azteco-submission > p { margin: 0; color: #bdcce0; font-size: .72rem; line-height: 1.5; }
.azteco-upload-rows, .azteco-upload-list { display: grid; gap: 10px; }
.azteco-upload-row, .azteco-upload-status { display: grid; grid-template-columns: minmax(110px, .6fr) minmax(120px, .7fr) minmax(175px, 1.4fr) auto; align-items: center; gap: 10px; padding: 13px; border: 1px solid #34475f; border-radius: 12px; background: #1b2a3d; }
.azteco-upload-row > strong, .azteco-upload-status > strong { color: #ebf3ff; font-size: .72rem; }
.azteco-upload-row select, .azteco-upload-row input { width: 100%; min-width: 0; min-height: 42px; padding: 9px; border: 1px solid #5a7090; border-radius: 9px; color: #eff5ff; background: #111d2e; font: inherit; font-size: .72rem; }
.azteco-upload-row input[type="file"]::file-selector-button { margin-right: 10px; padding: 6px 9px; border: 0; border-radius: 6px; color: #11223a; background: #a8c6ff; font-weight: 700; }
.azteco-upload-status { grid-template-columns: minmax(120px,.5fr) 1fr auto; }
.azteco-upload-status span { color: #b9c9de; font-size: .68rem; line-height: 1.4; }
.azteco-upload-status .azteco-upload-help { grid-column: 1 / -1; color: #f1cda6; font-size: .65rem; line-height: 1.4; }
.azteco-upload-status.is-needs_action { border-color: #bd8951; background: #332a2b; }
.azteco-upload-thumbnail { width: 90px; height: 90px; object-fit: contain; border: 1px solid #50637c; border-radius: 8px; background: #101a28; cursor: pointer; }
.azteco-ticket-portal { margin: 12px 0; padding: 12px 18px; border: 1px solid #8eaed8; border-radius: 10px; background: #a7c5f4; color: #112033; font: inherit; font-weight: 750; cursor: pointer; }
.azteco-upload-status button, .azteco-upload-remove, .azteco-upload-add { min-height: 38px; padding: 8px 12px; border: 1px solid #7193be; border-radius: 9px; color: #e5efff; background: #263c59; font: inherit; font-size: .7rem; font-weight: 750; cursor: pointer; }
.azteco-upload-remove { border-color: #9f6570; color: #ffdce1; background: #45303b; }
.azteco-upload-add { justify-self: start; }
.azteco-upload-refresh { justify-self: start; min-height: 34px; padding: 6px 10px; border: 1px solid #5d789d; border-radius: 8px; color: #d5e7ff; background: #243a56; font: inherit; font-size: .68rem; font-weight: 700; cursor: pointer; }
.azteco-upload-chosen { grid-column: 1 / -1; color: #a8c6ff; font-size: .64rem; }
.azteco-submission .azteco-upload-total { color: #e8f1ff; font-weight: 800; }
.azteco-upload-submit { width: 100%; min-height: 48px; padding: 12px 15px; border: 0; border-radius: 10px; color: #0d203a; background: #a8c6ff; font: inherit; font-size: .78rem; font-weight: 850; cursor: pointer; }
.azteco-upload-submit:disabled { opacity: .6; cursor: wait; }
.azteco-submission .azteco-upload-error { color: #ffb6ae; font-size: .68rem; }
.azteco-submission .azteco-upload-success { color: #b5e6cb; font-weight: 750; }
.guest-ticket-entry { width: 100%; margin: 12px 0; padding: 12px 15px; border: 1px solid #7193be; border-radius: 10px; color: #ecf4ff; background: #243c5a; font: inherit; font-weight: 750; cursor: pointer; }
@media (max-width: 650px) { .azteco-upload-row, .azteco-upload-status { grid-template-columns: 1fr; } .azteco-upload-row .azteco-upload-remove, .azteco-upload-status button { justify-self: start; } }
.wallet-payment-pending.is-error { color: #ffb7a7 !important; background: rgba(255, 111, 91, .12); }
.wallet-payment-retry { width: 100%; padding: 11px 12px; border: 1px solid #7293c8; border-radius: 10px; color: #ecf3ff; background: #294468; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; }
.invoice-payment-confirm, .wallet-payment-link, .checkout-preview,
.checkout-confirmation, .service-upgrade-option button { color: #101b2d; background: #a8c6ff; box-shadow: none; }
.invoice-payment-verified, .checkout-verified { border-color: #4b688a; color: #bbd9f5; background: #273b56; }
.invoice-payment-status.is-ready, .checkout-status.is-ready { color: #b6ddd6; background: #263c43; }
.purchase-success-icon { color: #101b2d; background: #a8c6ff; box-shadow: none; }
.account-list-section .service-card.is-separated-service {
    border-color: #354760;
    border-left-color: #839dd9;
    background: #1a2738;
}
.account-list-section .service-card.is-separated-service:first-of-type { border-top-color: #354760; }
.admin-sales-methods > div > div:last-child i { background: #a8c6ff; }
.admin-notification-preferences { border-color: var(--line); background: var(--surface); }
.admin-notification-preferences-heading > strong { color: #b9d4fb; background: #283b57; }
.notification-card time { color: #9eafc4; }
.telegram-channel-card.is-member { border-color: #475e7e; background: #1b2a3f; }
.telegram-channel-card.is-member .telegram-channel-heading span { color: #b6cff6; }
.telegram-channel-card.is-member .telegram-channel-heading > strong,
.telegram-channel-open { color: #101b2d; background: #a8c6ff; }
.invoice-pay-button { border-color: #4d6588; color: #c6dbfa; background: #263a56; }
.invoice-payment-box, .checkout-review, .purchase-success,
.service-details-panel, .admin-template-form { border-color: var(--line); background: #192638; }
.service-details-heading span, .admin-template-eyebrow { color: #b6cff6; background: #273b56; }
.admin-template-form input, .admin-template-form textarea { border-color: #435a78; color: var(--text); background: #111c2b; }
.admin-welcome, .admin-client-detail-hero { border-color: #465b78; background: #1a293d; }
.admin-metric.is-money strong, .admin-client-detail-metrics strong { color: #c8b2ff; }
.admin-search button { color: #101b2d; background: #a8c6ff; }
.admin-search-reset { border-color: #51688c; color: #d1e1ff; background: #273b58; }
.admin-client-detail-hero span, .admin-client-detail-row > div:last-child strong { color: #c8b2ff; }
.admin-client-open { border-color: #4e6384; color: #d1e1ff; background: #263952; }
.admin-client-detail-row .is-paid { color: #12232b; background: #b6ddd6; }
.ticket-message.is-client { background: #273f60; }
.ticket-message.is-admin { border-color: #495877; background: #242e43; }
.ticket-message.is-admin strong { color: #cbb9f3; }
.ticket-card.is-closed { opacity: .84; }
.ticket-opening-notice-open { overflow: hidden; }
.ticket-opening-notice { position: fixed; inset: 0; z-index: 12500; display: grid; place-items: center; padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom)); background: rgba(5, 9, 18, .82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.ticket-opening-notice-dialog { width: min(100%, 480px); padding: 24px; border: 1px solid #eeaa55; border-radius: 22px; background: linear-gradient(155deg, #273042, #1a2231 68%); box-shadow: 0 24px 80px rgba(0, 0, 0, .56), 0 0 0 4px rgba(238, 170, 85, .12); }
.ticket-opening-notice-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.ticket-opening-notice-header span { padding: 6px 10px; border-radius: 999px; color: #2a1a0b; background: #ffc875; font-size: .73rem; font-weight: 800; letter-spacing: .09em; }
.ticket-opening-notice-x { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid #647084; border-radius: 12px; color: #f4f6fb; background: #303b4e; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.ticket-opening-notice-dialog h2 { margin: 0 0 14px; color: #fff4db; font-size: clamp(1.35rem, 5vw, 1.65rem); line-height: 1.2; }
.ticket-opening-notice-dialog p { margin: 0; color: #f0f2f7; font-size: 1rem; line-height: 1.65; }
.ticket-opening-notice-dialog small { display: block; margin: 20px 0 16px; color: #b8c3d3; font-size: .78rem; line-height: 1.45; }
.ticket-opening-notice-dismiss { width: 100%; min-height: 48px; border: 0; border-radius: 12px; color: #251a0e; background: #ffc875; font: inherit; font-weight: 800; cursor: pointer; }
.ticket-opening-notice-dismiss:hover, .ticket-opening-notice-dismiss:focus-visible { background: #ffda9a; }
.ticket-opening-notice-x:focus-visible, .ticket-opening-notice-dismiss:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.ticket-close-no-info { border-color: #9b7d68; color: #ffe0c8; background: #392b2c; }
.ticket-close-no-info:hover:not(:disabled) { border-color: #d3a17e; background: #4a3430; }
@media (max-width: 520px) {
    .hero { border-radius: 22px; }
    .bottom-nav { border-radius: 18px; }
}
