:root {
  color-scheme: light;
  --sr-bg: #f7f6f3;
  --sr-bg-soft: #f1ebd7;
  --sr-surface: #fffdfa;
  --sr-surface-raised: #ffffff;
  --sr-line: #e6e0d6;
  --sr-ink: #2f2a24;
  --sr-muted: #71685d;
  --sr-primary: #947f5e;
  --sr-primary-hover: #776648;
  --sr-primary-soft: #f1ebdd;
  --sr-accent: #b99143;
  --sr-success: #2d7a5c;
  --sr-success-soft: #e7f4ed;
  --sr-warning: #a96f16;
  --sr-warning-soft: #fff4dd;
  --sr-danger: #b54037;
  --sr-danger-soft: #fbeceb;
  --sr-info: #3f6f84;
  --sr-info-soft: #e8f2f5;
  --sr-on-primary: #22180a;
  --sr-on-success: #fffdf8;
  --sr-on-warning: #fffdf8;
  --sr-on-danger: #fffdf8;
  --sr-on-info: #fffdf8;
  --sr-on-secondary: #fffdf8;
  --sr-secondary-surface: #756d64;
  --sr-dark-surface: #2f2a24;
  --sr-on-dark: #fffdf8;
  --sr-focus: rgba(148, 127, 94, .32);
  --sr-shadow: 0 4px 14px rgba(51, 43, 33, .055);
  --sr-shadow-hover: 0 8px 22px rgba(51, 43, 33, .09);
  --bs-body-bg: var(--sr-bg);
  --bs-body-color: var(--sr-ink);
  --bs-primary: var(--sr-primary);
  --bs-primary-rgb: 148, 127, 94;
  --bs-secondary: #756d64;
  --bs-success: var(--sr-success);
  --bs-warning: var(--sr-warning);
  --bs-danger: var(--sr-danger);
  --bs-info: var(--sr-info);
  --bs-border-color: var(--sr-line);
  --bs-secondary-bg: var(--sr-bg-soft);
  --bs-tertiary-bg: var(--sr-bg-soft);
  --app-blue: var(--sr-primary);
  --app-ink: var(--sr-ink);
  --app-muted: var(--sr-muted);
  --app-line: var(--sr-line);
  --app-surface: var(--sr-surface-raised);
  --app-page: var(--sr-bg);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --sr-bg: #1e1c19;
  --sr-bg-soft: #29251f;
  --sr-surface: #272420;
  --sr-surface-raised: #302c27;
  --sr-line: #4b4338;
  --sr-ink: #f3eee6;
  --sr-muted: #c8beb1;
  --sr-primary: #d0b184;
  --sr-primary-hover: #e0c49a;
  --sr-primary-soft: #40382e;
  --sr-accent: #e0bb67;
  --sr-success: #69b98d;
  --sr-success-soft: #1f382d;
  --sr-warning: #e2ad53;
  --sr-warning-soft: #44341d;
  --sr-danger: #e7847c;
  --sr-danger-soft: #482725;
  --sr-info: #80b7cb;
  --sr-info-soft: #213842;
  --sr-on-primary: #1e1c19;
  --sr-on-success: #0c2518;
  --sr-on-warning: #22180a;
  --sr-on-danger: #2f1716;
  --sr-on-info: #17252b;
  --sr-on-secondary: #fffdf8;
  --sr-secondary-surface: #60584e;
  --sr-dark-surface: #171513;
  --sr-on-dark: #f3eee6;
  --sr-focus: rgba(208, 177, 132, .42);
  --sr-shadow: 0 4px 16px rgba(0, 0, 0, .22);
  --sr-shadow-hover: 0 10px 28px rgba(0, 0, 0, .32);
  --bs-body-bg: var(--sr-bg);
  --bs-body-color: var(--sr-ink);
  --bs-primary: var(--sr-primary);
  --bs-primary-rgb: 208, 177, 132;
  --bs-secondary: #c4b9aa;
  --bs-success: var(--sr-success);
  --bs-warning: var(--sr-warning);
  --bs-danger: var(--sr-danger);
  --bs-info: var(--sr-info);
  --bs-border-color: var(--sr-line);
  --bs-secondary-bg: var(--sr-bg-soft);
  --bs-tertiary-bg: var(--sr-bg-soft);
}

* { scrollbar-color: var(--sr-line) transparent; }
body { background: var(--sr-bg); color: var(--sr-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: var(--sr-primary-hover); } a:hover { color: var(--sr-primary); }
:focus-visible { outline: 3px solid var(--sr-focus); outline-offset: 2px; }

.app-header { align-items: center; background: color-mix(in srgb, var(--sr-surface-raised) 94%, transparent); border-bottom: 1px solid var(--sr-line); display: flex; height: 76px; justify-content: space-between; padding: 0 clamp(1rem, 3vw, 2.15rem); position: sticky; top: 0; z-index: 1030; }
.app-brand { align-items: center; color: var(--sr-ink); display: inline-flex; gap: .6rem; text-decoration: none; }
.app-brand__logo { background: #f1ebd7; border-radius: 10px; display: block; height: 62px; object-fit: contain; padding: 2px; width: 62px; }
.app-brand__context { border-left: 1px solid var(--sr-line); color: var(--sr-muted); font-size: .67rem; font-weight: 800; letter-spacing: .12em; padding-left: .65rem; text-transform: uppercase; }
.app-header__actions { align-items: center; display: flex; gap: .65rem; }
.app-header__notification { align-items: center; background: var(--sr-bg-soft); border: 1px solid var(--sr-line); border-radius: 9px; color: var(--sr-ink); display: inline-flex; height: 34px; justify-content: center; text-decoration: none; width: 34px; }
.app-header__user { color: var(--sr-muted); font-size: .8rem; white-space: nowrap; }
.theme-switcher { align-items: center; background: var(--sr-bg-soft); border: 1px solid var(--sr-line); border-radius: 10px; display: inline-flex; padding: 3px; }
.theme-switcher__button { background: transparent; border: 0; border-radius: 7px; color: var(--sr-muted); font-size: .72rem; font-weight: 750; line-height: 1; padding: .42rem .55rem; }
.theme-switcher__button[aria-pressed="true"] { background: var(--sr-surface-raised); box-shadow: 0 1px 3px rgba(45, 37, 27, .11); color: var(--sr-primary-hover); }

.app-shell { display: flex; min-height: calc(100vh - 76px); }
.app-sidebar { background: var(--sr-surface); border-right: 1px solid var(--sr-line); flex: 0 0 258px; padding: 1rem .75rem; }
.app-sidebar__mobile > summary { display: none; }
.auth-logo { background: #f1ebd7; display: block; height: clamp(190px, 58vw, 250px); margin: 0 auto; max-width: 100%; object-fit: contain; padding: 4px; width: clamp(190px, 58vw, 250px); }
.app-sidebar__section-label { color: var(--sr-muted); font-size: .66rem; font-weight: 800; letter-spacing: .11em; margin: .35rem .7rem .5rem; text-transform: uppercase; }
.app-sidebar__group { border: 0; margin-top: .3rem; }
.app-sidebar__group summary, .app-sidebar__mobile > summary { align-items: center; border-radius: 9px; color: var(--sr-muted); cursor: pointer; display: flex; font-size: .78rem; font-weight: 780; justify-content: space-between; letter-spacing: .01em; list-style: none; min-height: 35px; padding: .35rem .65rem; user-select: none; }
.app-sidebar__group summary::-webkit-details-marker, .app-sidebar__mobile > summary::-webkit-details-marker { display: none; }
.app-sidebar__group summary > span:first-child { align-items: center; display: inline-flex; gap: .55rem; }.app-sidebar__group summary i { color: var(--sr-primary); font-size: .95rem; font-style: normal; width: 1rem; }.app-sidebar__group summary > span:last-child { transition: transform .16s ease; }.app-sidebar__group[open] summary > span:last-child { transform: rotate(180deg); }
.app-sidebar__group.is-current > summary { background: var(--sr-primary-soft); color: var(--sr-primary-hover); }
.app-sidebar__group-links { border-left: 1px solid var(--sr-line); margin: .12rem 0 .42rem 1.08rem; padding-left: .5rem; }
.app-sidebar__link { align-items: center; border-radius: 8px; color: var(--sr-muted); display: flex; font-size: .81rem; font-weight: 590; gap: .65rem; margin: .1rem 0; min-height: 34px; overflow: hidden; padding: .38rem .6rem; text-decoration: none; white-space: nowrap; }
.app-sidebar__link:hover { background: var(--sr-bg-soft); color: var(--sr-primary-hover); }.app-sidebar__link.is-active { background: var(--sr-primary-soft); color: var(--sr-primary-hover); font-weight: 760; }.app-sidebar__link.is-disabled { color: color-mix(in srgb, var(--sr-muted) 48%, transparent); cursor: not-allowed; }.app-sidebar__icon { color: currentColor; flex: 0 0 1rem; font-size: .9rem; line-height: 1; text-align: center; }.app-sidebar__group--admin { border-top: 1px solid var(--sr-line); margin-top: .85rem; padding-top: .7rem; }

.app-main { flex: 1 1 auto; min-width: 0; padding: clamp(1rem, 2.5vw, 2.15rem); }
.app-main .card, .modal-content, .auth-page .card { background: var(--sr-surface-raised); border-color: var(--sr-line); border-radius: 13px; box-shadow: var(--sr-shadow); color: var(--sr-ink); }.app-main .card-header { background: transparent; border-bottom-color: var(--sr-line); color: var(--sr-ink); font-weight: 730; padding: .85rem 1rem; }
.btn { border-radius: 8px; font-weight: 680; }.btn-primary { --bs-btn-bg: var(--sr-primary); --bs-btn-border-color: var(--sr-primary); --bs-btn-color: var(--sr-on-primary); --bs-btn-hover-bg: var(--sr-primary-hover); --bs-btn-hover-border-color: var(--sr-primary-hover); --bs-btn-hover-color: var(--sr-on-primary); --bs-btn-active-bg: var(--sr-primary-hover); --bs-btn-active-border-color: var(--sr-primary-hover); --bs-btn-active-color: var(--sr-on-primary); }.btn-secondary, .btn-light, .btn-outline-secondary { --bs-btn-bg: var(--sr-bg-soft); --bs-btn-border-color: var(--sr-line); --bs-btn-color: var(--sr-ink); --bs-btn-hover-bg: var(--sr-surface-raised); --bs-btn-hover-border-color: var(--sr-primary); --bs-btn-hover-color: var(--sr-primary-hover); }.btn-outline-primary { --bs-btn-color: var(--sr-primary-hover); --bs-btn-border-color: var(--sr-primary); --bs-btn-hover-bg: var(--sr-primary); --bs-btn-hover-border-color: var(--sr-primary); --bs-btn-hover-color: var(--sr-on-primary); }.btn-success { --bs-btn-bg: var(--sr-success); --bs-btn-border-color: var(--sr-success); --bs-btn-color: var(--sr-on-success); --bs-btn-hover-color: var(--sr-on-success); }.btn-warning { --bs-btn-bg: var(--sr-warning); --bs-btn-border-color: var(--sr-warning); --bs-btn-color: var(--sr-on-warning); --bs-btn-hover-color: var(--sr-on-warning); }.btn-danger { --bs-btn-bg: var(--sr-danger); --bs-btn-border-color: var(--sr-danger); --bs-btn-color: var(--sr-on-danger); --bs-btn-hover-color: var(--sr-on-danger); }.btn-ghost { --bs-btn-bg: transparent; --bs-btn-border-color: transparent; --bs-btn-color: var(--sr-primary-hover); --bs-btn-hover-bg: var(--sr-primary-soft); --bs-btn-hover-border-color: var(--sr-primary-soft); --bs-btn-hover-color: var(--sr-primary-hover); }.btn:disabled, .btn.disabled { opacity: .68; }
.form-control, .form-select, .form-control-color { background-color: var(--sr-surface-raised); border-color: var(--sr-line); color: var(--sr-ink); }.form-control:focus, .form-select:focus { background-color: var(--sr-surface-raised); border-color: var(--sr-primary); box-shadow: 0 0 0 .2rem var(--sr-focus); color: var(--sr-ink); }.form-control::placeholder { color: var(--sr-muted); opacity: .82; }.form-control:disabled, .form-select:disabled, .form-control[readonly] { background: var(--sr-bg-soft); color: var(--sr-muted); }.form-text, .text-muted, .text-secondary { color: var(--sr-muted) !important; }
.app-main .table, .table { --bs-table-bg: transparent; --bs-table-color: var(--sr-ink); --bs-table-striped-bg: color-mix(in srgb, var(--sr-bg-soft) 65%, transparent); --bs-table-striped-color: var(--sr-ink); --bs-table-hover-bg: var(--sr-bg-soft); --bs-table-hover-color: var(--sr-ink); --bs-table-active-bg: var(--sr-primary-soft); --bs-table-active-color: var(--sr-ink); --bs-table-border-color: var(--sr-line); border-color: var(--sr-line); color: var(--sr-ink); }.table thead th { color: var(--sr-muted); font-size: .72rem; font-weight: 800; letter-spacing: .045em; padding-bottom: .8rem; padding-top: .8rem; text-transform: uppercase; white-space: nowrap; }.table > :not(caption) > * > * { padding-bottom: .75rem; padding-top: .75rem; }
.alert { border-color: var(--sr-line); border-radius: 10px; }.alert-primary { background: var(--sr-primary-soft); color: var(--sr-ink); }.alert-secondary, .alert-light, .alert-dark { background: var(--sr-bg-soft); color: var(--sr-ink); }.alert-success { background: var(--sr-success-soft); color: color-mix(in srgb, var(--sr-success) 82%, var(--sr-ink)); }.alert-warning { background: var(--sr-warning-soft); color: color-mix(in srgb, var(--sr-warning) 80%, var(--sr-ink)); }.alert-danger { background: var(--sr-danger-soft); color: color-mix(in srgb, var(--sr-danger) 84%, var(--sr-ink)); }.alert-info { background: var(--sr-info-soft); color: color-mix(in srgb, var(--sr-info) 84%, var(--sr-ink)); }
.badge.text-bg-primary, .badge.bg-primary { background: var(--sr-primary) !important; color: var(--sr-on-primary) !important; }.badge.text-bg-success, .badge.bg-success { background: var(--sr-success) !important; color: var(--sr-on-success) !important; }.badge.text-bg-warning, .badge.bg-warning { background: var(--sr-warning) !important; color: var(--sr-on-warning) !important; }.badge.text-bg-danger, .badge.bg-danger { background: var(--sr-danger) !important; color: var(--sr-on-danger) !important; }.badge.text-bg-info, .badge.bg-info { background: var(--sr-info) !important; color: var(--sr-on-info) !important; }.badge.text-bg-secondary, .badge.bg-secondary { background: var(--sr-secondary-surface) !important; color: var(--sr-on-secondary) !important; }.badge.text-bg-dark, .badge.bg-dark { background: var(--sr-dark-surface) !important; color: var(--sr-on-dark) !important; }.bg-light, .bg-white, .bg-body-secondary { background: var(--sr-bg-soft) !important; color: var(--sr-ink) !important; }.text-bg-light, .badge.bg-light { background: var(--sr-bg-soft) !important; color: var(--sr-ink) !important; }.text-dark { color: var(--sr-ink) !important; }.border, hr { border-color: var(--sr-line) !important; }
.pagination { --bs-pagination-color: var(--sr-primary-hover); --bs-pagination-bg: var(--sr-surface-raised); --bs-pagination-border-color: var(--sr-line); --bs-pagination-hover-color: var(--sr-primary-hover); --bs-pagination-hover-bg: var(--sr-bg-soft); --bs-pagination-active-bg: var(--sr-primary); --bs-pagination-active-border-color: var(--sr-primary); --bs-pagination-disabled-color: var(--sr-muted); --bs-pagination-disabled-bg: var(--sr-bg-soft); --bs-pagination-disabled-border-color: var(--sr-line); }.text-primary-emphasis { color: var(--sr-primary-hover) !important; }.text-success-emphasis { color: var(--sr-success) !important; }.text-warning-emphasis { color: var(--sr-warning) !important; }.text-danger-emphasis { color: var(--sr-danger) !important; }.text-info-emphasis { color: var(--sr-info) !important; }.text-secondary-emphasis { color: var(--sr-muted) !important; }

.accordion { --bs-accordion-color: var(--sr-ink); --bs-accordion-bg: var(--sr-surface-raised); --bs-accordion-border-color: var(--sr-line); --bs-accordion-btn-color: var(--sr-ink); --bs-accordion-btn-bg: var(--sr-surface-raised); --bs-accordion-active-color: var(--sr-primary-hover); --bs-accordion-active-bg: var(--sr-primary-soft); --bs-accordion-btn-focus-border-color: var(--sr-primary); --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem var(--sr-focus); }.list-group { --bs-list-group-color: var(--sr-ink); --bs-list-group-bg: var(--sr-surface-raised); --bs-list-group-border-color: var(--sr-line); --bs-list-group-action-hover-color: var(--sr-ink); --bs-list-group-action-hover-bg: var(--sr-bg-soft); }.dropdown-menu { --bs-dropdown-color: var(--sr-ink); --bs-dropdown-bg: var(--sr-surface-raised); --bs-dropdown-border-color: var(--sr-line); --bs-dropdown-link-color: var(--sr-ink); --bs-dropdown-link-hover-color: var(--sr-ink); --bs-dropdown-link-hover-bg: var(--sr-bg-soft); }.nav-tabs { --bs-nav-tabs-border-color: var(--sr-line); --bs-nav-tabs-link-hover-border-color: var(--sr-line) var(--sr-line) var(--sr-line); --bs-nav-tabs-link-active-color: var(--sr-ink); --bs-nav-tabs-link-active-bg: var(--sr-surface-raised); --bs-nav-tabs-link-active-border-color: var(--sr-line) var(--sr-line) var(--sr-surface-raised); }.nav-tabs .nav-link { color: var(--sr-muted); }.nav-tabs .nav-link:hover { color: var(--sr-primary-hover); }.modal-header, .modal-footer { border-color: var(--sr-line); }.tooltip { --bs-tooltip-bg: var(--sr-surface-raised); --bs-tooltip-color: var(--sr-ink); --bs-tooltip-opacity: 1; }.popover { --bs-popover-bg: var(--sr-surface-raised); --bs-popover-border-color: var(--sr-line); --bs-popover-header-bg: var(--sr-bg-soft); --bs-popover-header-color: var(--sr-ink); --bs-popover-body-color: var(--sr-ink); }.app-main pre, .app-main code { background: var(--sr-bg-soft); color: var(--sr-ink); }.app-main pre { border-color: var(--sr-line) !important; }
.app-main details { background: var(--sr-surface-raised); border: 1px solid var(--sr-line); border-radius: 10px; color: var(--sr-ink); padding: .7rem .85rem; }.app-main details summary { color: var(--sr-muted); cursor: pointer; }.campaign-intelligence__message { background: var(--sr-bg-soft); color: var(--sr-ink); line-height: 1.55; margin-bottom: 1rem; }

.crm-kanban-board { align-items: flex-start; scroll-snap-type: x proximity; }.crm-kanban-column { background: var(--sr-surface); flex: 0 0 285px; max-width: 285px; scroll-snap-align: start; }.crm-kanban-card { background: var(--sr-bg-soft) !important; border-color: var(--sr-line) !important; transition: box-shadow .16s ease, transform .16s ease; }.crm-kanban-card:hover { box-shadow: var(--sr-shadow-hover); transform: translateY(-1px); }

html[data-theme="dark"] .list-group-item, html[data-theme="dark"] .dropdown-menu { background: var(--sr-surface-raised); border-color: var(--sr-line); color: var(--sr-ink); } html[data-theme="dark"] .list-group-item-action:hover, html[data-theme="dark"] .dropdown-item:hover { background: var(--sr-bg-soft); color: var(--sr-ink); } html[data-theme="dark"] .card .table, html[data-theme="dark"] .table-responsive { color: var(--sr-ink) !important; } html[data-theme="dark"] .btn-close { filter: invert(1); }

@media (min-width: 992px) { .app-sidebar { height: calc(100vh - 76px); overflow-y: auto; position: sticky; top: 76px; } }
@media (max-width: 991.98px) { .app-shell { display: block; }.app-sidebar { border-bottom: 1px solid var(--sr-line); border-right: 0; padding: .55rem 1rem; }.app-sidebar__mobile > summary { display: flex; }.app-sidebar__mobile[open] > summary > span:last-child { transform: rotate(180deg); }.app-sidebar__navigation { padding-top: .65rem; }.app-sidebar__group-links { margin-left: .8rem; } }
@media (max-width: 575.98px) { .app-header { height: 64px; padding: 0 .85rem; }.app-shell { min-height: calc(100vh - 64px); }.app-main { padding: 1rem .8rem 1.5rem; }.app-header__actions { gap: .4rem; }.app-brand__logo { height: 52px; width: 52px; }.app-brand__context { display: none; }.theme-switcher__button { font-size: .68rem; padding: .4rem; }.crm-kanban-column { flex-basis: min(86vw, 285px); max-width: min(86vw, 285px); }.crm-kanban-board { margin-right: -.8rem; padding-right: .8rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
