/* Selected direction: «Мягкий сиреневый». App surfaces only; CRM behaviour is shared. */
html[data-app-theme=lilac] { --app-lilac:#f2eefb; --app-card:#fff; --app-line:#e7e0f2; --app-ink:#28213e; --app-muted:#7d7393; --purple:#7257d9; --border:#e7e0f2; background:#f2eefb; }
html[data-app-theme=lilac] body { background:var(--app-lilac); color:var(--app-ink); }
html[data-app-theme=lilac] :is(input,select,textarea) { border-color:var(--app-line); border-radius:10px; background:#fcfbff; }
html[data-app-theme=lilac] :is(button,a,input,select,textarea):focus-visible { outline:2px solid #7257d9; outline-offset:2px; }
html[data-app-theme=lilac] .client-portal { background:var(--app-lilac); min-height:100dvh; }
html[data-app-theme=lilac] .portal-auth>header { background:transparent; border:0; box-shadow:none; justify-content:center; padding:24px 16px 18px; }
html[data-app-theme=lilac] .portal-auth .portal-brand { display:flex; flex-direction:column; align-items:center; gap:12px; color:var(--app-ink); text-align:center; font-size:18px; }
html[data-app-theme=lilac] .portal-auth .portal-brand img { width:64px; height:64px; object-fit:contain; border-radius:0; }
html[data-app-theme=lilac] .portal-auth .portal-brand small { color:var(--app-muted); font-size:12px; margin-top:5px; font-weight:400; }
html[data-app-theme=lilac] .portal-auth main { width:100%; max-width:440px; padding:0 16px; margin:0 auto; }
html[data-app-theme=lilac] .portal-auth .portal-login { background:transparent; border:0; padding:0; box-shadow:none; }
html[data-app-theme=lilac] .portal-auth-tabs { background:#eae4f6; border-radius:12px; padding:4px; gap:4px; margin:0 0 16px; }
html[data-app-theme=lilac] .portal-auth-tabs button { min-height:40px; border:0; border-radius:9px; color:var(--app-muted); font-size:14px; background:transparent; }
html[data-app-theme=lilac] .portal-auth-tabs button[aria-pressed=true] { background:white; color:#7257d9; box-shadow:0 2px 8px #3522540a; }
html[data-app-theme=lilac] .portal-login:has(.portal-auth-tabs button:first-child[aria-pressed=true])>h1 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
html[data-app-theme=lilac] .portal-login form { background:white; border-radius:18px; padding:18px 16px; gap:12px; }
html[data-app-theme=lilac] .portal-field { margin-bottom:12px; }
html[data-app-theme=lilac] .portal-field label { color:var(--app-ink); font-size:13px; margin-bottom:6px; }
html[data-app-theme=lilac] .portal-field input { height:44px; min-height:44px; font-size:16px; padding:10px 12px; border:1px solid var(--app-line); border-radius:10px; background:#fcfbff; }
html[data-app-theme=lilac] .portal-login :is(.primary-button,.portal-telegram-button) { min-height:44px; border-radius:10px; font-size:14px; }
html[data-app-theme=lilac] .portal-telegram-button { color:#7257d9; background:white; border:1px solid var(--app-line); }
html[data-app-theme=lilac] .portal-text-link { color:#7257d9; font-size:13px; min-height:36px; }
html[data-app-theme=lilac] .portal-legal-footer { background:transparent; border-color:var(--app-line); font-size:11px; padding:18px 16px; }
@media(max-width:700px) {
 html[data-app-theme=lilac] .unified-crm, html[data-app-theme=lilac] .unified-crm .workspace { background:var(--app-lilac); }
 html[data-app-theme=lilac] .unified-crm .topbar { background:#faf8ff; color:#7257d9; border-bottom:1px solid var(--app-line); height:48px; min-height:48px; }
 html[data-app-theme=lilac] .unified-crm .topbar :is(.menu-button,.icon-button,.profile-button,.profile-button>svg) { color:#7257d9; }
 html[data-app-theme=lilac] .unified-crm .topbar .avatar { color:#7257d9; background:#eee7fc; }
 html[data-app-theme=lilac] .unified-crm .panel { border-color:var(--app-line); border-radius:14px; background:white; }
 html[data-app-theme=lilac] .unified-crm :is(.primary-button,.secondary-button) { border-radius:10px; }
 html[data-app-theme=lilac] .calendar-branches { background:white; padding:6px; gap:6px; border:0; }
 html[data-app-theme=lilac] .calendar-branches button { border:1px solid var(--app-line); border-radius:10px; padding:8px 7px; background:white; font-size:11px; color:var(--app-muted); }
 html[data-app-theme=lilac] .calendar-branches button[aria-pressed=true] { background:#f1ebfc; color:#7257d9; border-color:#e6dcfb; }
 html[data-app-theme=lilac] .unified-crm .calendar-toolbar.panel { background:white; border:0; border-radius:0 0 14px 14px; margin-bottom:8px; padding:6px 8px 8px; }
 html[data-app-theme=lilac] .calendar-nav :is(button,.calendar-date) { border-radius:9px; border-color:var(--app-line); background:#fcfbff; color:var(--app-ink); }
 html[data-app-theme=lilac] .journal-caption { background:white; border:1px solid var(--app-line); border-radius:12px 12px 0 0; padding:6px; }
 html[data-app-theme=lilac] :is(.journal-corner,.journal-person) { background:#f2edfc; border-color:var(--app-line); color:var(--app-ink); }
 html[data-app-theme=lilac] .journal-booking { border-radius:5px; }
 html[data-app-theme=lilac] .journal-zoom { border-color:var(--app-line); border-radius:8px; color:#7257d9; }
 html[data-app-theme=lilac] .modal-backdrop { background:#28213e55; }
 html[data-app-theme=lilac] .modal-backdrop :is(.booking-modal,.appointment-drawer,.unified-sheet,.load-calendar) { border-radius:22px 22px 0 0; border-color:var(--app-line); background:white; }
 html[data-app-theme=lilac] .drawer-visit { background:#f3effc; border-radius:14px; padding:12px; }
 html[data-app-theme=lilac] .drawer-service-icon { background:#eae2fb; color:#7257d9; border-radius:12px; }
 html[data-app-theme=lilac] .appointment-status-actions button { border-radius:9px; border-color:var(--app-line); }
 html[data-app-theme=lilac] .appointment-status-actions button.primary { background:#7257d9; color:white; }
 html[data-app-theme=lilac] .drawer-tabs { border-color:var(--app-line); }
 html[data-app-theme=lilac] :is(.service-grid,.membership-grid,.client-hero,.client-kpis .panel) { border-radius:14px; border-color:var(--app-line); }
 html[data-app-theme=lilac] .portal-account>header { background:#faf8ff; border-bottom:1px solid var(--app-line); }
 html[data-app-theme=lilac] .portal-account>header :is(.portal-brand,.portal-brand small,button) { color:#7257d9; }
}
@media(max-width:700px) {
 html[data-app-theme=lilac] .calendar-page .calendar-heading { background:#faf8ff; padding-top:4px; }
 html[data-app-theme=lilac] .calendar-page .calendar-heading .primary-button { background:#eee7fc; border:1px solid #e6dcfb; }
 html[data-app-theme=lilac] .unified-crm .sidebar { background:#faf8ff; color:var(--app-ink); z-index:80; border-right:1px solid var(--app-line); box-shadow:12px 0 32px #28213e18; }
 html[data-app-theme=lilac] .sidebar-overlay { z-index:75; background:#28213e55; }
 html[data-app-theme=lilac] .sidebar .brand { border-color:var(--app-line); }
 html[data-app-theme=lilac] .sidebar .brand span { color:var(--app-muted); }
 html[data-app-theme=lilac] .sidebar .nav-list a { color:var(--app-muted); }
 html[data-app-theme=lilac] .sidebar .nav-list a.active { background:#eae2fb; color:#7257d9; box-shadow:none; }
 html[data-app-theme=lilac] .sidebar .nav-list a:hover { background:#f0eafb; color:#7257d9; }
 html[data-app-theme=lilac] .sidebar .sidebar-help { border-color:var(--app-line); background:white; color:var(--app-ink); }
}
@media(max-width:700px) {
 html[data-app-theme=lilac] .calendar-page .journal-view-grid .journal-booking>.calendar-payment-mark { background:var(--booking-fill,#f3effc); line-height:11px; z-index:1; }
}
@media(max-width:700px) {
 html[data-app-theme=lilac] .calendar-page .journal-view-grid .journal-booking { display:flex; flex-direction:column; justify-content:flex-start; gap:0; }
 html[data-app-theme=lilac] .calendar-page .journal-view-grid .journal-booking> :is(time,strong,span:not(.calendar-payment-mark)) { flex-shrink:0; width:100%; line-height:10px; margin-top:0; text-align:left; }
}
