:root{--surface:#fff;--surface-soft:#f2f5ed;--menu:#183e37;--primary-contrast:#fff;--accent-contrast:#111;--menu-contrast:#fff}
html{color-scheme:light}
html[data-bs-theme=dark]{color-scheme:dark;--ink:#edf2ee;--muted:#adbab2;--line:#3b4842;--surface:#202923;--surface-soft:#2b372f;--bs-body-bg:#151c18;--bs-body-color:#e0e8e2;--bs-secondary-color:#adbab2;--bs-border-color:#3b4842}
body{background:var(--paper)}
.btn-primary{--bs-btn-color:var(--primary-contrast);--bs-btn-hover-color:var(--primary-contrast);--bs-btn-active-color:var(--primary-contrast);--bs-btn-bg:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--green);--bs-btn-hover-border-color:var(--green);--bs-btn-active-bg:var(--green);--bs-btn-active-border-color:var(--green)}
.btn-primary:hover{filter:brightness(.92)}
.btn-outline-primary{--bs-btn-hover-color:var(--primary-contrast);--bs-btn-active-bg:var(--green);--bs-btn-active-border-color:var(--green);--bs-btn-active-color:var(--primary-contrast)}
.sidebar{background:var(--menu);color:var(--menu-contrast)}
.sidebar .brand,.sidebar .sidebar-caption,.sidebar .nav-item,.sidebar .public-link{color:var(--menu-contrast)}
.sidebar .nav-item.active{background:var(--lime);color:var(--accent-contrast)}
.sidebar .brand-symbol{background:var(--lime);color:var(--accent-contrast)}
.brand-dot{color:var(--green)}
.calendar-day.selected,.stepper .current span{background:var(--green);color:var(--primary-contrast)}
.time-slot.selected{background:var(--lime);color:var(--accent-contrast);border-color:var(--green)}
.avatar{object-fit:cover;flex-shrink:0;overflow:hidden;background:var(--lime);color:var(--accent-contrast)}
.avatar-large{width:96px;height:96px;font-size:32px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.profile-identity{display:flex;align-items:center;gap:18px;margin:24px 0;overflow-wrap:anywhere}
.profile-identity>div{min-width:0}
.profile-identity p{margin:8px 0 0}
.theme-control{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.theme-control .form-select{width:auto;max-width:170px;padding:7px 30px 7px 10px;font-size:11px}
.public-controls{display:flex;align-items:center;gap:20px}
input[type=color].form-control{height:46px;cursor:pointer;padding:5px}
[data-bs-theme=dark] body{color:var(--bs-body-color);background:var(--bs-body-bg)}
[data-bs-theme=dark] :is(.surface,.admin-top,.stat-card,.booking-card,.confirmation-card,.login-page,.form-control,.form-select,.time-slot,.modal-content){background-color:var(--surface);color:var(--bs-body-color);border-color:var(--line)}
[data-bs-theme=dark] :is(.location-summary,.selected-summary,.protocol,.quick-grid a,.info-note,.stat-card i,.table thead th,.btn-light,.calendar-day:not(:disabled),.success-icon,.pill){background:var(--surface-soft);color:var(--bs-body-color);border-color:var(--line)}
[data-bs-theme=dark] :is(.table td,.table thead th,.user-menu strong,.stat-card>strong,.agenda-slot>strong,.section-summary,.brand,.filter-bar label){color:var(--ink)}
[data-bs-theme=dark] :is(.muted,.professional-link,.intro-description,.intro-benefits small,.intro-note,.illustration-label,.back-link,.calendar-message,.booking-footnote,.location-summary small,.time-heading>span,.availability-legend,.public-footer,.table-action,.stat-card>div,.stat-card>small,.admin-footer,.pagination-row,.timeline small,.timeline details,.file-item small,.stepper li,.calendar-weekdays,.card-topline .eyebrow,.booking-intro>.eyebrow){color:var(--muted)}
[data-bs-theme=dark] :is(.inline-link,.stepper .current,.booking-intro h1 em){color:var(--lime)}
[data-bs-theme=dark] .login-art{background:var(--menu)}
[data-bs-theme=dark] .table{--bs-table-color:var(--ink);--bs-table-border-color:var(--line)}
[data-bs-theme=dark] :is(.calendar-nav,.agenda-slot,.public-footer,.intro-benefits div){border-color:var(--line)}
[data-bs-theme=dark] .calendar-nav{color:var(--ink)}
[data-bs-theme=dark] .calendar-day:disabled{color:#79857e}
[data-bs-theme=dark] .calendar-day.selected{background:var(--green);color:var(--primary-contrast)}
[data-bs-theme=dark] .time-slot.selected{background:var(--lime);color:var(--accent-contrast)}
[data-bs-theme=dark] .sidebar .brand{color:var(--menu-contrast)}
[data-bs-theme=dark] a:not(.btn):not(.nav-item):not(.brand):not(.public-link){color:#c7d7cb}
[data-bs-theme=dark] .user-menu small{color:var(--muted)}
[data-bs-theme=dark] .btn-outline-secondary{--bs-btn-color:#c7d7cb;--bs-btn-border-color:#7e9185}
@media(max-width:900px){.profile-grid{grid-template-columns:1fr}.admin-top .admin-title{display:none}.admin-top{height:auto;min-height:75px;padding-top:12px;padding-bottom:12px}.user-menu{width:100%;flex-wrap:wrap}.profile-name{flex:1}.user-menu form{margin-left:0}}
@media(max-width:600px){.public-header{align-items:flex-start;gap:14px}.public-controls{flex-direction:column;align-items:flex-end;gap:12px}.public-controls .theme-control>span,.admin-top .theme-control>span{display:none}.admin-top .theme-control .form-select{max-width:120px}.profile-identity{align-items:flex-start}.avatar-large{width:72px;height:72px}.profile-grid .padded{padding:20px}}
