/* Digital Solutions: one presentation layer for every existing surface.
 * Public CSS stays in place. These rules cover customer/auth/admin shells,
 * legacy finance components, widgets and the three standalone browser views.
 * No layout visibility, permission, event or transaction state is introduced.
 */

@media screen {


.dsi-premium-app.dsi-theme-violet,
.dsi-premium-invoice {
    --ds-bg: #121216;
    --ds-panel: #1c1a22;
    --ds-panel-raised: #23202b;
    --ds-border: #443a4e;
    --ds-text: #f6f4fa;
    --ds-muted: #bbb5c8;
    --ds-subtle: #aaa2b7;
    --ds-violet: #7652dc;
    --ds-violet-hover: #6845ca;
    --ds-violet-text: #cbbaff;
    --ds-violet-soft: rgba(156, 126, 240, .12);
}

.dsi-premium-app.dsi-theme-violet {
    background: var(--ds-bg) !important;
    color: var(--ds-text);
    color-scheme: dark;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.dsi-premium-app.dsi-theme-violet *,
.dsi-premium-app.dsi-theme-violet *::before,
.dsi-premium-app.dsi-theme-violet *::after { box-sizing: border-box; }
.dsi-premium-app.dsi-theme-violet :is(main, section, article, .grid, .grid > *, .flex-1) { min-width: 0; }
.dsi-premium-app.dsi-theme-violet :is(h1, h2, h3, h4, p, li, code, a, label) { overflow-wrap: break-word; }
.dsi-premium-app.dsi-theme-violet :is(img, video, iframe) { max-width: 100%; }
.dsi-premium-app.dsi-theme-violet :is(.text-gray-300, .text-gray-400, .text-slate-300, .text-slate-400, .text-muted) { color: var(--ds-muted) !important; }
.dsi-premium-app.dsi-theme-violet :is(.text-gray-500, .text-gray-600, .text-slate-500) { color: var(--ds-subtle) !important; }
.dsi-premium-app.dsi-theme-violet :is(.text-primary-300, .text-primary-400, .text-indigo-400, .text-purple-400) { color: var(--ds-violet-text) !important; }
.dsi-premium-app.dsi-theme-violet :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #decfff !important;
    outline-offset: 3px;
}
.dsi-premium-app.dsi-theme-violet :is(input, select, textarea) { max-width: 100%; accent-color: var(--ds-violet); }
.dsi-premium-app.dsi-theme-violet :is(input, textarea)::placeholder { color: #aaa2b7; opacity: 1; }
.dsi-premium-app.dsi-theme-violet :is(input, select, textarea):disabled { opacity: .6; }
.dsi-premium-app.dsi-theme-violet input:is([type="checkbox"], [type="radio"]) { accent-color: var(--ds-violet); }
.dsi-premium-app.dsi-theme-violet button:not(:disabled),
.dsi-premium-app.dsi-theme-violet select:not(:disabled) { cursor: pointer; }

/* The old family tokens remain available to all existing finance/wallet CSS. */
.dsi-premium-app.dsi-theme-violet,
.dsi-premium-app.dsi-theme-violet :is(.dsi-finance-page, .dsi-finance-userwallet-theme, .dsi-wallet-admin, .uw-page-shell, #dsi-finance-unified-root, #dsi-ppaj-root) {
    --dsi-bg: var(--ds-bg) !important;
    --dsi-card: var(--ds-panel) !important;
    --dsi-card-soft: #211c29 !important;
    --dsi-input: #17141d !important;
    --dsi-border: var(--ds-border) !important;
    --dsi-border-soft: #37303f !important;
    --dsi-text: var(--ds-text) !important;
    --dsi-muted: var(--ds-muted) !important;
    --dsi-muted-2: var(--ds-subtle) !important;
    --dsi-primary: var(--ds-violet) !important;
    --dsi-primary-light: var(--ds-violet-text) !important;
    --dsi-uw-bg: var(--ds-bg) !important;
    --dsi-uw-card: var(--ds-panel) !important;
    --dsi-uw-card-soft: #211c29 !important;
    --dsi-uw-input: #17141d !important;
    --dsi-uw-border: var(--ds-border) !important;
    --dsi-uw-border-soft: #37303f !important;
    --dsi-uw-text: var(--ds-text) !important;
    --dsi-uw-muted: var(--ds-muted) !important;
    --dsi-uw-muted-2: var(--ds-subtle) !important;
    --dsi-uw-primary: var(--ds-violet) !important;
    --dsi-uw-primary-hover: var(--ds-violet-hover) !important;
    --uw-bg: var(--ds-bg) !important;
    --uw-panel: var(--ds-panel) !important;
    --uw-panel-2: #17141d !important;
    --uw-border: var(--ds-border) !important;
    --uw-text: var(--ds-text) !important;
    --uw-muted: var(--ds-muted) !important;
    --uw-primary: var(--ds-violet) !important;
    --f81-bg: var(--ds-bg) !important;
    --f81-panel: var(--ds-panel) !important;
    --f81-panel-2: #211c29 !important;
    --f81-input: #17141d !important;
    --f81-border: var(--ds-border) !important;
    --f81-border-strong: #61506f !important;
    --f81-text: var(--ds-text) !important;
    --f81-muted: var(--ds-muted) !important;
    --f81-muted-2: var(--ds-subtle) !important;
    --f81-primary: var(--ds-violet) !important;
    --f81-primary-hover: var(--ds-violet-hover) !important;
    --f82-bg: var(--ds-bg) !important;
    --f82-panel: var(--ds-panel) !important;
    --f82-panel-soft: #211c29 !important;
    --f82-input: #17141d !important;
    --f82-border: var(--ds-border) !important;
    --f82-border-strong: #61506f !important;
    --f82-text: var(--ds-text) !important;
    --f82-muted: var(--ds-muted) !important;
    --f82-primary: var(--ds-violet) !important;
    --f82-primary-hover: var(--ds-violet-hover) !important;
    --bg: var(--ds-bg) !important;
    --panel: var(--ds-panel) !important;
    --panel2: #17141d !important;
    --border: var(--ds-border) !important;
    --muted: var(--ds-muted) !important;
    --text: var(--ds-text) !important;
    --p: var(--ds-violet) !important;
}

/* Shared customer controls. QR/image white backing is deliberately untouched. */
.dsi-premium-app.dsi-theme-violet .ds-app-content :is(.glass-card, [class*="bg-dark-"]) {
    background-color: var(--ds-panel);
    border-color: var(--ds-border);
    box-shadow: none;
}
.dsi-premium-app.dsi-theme-violet .ds-app-content .glass-card { border-radius: 20px; }
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll, .dsi-v65-modal, .dsi-cwpe-dialog, .dsi-wte-dialog) :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]) {
    background-color: #17141d !important;
    border-color: #5b4968;
    color: var(--ds-text) !important;
    border-radius: 11px;
    min-height: 44px;
    font-size: 14px;
    line-height: 1.6;
}
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) input[type="file"]::file-selector-button {
    background: #352842;
    color: #e0d2f8;
    border: 1px solid #6d5282;
    border-radius: 8px;
    padding: 7px 12px;
    margin-right: 12px;
    cursor: pointer;
}
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) label { color: var(--ds-muted); line-height: 1.65; }
.dsi-premium-app.dsi-theme-violet :is(input, select, textarea):is(.border-red-400, .border-red-500, .border-red-600, [aria-invalid="true"]) { border-color: #ee9caa !important; }
.dsi-premium-app.dsi-theme-violet :is(input, select, textarea):is(.border-green-400, .border-green-500, .border-green-600) { border-color: #8cddb2 !important; }
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) :is(button.bg-primary-500, button.bg-primary-600, a.bg-primary-500, a.bg-primary-600, .dsi-btn-primary, .uw-btn.primary, .uwa-btn.primary) {
    background: var(--ds-violet) !important;
    border-color: var(--ds-violet) !important;
    color: #fff !important;
    box-shadow: none;
}
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) :is(button.bg-primary-500, button.bg-primary-600, a.bg-primary-500, a.bg-primary-600, .dsi-btn-primary, .uw-btn.primary, .uwa-btn.primary):hover {
    background: var(--ds-violet-hover) !important;
    border-color: var(--ds-violet-hover) !important;
}
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) :is(a, button).bg-gradient-to-r[class*="from-primary-"] {
    background: var(--ds-violet) !important;
    color: #fff !important;
    box-shadow: none;
}
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) table { width: 100%; border-collapse: collapse; }
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) th { color: #c9bfd7; font-size: 11px; font-weight: 600; letter-spacing: .055em; line-height: 1.6; }
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) td { font-size: 13px; line-height: 1.65; }
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) :is(th, td) { border-color: #3c3345; }
.dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) .overflow-x-auto { max-width: 100%; overscroll-behavior-inline: contain; scrollbar-color: #765b8c transparent; }
.dsi-premium-app.dsi-theme-violet .ds-app-page { min-height: 0; padding-block: 48px 64px; }
.dsi-premium-app.dsi-theme-violet .ds-app-page > .gradient-mesh { background: none; }
.dsi-premium-app.dsi-theme-violet .ds-app-page h1 { font-weight: 600; font-size: clamp(28px, 3vw, 36px); line-height: 1.25; letter-spacing: -.035em; }
.dsi-premium-app.dsi-theme-violet .ds-app-page h2 { font-weight: 600; line-height: 1.35; letter-spacing: -.02em; }
.dsi-premium-app.dsi-theme-violet .ds-app-page--profile .max-w-2xl { max-width: 840px; }
.dsi-premium-app.dsi-theme-violet .ds-app-page--dashboard .glass-card { border-color: #4c3c5c; }
.dsi-premium-app.dsi-theme-violet .ds-app-page--dashboard .glass-card > div[class*="blur-"] { display: none; }
.dsi-premium-app.dsi-theme-violet .ds-payment-section :is(code, .font-mono) { overflow-wrap: anywhere; }
.dsi-premium-app.dsi-theme-violet .ds-payment-section .glass-card { border-color: #50405f; }
.dsi-premium-app.dsi-theme-violet .ds-state-section { padding-block: 64px; }
.dsi-premium-app.dsi-theme-violet .ds-state-section .glass-card { padding: 36px; }

/* Authentication reuses current fields, errors, CSRF tokens and remember state. */
.dsi-premium-app.dsi-theme-violet .ds-auth-section {
    min-height: calc(100svh - 80px);
    padding-block: 64px;
    background: radial-gradient(ellipse at 50% 0, #2b2039 0, transparent 65%), #121216;
}
.dsi-premium-app.dsi-theme-violet .ds-auth-section > .absolute { display: none; }
.dsi-premium-app.dsi-theme-violet .ds-auth-section > :is(.max-w-md, .max-w-lg) { max-width: 540px; padding-inline: 24px; }
.dsi-premium-app.dsi-theme-violet .ds-auth-section .glass-card { padding: 36px; border: 1px solid #5d466c; border-radius: 24px; background: #1c1923; box-shadow: 0 24px 72px rgba(0, 0, 0, .18); }
.dsi-premium-app.dsi-theme-violet .ds-auth-section h1 { font-size: 30px; font-weight: 600; letter-spacing: -.035em; line-height: 1.25; }
.dsi-premium-app.dsi-theme-violet .ds-auth-section .text-center > .w-16 { background: var(--ds-violet-soft); border: 1px solid #69527c; border-radius: 16px; box-shadow: none; }
.dsi-premium-app.dsi-theme-violet .ds-auth-section .text-center > .w-16 > i { color: var(--ds-violet-text); }
.dsi-premium-app.dsi-theme-violet .ds-auth-section label i { color: var(--ds-violet-text); }
.dsi-premium-app.dsi-theme-violet .ds-auth-section form button[type="submit"] { min-height: 50px; border-radius: 12px; background: var(--ds-violet) !important; color: #fff; box-shadow: none; font-weight: 600; }
.dsi-premium-app.dsi-theme-violet .ds-auth-section form button[type="submit"]:hover { background: var(--ds-violet-hover) !important; }
.dsi-premium-app.dsi-theme-violet .ds-auth-section :is(input:not([type="checkbox"]), select) { min-height: 50px; }
.dsi-premium-app.dsi-theme-violet .ds-auth-section form .justify-between { flex-wrap: wrap; gap: 10px; }
.dsi-premium-app.dsi-theme-violet .ds-auth-section :is(.text-xs, .text-sm) { line-height: 1.75; }
.dsi-premium-auth .ds-auth-section { min-height: 100svh !important; }

/* Customer wallet keeps its own layouts and state classes with shared tokens. */
.dsi-premium-app.dsi-theme-violet .uw-page-shell { background: var(--ds-bg); min-height: 0; }
.dsi-premium-app.dsi-theme-violet .uw-main { width: min(1216px, calc(100% - 64px)); padding-block: 48px 64px; }
.dsi-premium-app.dsi-theme-violet .uw-heading h1 { font-size: clamp(28px, 3vw, 36px); font-weight: 600; letter-spacing: -.035em; }
.dsi-premium-app.dsi-theme-violet :is(.uw-card, .uw-stats section) { background: var(--ds-panel); border-color: var(--ds-border); border-radius: 18px; box-shadow: none; }
.dsi-premium-app.dsi-theme-violet .uw-kicker { background: var(--ds-violet-soft); color: var(--ds-violet-text); border-color: #69517d; }
.dsi-premium-app.dsi-theme-violet .uw-btn { border-radius: 11px; min-height: 46px; background: #302538; color: #e3d7f0; }
.dsi-premium-app.dsi-theme-violet .uw-instructions.standalone { background: #211c2a; border-color: #5a436a; }

/* Admin: existing sidebar toggle and all page permissions remain unchanged. */
.dsi-premium-admin.dsi-theme-violet .ds-admin-shell { height: 100dvh; min-height: 0; background: var(--ds-bg); }
.dsi-premium-admin.dsi-theme-violet .ds-admin-scroll { min-width: 0; background: var(--ds-bg); scrollbar-color: #715980 #121216; }
.dsi-premium-admin.dsi-theme-violet #sidebar { width: 272px; background: #18151e !important; border-color: var(--ds-border); backdrop-filter: none; }
.dsi-premium-admin.dsi-theme-violet #sidebar > .p-6 { padding: 28px 18px 22px; }
.dsi-premium-admin.dsi-theme-violet .ds-admin-brand { gap: 11px; margin-bottom: 28px; align-items: center; }
.dsi-premium-admin.dsi-theme-violet .ds-admin-brand > div { min-width: 0; }
.dsi-premium-admin.dsi-theme-violet .ds-admin-brand .font-display { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.dsi-premium-admin.dsi-theme-violet .ds-admin-brand .text-red-400 { color: var(--ds-violet-text); margin-top: 4px; font-size: 9px; letter-spacing: .13em; }
.dsi-premium-admin.dsi-theme-violet :is(.ds-admin-brand-mark, .ds-admin-avatar) { background: var(--ds-violet) !important; }
.dsi-premium-admin.dsi-theme-violet .ds-admin-brand-mark { flex-shrink: 0; border-radius: 12px; }
.dsi-premium-admin.dsi-theme-violet #sidebar .nav-item { min-height: 44px; padding: 11px 12px; border-radius: 11px; font-size: 12px; color: var(--ds-muted); line-height: 1.55; transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
.dsi-premium-admin.dsi-theme-violet #sidebar .nav-item > i { flex-shrink: 0; color: #a98ebd; font-size: 13px; }
.dsi-premium-admin.dsi-theme-violet #sidebar .nav-item span { min-width: 0; }
.dsi-premium-admin.dsi-theme-violet #sidebar .nav-item:is(:hover, .active) { background: #30223f !important; border-color: #634878 !important; color: #ecdefa !important; }
.dsi-premium-admin.dsi-theme-violet #sidebar .nav-item.active > i { color: #d0b2ef; }
.dsi-premium-admin.dsi-theme-violet #sidebar nav > p { color: #aa9eb7; font-size: 10px; font-weight: 600; letter-spacing: .13em; margin-top: 22px; }
.dsi-premium-admin.dsi-theme-violet #sidebar nav > p:first-child { margin-top: 0; }
.dsi-premium-admin.dsi-theme-violet #sidebar > .border-t { border-color: var(--ds-border); background: #1d1725; }
.dsi-premium-admin.dsi-theme-violet .ds-admin-topbar { min-height: 76px; padding: 16px 28px; background: rgba(24, 21, 30, .97) !important; border: 0; border-bottom: 1px solid var(--ds-border); backdrop-filter: blur(18px); }
.dsi-premium-admin.dsi-theme-violet .ds-admin-topbar :is(a, button) { min-height: 44px; align-items: center; font-size: 12px; }
.dsi-premium-admin.dsi-theme-violet .ds-admin-topbar > .flex { min-width: 0; }
.dsi-premium-admin.dsi-theme-violet #adminLangMenu { background: #292131 !important; border-color: #5d466c; }
.dsi-premium-admin.dsi-theme-violet #adminLangMenu a { width: 100%; padding: 10px 16px; }
.dsi-premium-admin.dsi-theme-violet .ds-admin-scroll > :is(.p-6, .p-8, .dsi-finance-page) { padding: 28px; width: 100%; max-width: 1700px; margin-inline: auto; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(h1, .dsi-f81-title, .dsi-f82-title) { color: var(--ds-text) !important; font-family: "Space Grotesk", Inter, system-ui, sans-serif !important; font-size: 28px !important; font-weight: 600 !important; letter-spacing: -.035em !important; line-height: 1.25 !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet h2 { color: var(--ds-text) !important; font-weight: 600; letter-spacing: -.02em; line-height: 1.4; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.glass-card, .dsi-card, .dsi-card-soft, .dsi-v65-card, .dsi-v65-kpi, .dsi-v65-filter-card, .uwa-card, .uwa-stats section) { background: var(--ds-panel) !important; border-color: var(--ds-border) !important; border-radius: 16px !important; box-shadow: none !important; backdrop-filter: none !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet [class*="bg-dark-"] { background-color: #211b29 !important; background-image: none !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet .gradient-mesh { background: none !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.dsi-v65-modal-dialog, .dsi-v73-expense-dialog, .dsi-cwpe-dialog, .dsi-wte-dialog, .dsi-webmail-panel) { background: #211b2a !important; border-color: #655077 !important; box-shadow: 0 20px 64px rgba(0, 0, 0, .35); }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.dsi-v65-modal-head > button, .dsi-v65-icon-btn:not(.danger), .dsi-cwpe-btn:not(.primary), .dsi-wte-btn:not(.primary), .ppaj-btn:not(.primary), .dfu-btn:not(.primary)) { background: #30253a; border-color: #624974; color: #e6d7f5; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.dsi-btn-primary, .uwa-btn.primary, .dsi-cwpe-btn.primary, .dsi-wte-btn.primary, .ppaj-btn.primary, .dfu-btn.primary, #dsi-cwpe-launch) { background: var(--ds-violet) !important; border-color: var(--ds-violet) !important; color: #fff !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.dsi-btn-primary, .uwa-btn.primary, .dsi-cwpe-btn.primary, .dsi-wte-btn.primary, .ppaj-btn.primary, .dfu-btn.primary, #dsi-cwpe-launch):hover { background: var(--ds-violet-hover) !important; }
/* Keep explicit User Wallet action visibility stronger than its late v69 display rule. */
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet .dsi-wallet-admin .uwa-btn[hidden],
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet .dsi-wallet-admin .uwa-btn.hidden { display: none !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.dsi-v65-partner > span, .dsi-v65-source-badge, .dsi-pc-v61-fields, .dfu-badge, .ppaj-eyebrow) { background: var(--ds-violet-soft) !important; border-color: #635077 !important; color: var(--ds-violet-text) !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.dsi-field, .dsi-cwpe-field, .dsi-wte-field, .dsi-pc-v61-field, #dsi-finance-unified-root, #dsi-ppaj-root) :is(input, select, textarea) { background: #17141d !important; border-color: #5b4968; color: var(--ds-text) !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(#dsi-finance-tabs-v87, #dsi-finance-tabs-v88, .finance-tabs, .dsi-finance-tabs, .dsi-f81-tabs) { background: #211a2a !important; border-color: #594367 !important; scrollbar-color: #856398 transparent; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(#dsi-finance-tabs-v87, #dsi-finance-tabs-v88, .finance-tabs, .dsi-finance-tabs, .dsi-f81-tabs) > a { background: #271e31 !important; border-color: #4e3c5b !important; color: #c8bdd5 !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(#dsi-finance-tabs-v87, #dsi-finance-tabs-v88, .finance-tabs, .dsi-finance-tabs, .dsi-f81-tabs) > a.active { background: #4a2f61 !important; border-color: #9b75b9 !important; color: #fff !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.ppaj-tab.active, .dfu-tab.active) { background: #3c294e !important; border-color: #8c65a8 !important; color: #eadbff !important; }
.dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(.dsi-webmail-tab.active, .dsi-folder.active) { background: #3c294e !important; border-color: #8c65a8 !important; color: #eadbff !important; }

/* Existing widgets retain their hide/show classes, polling and submission logic. */
.dsi-premium-app.dsi-theme-violet #dsi-livechat .dsi-lc-panel { background: #211b2a; border-color: #77528d; }
.dsi-premium-app.dsi-theme-violet #dsi-livechat .dsi-lc-messages { background: #17131e; }
.dsi-premium-app.dsi-theme-violet #dsi-livechat .dsi-lc-head { background: #3c2850; }
.dsi-premium-app.dsi-theme-violet #dsi-livechat :is(.dsi-lc-toggle, .dsi-lc-send) { background: var(--ds-violet); box-shadow: 0 12px 30px rgba(35, 15, 56, .25); }
.dsi-premium-app.dsi-theme-violet #dsi-livechat .is-customer .dsi-lc-bubble { background: #65429a; border-color: #9c79c7; }
.dsi-premium-app.dsi-theme-violet #dsi-livechat :is(.dsi-lc-form, .dsi-lc-form input, .dsi-lc-form textarea) { background: #211b2a; border-color: #59436b; color: #eee5f5; }
.dsi-premium-app.dsi-theme-violet #dsi-livechat :is(.dsi-lc-empty, .dsi-lc-time) { color: #b6a8c4; }
.dsi-premium-app.dsi-theme-violet :is(#taAiPanel, #taAiForm, #taAiInput) { background: #211b2a; border-color: #59436b; }
.dsi-premium-app.dsi-theme-violet :is(#taAiOpen, #taAiSend) { background: var(--ds-violet); color: #fff; }
.dsi-premium-app.dsi-theme-violet #ta-ai-widget .ta-ai-wallet-card { background: #2c2038; border-color: #725385; }

/* Standalone permission-denied view, with its existing error and return action. */
.dsi-premium-denied.dsi-theme-violet { background: radial-gradient(ellipse at 50% 0, #2b2039, transparent 68%), #121216 !important; }
.dsi-premium-denied.dsi-theme-violet .ds-denied-panel { background: #1c1923; border-color: #664d79; border-radius: 24px; box-shadow: 0 24px 72px rgba(0, 0, 0, .18); }
.dsi-premium-denied.dsi-theme-violet .ds-denied-panel h1 { font-size: 30px; font-weight: 600; letter-spacing: -.035em; }
.dsi-premium-denied.dsi-theme-violet .ds-denied-panel > a { min-height: 48px; align-items: center; justify-content: center; background: var(--ds-violet); color: #fff; }
.dsi-premium-denied.dsi-theme-violet .ds-denied-panel > a:hover { background: var(--ds-violet-hover); }

/* Printable invoice: screen chrome shares the brand; paper CSS is unchanged. */
@media screen {
    .dsi-premium-invoice { background: #121216; color: #111827; }
    .dsi-premium-invoice .actions { padding-inline: 20px; max-width: 940px; gap: 12px; }
    .dsi-premium-invoice .actions :is(a, button) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 12px; font-size: 13px; }
    .dsi-premium-invoice .actions .print { background: #7652dc; color: #fff; }
    .dsi-premium-invoice .actions .back { background: #2b2036; border: 1px solid #644d78; color: #e2d3f2; }
    .dsi-premium-invoice .page { border-radius: 20px; box-shadow: 0 20px 72px rgba(0, 0, 0, .3); }
    .dsi-premium-invoice .top { border-bottom-color: #7652dc; }
    .dsi-premium-invoice .invoice h1 { color: #6845ca; }
    .dsi-premium-invoice :is(a, button):focus-visible { outline: 3px solid #decfff; outline-offset: 3px; }
}

@media (max-width: 1023px) {
    .dsi-premium-admin.dsi-theme-violet #sidebar { position: fixed; left: 0; top: 76px; bottom: 0; z-index: 45; height: calc(100dvh - 76px); width: min(288px, calc(100vw - 48px)); box-shadow: 14px 0 36px rgba(0, 0, 0, .35); }
    .dsi-premium-admin.dsi-theme-violet .ds-admin-topbar { padding-inline: 24px; }
    .dsi-premium-app.dsi-theme-violet .ds-auth-section { min-height: calc(100svh - 72px); }
}

@media (max-width: 767px) {
    .dsi-premium-app.dsi-theme-violet .ds-app-page { padding-block: 32px 48px; }
    .dsi-premium-app.dsi-theme-violet .uw-main { width: calc(100% - 40px); padding-block: 32px 48px; }
    .dsi-premium-admin.dsi-theme-violet .ds-admin-scroll > :is(.p-6, .p-8, .dsi-finance-page) { padding: 20px; }
    .dsi-premium-admin.dsi-theme-violet .ds-admin-topbar { gap: 12px; padding-inline: 20px; }
    .dsi-premium-admin.dsi-theme-violet .ds-admin-topbar > .flex { gap: 8px; }
    .dsi-premium-admin.dsi-theme-violet .ds-admin-topbar > .flex > * { margin-left: 0; }
    .dsi-premium-admin.dsi-theme-violet .ds-admin-topbar > .flex > .relative > button { padding-inline: 8px; font-size: 11px; }
    .dsi-premium-app.dsi-premium-admin.dsi-theme-violet :is(h1, .dsi-f81-title, .dsi-f82-title) { font-size: 25px !important; }
    .dsi-premium-app.dsi-theme-violet :is(.ds-app-content, .ds-admin-scroll) .flex.items-center.justify-between:not(.ds-admin-topbar) { gap: 12px; flex-wrap: wrap; }
}

@media (max-width: 639px) {
    .dsi-premium-app.dsi-theme-violet .ds-auth-section { padding-block: 40px; }
    .dsi-premium-app.dsi-theme-violet .ds-auth-section > :is(.max-w-md, .max-w-lg) { padding-inline: 20px; }
    .dsi-premium-app.dsi-theme-violet .ds-auth-section .glass-card { padding: 28px 24px; border-radius: 20px; }
    .dsi-premium-app.dsi-theme-violet .ds-auth-section h1 { font-size: 28px; }
    .dsi-premium-app.dsi-theme-violet .ds-state-section .glass-card { padding: 28px 24px; }
    .dsi-premium-app.dsi-theme-violet .ds-payment-section h1 { font-size: 28px; }
    .dsi-premium-app.dsi-theme-violet .ds-payment-section .flex.items-start.justify-between { flex-wrap: wrap; }
    .dsi-premium-app.dsi-theme-violet .ds-payment-section .glass-card { padding: 24px; }
    .dsi-premium-admin.dsi-theme-violet .ds-admin-scroll > :is(.p-6, .p-8, .dsi-finance-page) { padding: 18px; }
    .dsi-premium-denied.dsi-theme-violet .ds-denied-panel { padding: 30px 24px; }
    .dsi-premium-app.dsi-theme-violet .uw-table-wrap { max-width: 100%; overflow-x: auto; }
}

@media screen and (max-width: 700px) {
    .dsi-premium-invoice .actions { flex-wrap: wrap; padding-inline: 18px; }
    .dsi-premium-invoice .page { margin-inline: 18px; padding: 24px; border-radius: 16px; overflow-wrap: break-word; }
    .dsi-premium-invoice :is(th, td) { padding: 12px 8px; }
    .dsi-premium-invoice .invoice h1 { font-size: 30px; }
}

@media (prefers-reduced-motion: reduce) {
    .dsi-premium-app.dsi-theme-violet,
    .dsi-premium-app.dsi-theme-violet *,
    .dsi-premium-app.dsi-theme-violet *::before,
    .dsi-premium-app.dsi-theme-violet *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

}
