/* ===========================================================================
   Светлые палитры SugarGuard
   Выбор сохраняется в localStorage через js/theme.js и применяется ко всем
   кабинетам через общие токены. Палитра classic повторяет прежнюю тему.
   =========================================================================== */

[data-theme="light"][data-light-palette="morning-meadow"] {
    --color-bg: #F3F8F5;
    --color-surface: rgba(255, 255, 255, 0.92);
    --color-surface-2: rgba(255, 255, 255, 0.98);
    --color-surface-offset: #E7F3EC;
    --color-border: rgba(25, 55, 46, 0.13);
    --color-divider: rgba(25, 55, 46, 0.09);
    --color-text: #19372E;
    --color-text-muted: #648077;
    --color-text-faint: #8DA399;
    --color-text-inverse: #FFFFFF;
    --color-primary: #2C8E7E;
    --color-primary-hover: #207466;
    --color-primary-active: #18594E;
    --color-primary-strong: #65BCAA;
    --color-primary-alt: #3F7FC3;
    --color-primary-soft: rgba(44, 142, 126, 0.11);
    --color-glucose-normal: #338B58;
    --color-glucose-warning: #C98A28;
    --color-glucose-danger: #C85C72;
    --shadow-sm: 0 8px 24px rgba(25, 55, 46, 0.08);
    --shadow-md: 0 12px 28px rgba(25, 55, 46, 0.11);
    --shadow-lg: 0 24px 48px rgba(25, 55, 46, 0.13);
}

[data-theme="light"][data-light-palette="warm-paper"] {
    --color-bg: #FBF5EA;
    --color-surface: rgba(255, 252, 246, 0.94);
    --color-surface-2: rgba(255, 252, 246, 0.99);
    --color-surface-offset: #F3E8D5;
    --color-border: rgba(64, 48, 38, 0.14);
    --color-divider: rgba(64, 48, 38, 0.09);
    --color-text: #403026;
    --color-text-muted: #857064;
    --color-text-faint: #A48E7F;
    --color-text-inverse: #FFFFFF;
    --color-primary: #A96234;
    --color-primary-hover: #8C4F29;
    --color-primary-active: #6E3E21;
    --color-primary-strong: #D89261;
    --color-primary-alt: #4A7F8D;
    --color-primary-soft: rgba(169, 98, 52, 0.11);
    --color-glucose-normal: #4F8563;
    --color-glucose-warning: #C47B26;
    --color-glucose-danger: #B95864;
    --shadow-sm: 0 8px 24px rgba(64, 48, 38, 0.08);
    --shadow-md: 0 12px 28px rgba(64, 48, 38, 0.11);
    --shadow-lg: 0 24px 48px rgba(64, 48, 38, 0.13);
}

[data-theme="light"][data-light-palette="ice-river"] {
    --color-bg: #F3F8FC;
    --color-surface: rgba(255, 255, 255, 0.92);
    --color-surface-2: rgba(255, 255, 255, 0.98);
    --color-surface-offset: #E7F0F8;
    --color-border: rgba(25, 56, 78, 0.13);
    --color-divider: rgba(25, 56, 78, 0.09);
    --color-text: #19384E;
    --color-text-muted: #638196;
    --color-text-faint: #8AA2B2;
    --color-text-inverse: #FFFFFF;
    --color-primary: #2878B9;
    --color-primary-hover: #1F6097;
    --color-primary-active: #174C78;
    --color-primary-strong: #71AEE0;
    --color-primary-alt: #438B87;
    --color-primary-soft: rgba(40, 120, 185, 0.11);
    --color-glucose-normal: #3C8A70;
    --color-glucose-warning: #C98928;
    --color-glucose-danger: #C55E72;
    --shadow-sm: 0 8px 24px rgba(25, 56, 78, 0.08);
    --shadow-md: 0 12px 28px rgba(25, 56, 78, 0.11);
    --shadow-lg: 0 24px 48px rgba(25, 56, 78, 0.13);
}

[data-theme="light"][data-light-palette="berry-notes"] {
    --color-bg: #F9F5FA;
    --color-surface: rgba(255, 255, 255, 0.93);
    --color-surface-2: rgba(255, 255, 255, 0.98);
    --color-surface-offset: #F0E8F2;
    --color-border: rgba(60, 41, 67, 0.13);
    --color-divider: rgba(60, 41, 67, 0.09);
    --color-text: #3C2943;
    --color-text-muted: #806C87;
    --color-text-faint: #A18DA7;
    --color-text-inverse: #FFFFFF;
    --color-primary: #8A4F8C;
    --color-primary-hover: #6E3C70;
    --color-primary-active: #562E58;
    --color-primary-strong: #BA82BB;
    --color-primary-alt: #477FA4;
    --color-primary-soft: rgba(138, 79, 140, 0.11);
    --color-glucose-normal: #4F866B;
    --color-glucose-warning: #C98938;
    --color-glucose-danger: #C45E77;
    --shadow-sm: 0 8px 24px rgba(60, 41, 67, 0.08);
    --shadow-md: 0 12px 28px rgba(60, 41, 67, 0.11);
    --shadow-lg: 0 24px 48px rgba(60, 41, 67, 0.13);
}

[data-theme="light"][data-light-palette="sage-clinic"] {
    --color-bg: #F4F7F2;
    --color-surface: rgba(252, 253, 252, 0.94);
    --color-surface-2: rgba(252, 253, 252, 0.99);
    --color-surface-offset: #E8EEE6;
    --color-border: rgba(41, 56, 46, 0.13);
    --color-divider: rgba(41, 56, 46, 0.09);
    --color-text: #29382E;
    --color-text-muted: #718176;
    --color-text-faint: #94A197;
    --color-text-inverse: #FFFFFF;
    --color-primary: #4D7B68;
    --color-primary-hover: #3C6554;
    --color-primary-active: #2C4C3E;
    --color-primary-strong: #83AB96;
    --color-primary-alt: #397A98;
    --color-primary-soft: rgba(77, 123, 104, 0.11);
    --color-glucose-normal: #3E865D;
    --color-glucose-warning: #BF8B32;
    --color-glucose-danger: #BD6270;
    --shadow-sm: 0 8px 24px rgba(41, 56, 46, 0.08);
    --shadow-md: 0 12px 28px rgba(41, 56, 46, 0.11);
    --shadow-lg: 0 24px 48px rgba(41, 56, 46, 0.13);
}

[data-theme="light"][data-light-palette="coral-dawn"] {
    --color-bg: #FFF7F3;
    --color-surface: rgba(255, 252, 250, 0.94);
    --color-surface-2: rgba(255, 252, 250, 0.99);
    --color-surface-offset: #F7EAE4;
    --color-border: rgba(68, 48, 45, 0.13);
    --color-divider: rgba(68, 48, 45, 0.09);
    --color-text: #44302D;
    --color-text-muted: #8A6F69;
    --color-text-faint: #A98D86;
    --color-text-inverse: #FFFFFF;
    --color-primary: #C9615E;
    --color-primary-hover: #A94B4A;
    --color-primary-active: #823938;
    --color-primary-strong: #E28C84;
    --color-primary-alt: #3F7F93;
    --color-primary-soft: rgba(201, 97, 94, 0.11);
    --color-glucose-normal: #478165;
    --color-glucose-warning: #C98A30;
    --color-glucose-danger: #B95369;
    --shadow-sm: 0 8px 24px rgba(68, 48, 45, 0.08);
    --shadow-md: 0 12px 28px rgba(68, 48, 45, 0.11);
    --shadow-lg: 0 24px 48px rgba(68, 48, 45, 0.13);
}

/* =============================================================================
   Общий слой светлых палитр для рабочих кабинетов
   =============================================================================
   Старые страницы врача и администратора вводили собственные teal/blue токены
   и градиенты. Этот слой подключается после CSS-isolation Razor и гарантирует,
   что все выбранные палитры применяются к контролам, карточкам и статусам. */

[data-theme="light"] .app-shell--doctor :is(.doctor-portal, .doctor-detail, .doctor-notes-index, .doctor-simple-page, .doctor-report-page, .doctor-profile-page) {
    --doctor-bg: var(--color-bg);
    --doctor-surface: var(--color-surface);
    --doctor-surface-strong: var(--color-surface-2);
    --doctor-offset: var(--color-surface-offset);
    --doctor-border: var(--color-border);
    --doctor-divider: var(--color-divider);
    --doctor-text: var(--color-text);
    --doctor-muted: var(--color-text-muted);
    --doctor-faint: var(--color-text-faint);
    --doctor-primary: var(--color-primary);
    --doctor-primary-alt: var(--color-primary-alt);
    --doctor-primary-soft: var(--color-primary-soft);
    --doctor-success: var(--color-glucose-normal);
    --doctor-success-soft: color-mix(in oklab, var(--color-glucose-normal) 14%, transparent);
    --doctor-warning: var(--color-glucose-warning);
    --doctor-warning-soft: color-mix(in oklab, var(--color-glucose-warning) 14%, transparent);
    --doctor-danger: var(--color-glucose-danger);
    --doctor-danger-soft: color-mix(in oklab, var(--color-glucose-danger) 14%, transparent);
    --doctor-shadow-sm: var(--shadow-sm);
    --doctor-shadow-md: var(--shadow-md);
}

[data-theme="light"] .app-shell--doctor :is(.doctor-btn--primary, .doctor-notes-btn--primary) {
    background: var(--color-primary) !important;
    color: var(--color-text-inverse) !important;
    box-shadow: var(--shadow-sm);
}

[data-theme="light"] .app-shell--doctor :is(.doctor-btn--soft, .doctor-notes-btn--soft) {
    border-color: color-mix(in oklab, var(--color-primary) 20%, var(--color-border));
    background: var(--color-primary-soft);
    color: var(--color-primary);
}

[data-theme="light"] .app-shell--doctor :is(.doctor-btn--ghost, .doctor-notes-btn--ghost) {
    border-color: var(--color-border);
    color: var(--color-text-muted);
}

[data-theme="light"] .app-shell--admin :is(.admin-btn--primary) {
    background: var(--color-primary) !important;
    color: var(--color-text-inverse) !important;
    box-shadow: var(--shadow-sm);
}

[data-theme="light"] .app-shell--admin :is(.admin-btn--soft, .admin-wide-link) {
    border-color: color-mix(in oklab, var(--color-primary) 20%, var(--color-border));
    background: var(--color-primary-soft);
    color: var(--color-primary);
}

[data-theme="light"] .app-shell--admin :is(.admin-btn--ghost, .queue-button, .security-button) {
    border-color: var(--color-border);
    background: var(--color-surface);
    color: var(--color-primary);
}

[data-theme="light"] .app-shell--admin .btn-danger {
    background: var(--color-glucose-danger) !important;
    color: var(--color-text-inverse) !important;
}
