:root{--sidebar:#172033;--sidebar-soft:#222d44;--accent:#ffc107;--body:#f5f7fb;--text:#1f2937}
*{box-sizing:border-box}
body{min-height:100vh;background:var(--body);color:var(--text);font-family:var(--bs-body-font-family)}
.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(120deg,rgba(23,32,51,.9),rgba(255,193,7,.58)),url('https://images.unsplash.com/photo-1506784983877-45594efa4cbe?auto=format&fit=crop&w=1600&q=80') center/cover}
.auth-card{width:min(430px,calc(100vw - 32px));border:0;border-radius:8px}
.auth-footer{position:fixed;right:16px;bottom:14px;left:16px;color:rgba(255,255,255,.72);font-size:.75rem;text-align:center;text-shadow:0 1px 3px #000}
.sidebar{position:fixed;inset:0 auto 0 0;width:300px;background:radial-gradient(1200px 600px at -10% -10%,#172036 0%,var(--sidebar) 42%);color:#fff;padding:14px 12px;display:flex;flex-direction:column;z-index:20;overflow-x:hidden;overflow-y:auto;transition:width .2s}
.brand{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:400;margin-bottom:8px;min-height:36px;padding:8px 8px 14px}
.brand-mark{width:36px;height:36px;min-width:36px;display:inline-grid;place-items:center;border-radius:8px;background:var(--accent);color:#212529;font-family:Arial,Helvetica,sans-serif;font-weight:600}
.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.1}.brand-title{display:block;white-space:nowrap;font-weight:400}.brand-text small{font-size:.72rem;font-weight:400;color:rgba(255,255,255,.62);white-space:nowrap}
.sidebar-toggle{margin-left:auto;color:rgba(255,255,255,.72);border:0}.sidebar-toggle:hover{color:#fff}
.sidebar .nav-link{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.78);border-radius:8px;padding:10px 12px;white-space:nowrap}.sidebar .nav-link:hover,.sidebar .nav-link.active{color:#fff;background:var(--sidebar-soft)}.sidebar .bi{width:22px;flex:0 0 22px}.sidebar-footer{margin-top:auto}
.app-main{margin-left:300px;min-height:100vh;transition:margin-left .2s}.topbar{min-height:70px;background:var(--bs-body-bg,#fff);border-bottom:1px solid var(--bs-border-color,#e5e7eb);padding:14px 22px;display:flex;align-items:center;gap:18px}.topbar h1{font-size:1.5rem;margin:0}
.content{padding:28px}.empty-workspace{min-height:calc(100vh - 144px);border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg)}
.okami-universes{display:flex;gap:8px}.okami-universe-button{width:38px;height:38px;display:inline-grid;place-items:center;padding:0;border-radius:8px;font-weight:400}.mobile-menu-toggle{display:none}
.sidebar-collapsed .sidebar{width:74px;padding-left:10px;padding-right:10px}.sidebar-collapsed .app-main{margin-left:74px}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar .nav-link span{display:none}.sidebar-collapsed .brand-mark{display:none}.sidebar-collapsed .brand{justify-content:center;gap:0}.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-collapsed .sidebar .nav-link{width:44px;height:40px;padding:0;justify-content:center;gap:0;margin-inline:auto}
[data-bs-theme=dark]{--body:#0f172a;--text:#e5e7eb}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.workspace-card{border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg);padding:22px}.hero-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(120deg,rgba(255,193,7,.14),var(--bs-body-bg))}.hero-card h2,.card-heading h2,.module-workspace h2{margin:0;font-size:1.25rem}.hero-card p{margin:.5rem 0 0;color:var(--bs-secondary-color)}.section-kicker{display:block;color:#b48600;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.metric-card{display:flex;align-items:center;gap:15px}.metric-card>i{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:rgba(255,193,7,.16);color:#9a7400;font-size:1.25rem}.metric-card span{display:block;color:var(--bs-secondary-color);font-size:.82rem}.metric-card strong{font-size:1.45rem}.dashboard-main{grid-column:span 2}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.empty-state{min-height:260px;display:grid;place-items:center;align-content:center;color:var(--bs-secondary-color);text-align:center}.empty-state i,.module-icon{font-size:2rem;color:var(--accent)}.empty-state p{margin:.65rem 0 0}.empty-state.compact{min-height:180px}.module-workspace{min-height:calc(100vh - 145px);display:grid;place-items:center;align-content:center;text-align:center}.module-workspace p{color:var(--bs-secondary-color)}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr 1fr}.hero-card{grid-column:1/-1}.dashboard-main{grid-column:1/-1}}
@media(max-width:900px){.sidebar,.sidebar-collapsed .sidebar{transform:translateX(-100%);transition:transform .2s;width:300px}.app-main,.sidebar-collapsed .app-main{margin-left:0}.mobile-menu-open .sidebar{transform:none}.mobile-menu-toggle{display:inline-flex}.topbar{padding:14px 18px}.content{padding:18px}.okami-universes{margin-left:auto}}
@media(max-width:650px){.dashboard-grid{grid-template-columns:1fr}.hero-card{align-items:flex-start;flex-direction:column}.dashboard-main{grid-column:auto}}
.context-picker{padding:0 7px 13px;margin-bottom:7px;border-bottom:1px solid rgba(255,255,255,.1)}.context-picker label{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin:0 0 6px 4px}.context-select-wrap{position:relative}.context-select-wrap>i{position:absolute;left:10px;top:8px;color:#ffc107;z-index:2}.context-picker .form-select{padding-left:34px;background-color:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);color:#fff}.context-picker option{color:#1f2937}.nav-divider{height:1px;background:rgba(255,255,255,.1);margin:9px 8px}.main-nav{font-size:.88rem}.sidebar-collapsed .context-picker{display:none}
.agenda-page{min-width:0}.agenda-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.agenda-toolbar h2{margin:0;font-size:1.45rem}.agenda-toolbar p{margin:5px 0 0;color:var(--bs-secondary-color);font-size:.86rem}.agenda-actions{display:flex;gap:10px}.agenda-legend{display:flex;align-items:center;gap:20px;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-bottom:0;border-radius:12px 12px 0 0;padding:11px 16px;font-size:.76rem;color:var(--bs-secondary-color)}.agenda-legend span{display:flex;align-items:center;gap:6px}.agenda-legend i[style]{width:8px;height:8px;border-radius:50%;background:var(--dot)}
.week-board{display:grid;grid-template-columns:60px repeat(6,minmax(145px,1fr));background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:0 0 12px 12px;overflow-x:auto;overflow-y:hidden;box-shadow:0 8px 30px rgba(31,41,55,.04)}.rail-head,.day-head{height:78px;border-bottom:1px solid var(--bs-border-color);background:rgba(245,247,251,.65)}.rail-head{display:grid;place-items:center;color:var(--bs-secondary-color);font-size:.68rem;text-transform:uppercase}.time-label{height:78px;padding:9px 8px;text-align:center;border-bottom:1px solid var(--bs-border-color);font-size:.69rem;color:var(--bs-secondary-color)}.day-column{min-width:0;border-left:1px solid var(--bs-border-color)}.day-head{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 34px;text-align:center}.day-head>div{display:flex;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:1px}.day-head span{font-size:.7rem;text-transform:uppercase;color:var(--bs-secondary-color)}.day-head strong{display:flex;align-items:baseline;justify-content:center;gap:4px;font-size:1.2rem;line-height:1.05}.day-head strong em{color:var(--bs-secondary-color);font-size:.68rem;font-style:normal;font-weight:700;text-transform:lowercase}.day-head small{color:var(--bs-secondary-color);font-size:.62rem}.day-add{position:absolute;right:8px;top:50%;width:22px;height:22px;display:grid;place-items:center;padding:0;transform:translateY(-50%);border:1px solid var(--bs-border-color);border-radius:50%;background:var(--bs-body-bg);color:var(--bs-secondary-color);font-size:.62rem}.day-add:hover{border-color:#ffc107;color:#8a6800;background:#fff7dd}.day-slots{position:relative;display:grid;grid-template-rows:repeat(10,78px);background:repeating-linear-gradient(to bottom,transparent 0,transparent 77px,var(--bs-border-color) 78px)}
.appointment,.free-slot{margin:5px 6px;border-radius:7px;text-align:left;min-height:68px}.appointment{border:0;border-left:3px solid var(--service);background:color-mix(in srgb,var(--service) 11%,var(--bs-body-bg));padding:6px 7px;display:grid;grid-template-columns:1fr auto;align-content:start;color:var(--bs-body-color)}.appointment span{font-size:.67rem;font-weight:700;color:var(--service)}.appointment strong{font-size:.76rem}.appointment small,.appointment em{font-size:.62rem;color:var(--bs-secondary-color);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment:hover{filter:brightness(.97);transform:translateY(-1px)}.free-slot{border:1px dashed #cbd2dc;background:transparent;color:#8993a4;display:flex;align-items:center;justify-content:center;gap:3px;font-size:.68rem;opacity:.7}.free-slot:hover{opacity:1;border-color:#20a878;color:#13815c;background:rgba(32,168,120,.06)}.is-closed .day-slots{display:block;background:repeating-linear-gradient(135deg,rgba(120,130,145,.05),rgba(120,130,145,.05) 8px,transparent 8px,transparent 16px);height:780px}.closure-card{margin:12px;padding:15px;border-radius:9px;background:#fdf0f1;border:1px solid #f0c8cd;color:#a33c48;display:flex;flex-direction:column;gap:5px;text-align:center}.closure-card i{font-size:1.4rem}.closure-card strong{font-size:.75rem}.closure-card span,.closure-card small{font-size:.65rem}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-card{border:1px solid var(--bs-border-color);background:var(--bs-body-bg);border-radius:10px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:5px}.choice-card i{font-size:1.4rem;color:#9a7400}.choice-card strong{font-size:.85rem}.choice-card span{font-size:.72rem;color:var(--bs-secondary-color)}.choice-card.active{border-color:#e4ae09;background:rgba(255,193,7,.08);box-shadow:0 0 0 2px rgba(255,193,7,.13)}.toast{border:0;box-shadow:0 12px 40px rgba(0,0,0,.18)}
@media(max-width:650px){.agenda-toolbar{align-items:flex-start;flex-direction:column}.agenda-actions{width:100%;justify-content:space-between}.agenda-legend{overflow:auto}.week-board{grid-template-columns:52px repeat(6,150px)}.choice-grid{grid-template-columns:1fr}}
.context-card{padding:10px;margin:8px 0 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.04)}.context-card .context-picker{padding:0;margin:0 0 8px;border:0}.context-picker label{color:#93a4bb}.context-toggle{width:100%;min-width:0;display:flex;align-items:center;gap:8px;padding:.42rem .5rem;color:#fff;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.context-toggle:hover,.context-toggle:focus{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}.context-icon{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:6px;background:#ffc107;color:#293042}.context-icon .bi{width:auto}.context-current{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-menu{width:100%;padding:6px}.context-item{display:flex;align-items:center;gap:9px;border-radius:7px;padding:7px}.context-item>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.context-item strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-item small{font-size:.65rem;color:var(--bs-secondary-color)}.context-item.active{background:#fff4ca;color:#574100}.center-nav{padding-top:9px;border-top:1px solid rgba(255,255,255,.12)}.center-nav .nav-link{padding:7px 6px;color:rgba(255,255,255,.7)}.structure-nav{margin-bottom:10px}.sidebar-collapsed .context-card{padding:5px;border:0;background:transparent}.sidebar-collapsed .context-picker{display:none}.sidebar-collapsed .center-nav{border:0;padding:0}
.is-unprogrammed .day-slots{display:block;height:780px;background:repeating-linear-gradient(135deg,rgba(120,130,145,.035),rgba(120,130,145,.035) 8px,transparent 8px,transparent 16px)}.unprogrammed-card{margin:12px;padding:18px 12px;border-radius:9px;border:1px dashed #cbd2dc;color:var(--bs-secondary-color);display:flex;align-items:center;flex-direction:column;text-align:center;gap:7px}.unprogrammed-card i{font-size:1.5rem}.unprogrammed-card strong{font-size:.77rem}.unprogrammed-card span{font-size:.65rem}
.module-page{min-width:0}.module-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.module-toolbar h2{margin:0;font-size:1.45rem}.module-toolbar p{margin:5px 0 0;color:var(--bs-secondary-color);font-size:.86rem}.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.filter-bar .input-group{max-width:430px}.filter-bar .form-select{max-width:190px}.filter-count{margin-left:auto;color:var(--bs-secondary-color);font-size:.8rem}.module-table-card{padding:0;overflow:hidden}.module-table-card thead th{padding:12px 16px;background:rgba(245,247,251,.7);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color);white-space:nowrap}.module-table-card tbody td{padding:13px 16px;font-size:.82rem}.color-chip{display:inline-block;width:24px;height:24px;border-radius:50%;background:var(--chip);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.contact-switches,.permission-list{display:flex;flex-wrap:wrap;gap:12px}.contact-switches label,.permission-list label{padding:12px 16px;border:1px solid var(--bs-border-color);border-radius:9px;min-width:210px}.business-box{margin:0;padding:15px;background:rgba(255,193,7,.07);border:1px solid rgba(255,193,7,.25);border-radius:10px}.color-palette{display:grid;grid-template-columns:repeat(10,34px);gap:8px}.color-palette input{position:absolute;opacity:0}.color-palette span{width:32px;height:32px;display:block;border-radius:8px;background:var(--c);cursor:pointer;border:3px solid transparent}.color-palette input:checked+span{border-color:var(--bs-body-bg);box-shadow:0 0 0 2px #172033}.template-builder{display:flex;flex-direction:column;gap:9px}.template-builder>div{display:grid;grid-template-columns:130px 1fr auto;gap:8px}.weekday-grid{display:flex;flex-wrap:wrap;gap:8px}.weekday-grid input{position:absolute;opacity:0}.weekday-grid span{width:48px;height:42px;border:1px solid var(--bs-border-color);border-radius:8px;display:grid;place-items:center;cursor:pointer}.weekday-grid input:checked+span{background:#fff4ca;border-color:#e4ae09;color:#6f5400;font-weight:600}.settings-card h3{font-size:1.05rem;margin-bottom:22px}
@media(max-width:650px){.module-toolbar{align-items:flex-start;flex-direction:column}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar .input-group,.filter-bar .form-select{max-width:none;width:100%}.filter-count{margin-left:0}.color-palette{grid-template-columns:repeat(5,34px)}}
.form-block{border:1px solid var(--bs-border-color);border-radius:11px;padding:18px;margin:0 0 18px}.form-block legend{float:none;width:auto;margin:0 0 14px;padding:0 7px;font-size:.82rem;font-weight:700;color:#8a6800}.form-block legend i{margin-right:5px}.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple{min-height:38px;border-color:var(--bs-border-color);border-radius:6px;padding:4px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background:#fff4ca;border-color:#e4ae09}.benefit-lines{display:flex;flex-direction:column;gap:9px}.benefit-line{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:8px}.template-builder>div{grid-template-columns:120px minmax(220px,1fr) 145px auto}.module-tabs{border-bottom-color:var(--bs-border-color)}.module-tabs .nav-link{color:var(--bs-secondary-color);font-weight:600}.module-tabs .nav-link.active{color:#8a6800}.dt-container{padding:12px 16px}.dt-container .dt-layout-row:first-child{margin-top:0}.dt-search input,.dt-length select{border:1px solid var(--bs-border-color)!important;border-radius:6px}.dt-search input{padding:5px 8px}.dt-length select{min-width:72px;padding:5px 2rem 5px 8px;background-position:right .55rem center;background-size:14px 10px}.dt-paging .dt-paging-button{border-radius:6px!important}.nav-pills .nav-link.active{background:#172033}.modal-title{font-size:1.15rem}
@media(max-width:650px){.benefit-line,.template-builder>div{grid-template-columns:1fr}.form-block{padding:13px}}
[data-bs-theme=dark] .form-control,
[data-bs-theme=dark] .form-select,
[data-bs-theme=dark] .input-group-text,
[data-bs-theme=dark] .form-check-input,
[data-bs-theme=dark] .dt-search input,
[data-bs-theme=dark] .dt-length select{
    color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);border-color:var(--bs-border-color);color-scheme:dark
}
[data-bs-theme=dark] .form-control::placeholder{color:var(--bs-secondary-color);opacity:.72}
[data-bs-theme=dark] .form-control:focus,
[data-bs-theme=dark] .form-select:focus,
[data-bs-theme=dark] .dt-search input:focus,
[data-bs-theme=dark] .dt-length select:focus{color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);border-color:#d6a000;box-shadow:0 0 0 .2rem rgba(255,193,7,.17)}
[data-bs-theme=dark] .form-control:disabled,
[data-bs-theme=dark] .form-control[readonly],
[data-bs-theme=dark] .form-select:disabled{color:var(--bs-secondary-color);background-color:var(--bs-secondary-bg);opacity:1}
[data-bs-theme=dark] input:-webkit-autofill,
[data-bs-theme=dark] input:-webkit-autofill:hover,
[data-bs-theme=dark] input:-webkit-autofill:focus{-webkit-text-fill-color:var(--bs-body-color);-webkit-box-shadow:0 0 0 1000px var(--bs-tertiary-bg) inset;caret-color:var(--bs-body-color)}
[data-bs-theme=dark] input[type=file]::file-selector-button{color:var(--bs-body-color);background:var(--bs-secondary-bg);border-color:var(--bs-border-color)}
[data-bs-theme=dark] .modal-content{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:var(--bs-border-color)}
[data-bs-theme=dark] .modal-header,[data-bs-theme=dark] .modal-footer{border-color:var(--bs-border-color)}
[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}
[data-bs-theme=dark] .btn-light{--bs-btn-color:var(--bs-body-color);--bs-btn-bg:var(--bs-secondary-bg);--bs-btn-border-color:var(--bs-border-color);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#3a4557;--bs-btn-hover-border-color:#526071}
[data-bs-theme=dark] .form-block,[data-bs-theme=dark] .contact-switches label,[data-bs-theme=dark] .permission-list label{background:rgba(255,255,255,.015);border-color:var(--bs-border-color)}
[data-bs-theme=dark] .form-switch .form-check-input{background-color:#3b4658;border-color:#7b8799;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23f8fafc'/%3e%3c/svg%3e");box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
[data-bs-theme=dark] .form-switch .form-check-input:checked{background-color:#d5a300;border-color:#ffd04a;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");box-shadow:0 0 0 1px rgba(255,208,74,.2),0 0 8px rgba(255,193,7,.25)}
[data-bs-theme=dark] .form-switch .form-check-input:focus{border-color:#ffd04a;box-shadow:0 0 0 .2rem rgba(255,193,7,.2)}
[data-bs-theme=dark] .form-switch .form-check-input:disabled{filter:none;opacity:.55}

/* Client editor: keep Bootstrap switches inside their communication cards. */
#clientEditModal .contact-switches .form-switch{display:flex;align-items:center;gap:10px;flex:1 1 250px;margin:0;padding:12px 16px;min-height:52px}
#clientEditModal .contact-switches .form-switch .form-check-input{float:none;flex:0 0 auto;margin:0}
#clientEditModal .contact-switches .form-switch span{line-height:1.25}
#clientEditModal .form-block:has([name="marketing_id"]){margin-top:18px}
#clientEditModal .client-notification-preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--bs-border-color)}
#clientEditModal .client-notification-channel{min-width:0;overflow:hidden;border:1px solid var(--bs-border-color);border-radius:11px;background:color-mix(in srgb,var(--bs-body-bg) 96%,var(--bs-tertiary-bg));transition:opacity .15s ease,border-color .15s ease}
#clientEditModal .client-notification-channel h4{margin:0 0 10px;font-size:.78rem;font-weight:700;color:var(--bs-secondary-color)}
#clientEditModal .client-channel-consent{display:flex;align-items:center;gap:9px;margin:12px 13px 0;padding:9px 11px;border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-tertiary-bg);font-size:.72rem;font-weight:700}
#clientEditModal .client-channel-consent .form-check-input{float:none;flex:0 0 auto;margin:0}
#clientEditModal .client-notification-channel.is-channel-disabled{opacity:.7}
.appointment-notification-channel>h4:has(.notification-channel-master),#clientEditModal .client-notification-channel h4:has(.notification-channel-master){margin:0;padding:0;color:var(--bs-body-color)}.notification-channel-master{display:flex;width:100%;min-height:48px;align-items:center;gap:10px;margin:0;padding:11px 13px;background:color-mix(in srgb,var(--bs-warning) 5%,var(--bs-tertiary-bg));cursor:pointer;transition:background-color .15s ease}.notification-channel-master:hover{background:color-mix(in srgb,var(--bs-warning) 12%,var(--bs-tertiary-bg))}.notification-channel-master>.form-check-input{width:1.08rem;height:1.08rem;flex:0 0 auto;margin:0;border-width:2px}.notification-channel-master>span{display:flex;align-items:center;gap:8px}.notification-channel-master>span i{color:#b48600;font-size:.9rem}.notification-channel-master>span strong{font-size:.78rem}.notification-channel-master>small{margin-left:auto;color:var(--bs-secondary-color);font-size:.6rem;font-weight:700}.notification-channel-master:has(.form-check-input:checked){background:color-mix(in srgb,var(--bs-warning) 10%,var(--bs-tertiary-bg))}.notification-channel-master:has(.form-check-input:disabled){cursor:not-allowed;opacity:.62}
#clientEditModal .client-notification-models{display:grid;grid-template-columns:1fr;gap:10px;padding:12px 13px 13px}
#clientEditModal .client-notification-model{display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:11px 13px;border:1px solid var(--bs-border-color);border-radius:9px;background:var(--bs-body-bg)}
#clientEditModal .client-notification-model .form-check-input{float:none;flex:0 0 auto;margin:0}
#clientEditModal .client-notification-model>span{display:flex;min-width:0;flex-direction:column;line-height:1.25}
#clientEditModal .client-notification-model strong{font-size:.76rem}
#clientEditModal .client-notification-model small{color:var(--bs-secondary-color);font-size:.65rem}
@media(max-width:700px){#clientEditModal .client-notification-preferences{grid-template-columns:1fr}}
[data-bs-theme=dark] .form-block legend{color:#ffd45b;background:var(--bs-body-bg)}
[data-bs-theme=dark] .business-box{background:rgba(255,193,7,.08);border-color:rgba(255,193,7,.28)}
[data-bs-theme=dark] .weekday-grid span{color:var(--bs-body-color);background:var(--bs-tertiary-bg);border-color:var(--bs-border-color)}
[data-bs-theme=dark] .weekday-grid input:checked+span{color:#ffe99b;background:#5d4800;border-color:#d7a400}
[data-bs-theme=dark] .choice-card{color:var(--bs-body-color);background:var(--bs-tertiary-bg);border-color:var(--bs-border-color)}
[data-bs-theme=dark] .choice-card.active{color:var(--bs-body-color);background:rgba(255,193,7,.12);border-color:#c79600;box-shadow:0 0 0 2px rgba(255,193,7,.08)}
[data-bs-theme=dark] .module-table-card thead th,[data-bs-theme=dark] .rail-head,[data-bs-theme=dark] .day-head{background:rgba(255,255,255,.035)}
[data-bs-theme=dark] .select2-container--default .select2-selection--single,
[data-bs-theme=dark] .select2-container--default .select2-selection--multiple{color:var(--bs-body-color);background:var(--bs-tertiary-bg);border-color:var(--bs-border-color)}
[data-bs-theme=dark] .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--bs-body-color)}
[data-bs-theme=dark] .select2-container--default .select2-selection--single .select2-selection__placeholder,
[data-bs-theme=dark] .select2-container--default .select2-search--dropdown .select2-search__field{color:var(--bs-secondary-color)}
[data-bs-theme=dark] .select2-dropdown{color:var(--bs-body-color);background:var(--bs-body-bg);border-color:var(--bs-border-color)}
[data-bs-theme=dark] .select2-search--dropdown .select2-search__field{color:var(--bs-body-color)!important;background:var(--bs-tertiary-bg);border-color:var(--bs-border-color)!important}
[data-bs-theme=dark] .select2-container--default .select2-results__option--selected{background:var(--bs-secondary-bg)}
[data-bs-theme=dark] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{color:#211900;background:#ffc107}
[data-bs-theme=dark] .select2-container--default .select2-selection--multiple .select2-selection__choice{color:#ffe99b;background:#5d4800;border-color:#a47d00}
[data-bs-theme=dark] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#ffe99b;border-color:#806400}
[data-bs-theme=dark] .select2-container--default.select2-container--focus .select2-selection--multiple,
[data-bs-theme=dark] .select2-container--default.select2-container--open .select2-selection--single{border-color:#d6a000;box-shadow:0 0 0 .2rem rgba(255,193,7,.17)}
[data-bs-theme=dark] .dt-container .dt-info,[data-bs-theme=dark] .dt-container label{color:var(--bs-secondary-color)}
[data-bs-theme=dark] .dt-container .dt-paging .dt-paging-button{color:var(--bs-body-color)!important;background:transparent!important;border-color:transparent!important}
[data-bs-theme=dark] .dt-container .dt-paging .dt-paging-button.current{color:#211900!important;background:#ffc107!important;border-color:#ffc107!important}
[data-bs-theme=dark] .dt-container .dt-paging .dt-paging-button:hover{color:#fff!important;background:var(--bs-secondary-bg)!important;border-color:var(--bs-border-color)!important}
[data-bs-theme=dark] .color-palette input:checked+span{border-color:var(--bs-body-bg);box-shadow:0 0 0 2px #ffc107}
.template-lanes{display:grid;grid-template-columns:repeat(var(--lanes),minmax(0,1fr));grid-template-rows:none;background:none}.template-lane{position:relative;display:grid;grid-template-rows:repeat(10,78px);min-width:0;border-right:1px solid var(--bs-border-color);background:repeating-linear-gradient(to bottom,transparent 0,transparent 77px,var(--bs-border-color) 78px)}.template-lane:last-child{border-right:0}.lane-title{position:absolute;z-index:3;top:3px;left:5px;right:5px;display:flex;flex-direction:column;padding:3px 5px;border-radius:5px;background:var(--controller-color,#1D4ED8)!important;color:var(--controller-text,#fff)!important;pointer-events:none}.lane-title strong{font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lane-title small{font-size:.5rem;color:color-mix(in srgb,var(--controller-text,#fff) 78%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-lane .appointment,.template-lane .free-slot{min-width:0;margin:5px 3px}.context-icon img{width:100%;height:100%;object-fit:contain;border-radius:5px;background:#fff}
.agenda-mail-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:7px;background:rgba(255,193,7,.14);color:#765900;font-weight:600;white-space:nowrap}.agenda-mail-badge .bi{color:#b48600}
.table-actions{display:flex;justify-content:flex-end;gap:5px;white-space:nowrap}.table-actions form{display:inline-flex}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}.form-block h3{font-size:.9rem;margin:0 0 14px}.form-block dl{display:grid;grid-template-columns:100px 1fr;gap:6px;margin:0;font-size:.8rem}.form-block dt{color:var(--bs-secondary-color);font-weight:500}.form-block dd{margin:0}.benefit-badge{display:flex;align-items:center;gap:10px}.benefit-badge>i{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#fff4ca;color:#8a6800}.benefit-badge div{display:flex;flex-direction:column}.benefit-badge small{color:var(--bs-secondary-color)}.structure-identity{display:flex;align-items:center;gap:9px}.structure-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#ffc107;color:#293042;font-weight:700}.section-title{font-size:1rem;margin:28px 0 10px}.split-templates{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(10,78px);grid-auto-flow:row;border-top:3px solid #ffc107}.split-templates .appointment,.split-templates .free-slot{margin-inline:3px}.split-templates:before{content:"2 journées types actives";position:absolute;top:4px;left:50%;transform:translateX(-50%);z-index:2;padding:2px 6px;border-radius:10px;background:#172033;color:#fff;font-size:.55rem;white-space:nowrap}.is-closed .day-slots{grid-template-columns:1fr!important}.is-closed .closure-card{grid-column:1/-1}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}
.structure-real-icon{width:38px;height:38px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--bs-border-color);padding:3px}.access-panel{margin-top:16px}.access-panel h3{font-size:1rem;margin:0}.permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-category{border:1px solid var(--bs-border-color);border-radius:9px;padding:12px}.permission-category .form-check{min-width:0;border:0;border-radius:0;padding-top:5px;padding-bottom:5px}.category-check{border-bottom:1px solid var(--bs-border-color)!important;margin-bottom:5px}.service-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--dot);margin:0 7px}.context-icon{overflow:hidden}
@media(max-width:650px){.permission-list{grid-template-columns:1fr}}
.app-toast-container{z-index:2000}
.week-board{grid-template-columns:60px repeat(var(--day-count,6),minmax(145px,1fr));border-radius:12px 12px 0 0}
.agenda-footer-legend{display:flex;min-height:30px;align-items:center;gap:7px 15px;flex-wrap:wrap;margin-top:-1px;padding:6px 12px;border:1px solid var(--bs-border-color);border-radius:0 0 12px 12px;background:color-mix(in srgb,var(--bs-tertiary-bg) 58%,var(--bs-body-bg));color:var(--bs-secondary-color);font-size:.61rem}.agenda-footer-legend-title{font-size:.57rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.agenda-footer-legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.agenda-footer-legend-item i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--legend-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--legend-color) 15%,transparent)}.agenda-footer-energy{font-weight:650}@media(max-width:650px){.agenda-footer-legend{gap:6px 11px;padding:6px 9px}}
.time-label{height:var(--hour-height,64px)}
.day-slots,.is-unprogrammed .day-slots{height:var(--agenda-height,640px);min-height:var(--agenda-height,640px)}
.template-lanes{display:grid;grid-template-columns:repeat(var(--lanes),minmax(0,1fr));height:var(--agenda-height,640px);min-height:var(--agenda-height,640px)}
.template-lane{position:relative;display:block;height:var(--agenda-height,640px);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour-height,64px) - 1px),var(--bs-border-color) var(--hour-height,64px))}
.agenda-click-zone{position:absolute;z-index:0;left:0;right:0;width:100%;margin:0;padding:0;-webkit-appearance:none;appearance:none;border:0!important;outline:0!important;background:none!important;box-shadow:none!important;color:transparent!important;opacity:0;cursor:crosshair}.agenda-click-zone:hover,.agenda-click-zone:focus,.agenda-click-zone:focus-visible,.agenda-click-zone:active{border:0!important;outline:0!important;background:none!important;box-shadow:none!important;opacity:0}.template-free-slot{z-index:1}
.appointment-move-mode .agenda-click-zone{z-index:4;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:5px!important;font-size:.6rem;font-weight:800;line-height:1;cursor:pointer}.appointment-move-mode .agenda-click-zone .slot-time,.appointment-move-mode .agenda-click-zone i{color:inherit;pointer-events:none}.appointment-move-mode .agenda-click-zone.move-incompatible{cursor:not-allowed}
.template-lane .template-free-slot{position:absolute;left:4px;right:4px;width:calc(100% - 8px);min-height:30px;margin:0;padding:5px 7px;border-left:3px solid var(--service);overflow:hidden;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.template-free-slot strong,.template-free-slot small,.template-free-slot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.template-free-slot span{font-size:.63rem}.template-free-slot strong{font-size:.7rem}.template-free-slot small{font-size:.58rem;color:var(--bs-secondary-color)}
.day-column.is-today{box-shadow:inset 2px 0 rgba(255,193,7,.36),inset -2px 0 rgba(255,193,7,.36);position:relative;z-index:2}.day-column.is-today .day-head{background:rgba(255,193,7,.1)}
[data-bs-theme=dark] .day-column.is-today{box-shadow:inset 2px 0 rgba(255,210,77,.25),inset -2px 0 rgba(255,210,77,.25)}
[data-bs-theme=dark] .day-column.is-today .day-head{background:rgba(255,193,7,.075)}

.rail-head,.day-head{height:44px}.day-head{padding:3px 30px 3px 6px}.day-head>div{align-items:baseline;flex-direction:row;gap:4px;white-space:nowrap}.day-head span{font-size:.61rem;line-height:1}.day-head strong{align-items:baseline;font-size:.82rem;gap:3px;line-height:1}.day-head strong em{font-size:.61rem;line-height:1}.day-head small{position:absolute;right:27px;bottom:2px;left:5px;overflow:hidden;font-size:.52rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.day-add{right:5px;width:19px;height:19px;font-size:.56rem}
[data-bs-theme=dark] .week-board,[data-bs-theme=dark] .day-slots,[data-bs-theme=dark] .template-lane{background-color:var(--bs-body-bg)}
.agenda-empty{gap:10px}.is-closed .day-slots{height:var(--agenda-height,640px);min-height:var(--agenda-height,640px)}.closure-card span{font-size:.72rem;color:inherit}.closure-card strong{font-size:.85rem}
[data-bs-theme=dark] .closure-card{color:#ffadb7;background:rgba(220,53,69,.12);border-color:rgba(255,120,135,.3)}
.template-slot-summary{display:flex;flex-wrap:wrap;gap:5px}.template-slot-summary span{padding:4px 7px;border-radius:6px;border-left:3px solid var(--slot-color);background:var(--bs-tertiary-bg);font-size:.7rem}.template-slot-summary em{color:var(--bs-secondary-color);font-size:.75rem}
.category-list{display:flex;flex-direction:column;gap:10px}.category-editor{display:grid;grid-template-columns:52px minmax(130px,.7fr) minmax(180px,1fr) minmax(190px,.8fr) 130px auto auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--bs-border-color);border-radius:10px}.category-logo{width:44px;height:44px;display:grid;place-items:center;border-radius:9px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);overflow:hidden}.category-logo img{width:100%;height:100%;object-fit:contain}.category-color .form-control-color{width:48px}.color-palette.compact{grid-template-columns:repeat(5,22px);gap:5px}.color-palette.compact span{width:20px;height:20px;border-radius:5px}
.service-pill{display:inline-flex;align-items:center;margin:2px 4px 2px 0;padding:3px 7px;border-radius:999px;background:var(--bs-tertiary-bg);font-size:.7rem}.service-pill i{width:8px;height:8px;border-radius:50%;background:var(--dot);margin-right:5px}
.aptitude-full-card,.aptitude-module-card{border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-body-bg)}
.aptitude-full-card{padding:1rem;border-color:rgba(var(--bs-warning-rgb),.45);background:rgba(var(--bs-warning-rgb),.075)}
.aptitude-full-card .form-check-label,.aptitude-module-heading{display:flex;align-items:center;gap:.8rem}
.aptitude-full-card small{display:block;margin-top:.15rem;color:var(--bs-secondary-color);font-size:.78rem}
.aptitude-card-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;color:#8a6800;background:rgba(var(--bs-warning-rgb),.16);border-radius:.65rem;font-size:1rem}
.aptitude-module-card{height:100%;padding:1rem;transition:opacity .15s ease,background-color .15s ease}
.aptitude-module-rights{margin:1rem 0 0 3.15rem;display:flex;flex-wrap:wrap;gap:1.5rem}
.aptitude-module-card.is-disabled{opacity:.46;background:var(--bs-tertiary-bg);filter:grayscale(.6)}
.structure-aptitude-block{background:var(--bs-body-bg)}
.token-url{display:flex;align-items:stretch;gap:.5rem;min-width:0}.token-url .form-control{min-width:0;flex:1 1 auto}.token-url .copy-token{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}
[data-bs-theme=dark] .aptitude-card-icon{color:#ffd45b;background:rgba(255,193,7,.12)}
@media(max-width:1100px){.category-editor{grid-template-columns:44px 1fr 1fr}.category-editor>div:nth-child(n+4),.category-editor>button{grid-column:auto}}
@media(max-width:700px){.category-editor{grid-template-columns:1fr}.category-logo{display:none}}
.settings-page{display:flex;flex-direction:column;gap:18px}.calculated-results-card .card-heading{align-items:flex-start}.calculated-results-card .card-heading p{max-width:760px;margin:6px 0 0;color:var(--bs-secondary-color);font-size:.78rem}.result-output-lines{display:flex;flex-direction:column;gap:10px}.result-output-line{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,230px) minmax(210px,.8fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.result-output-line .form-label{font-size:.68rem;font-weight:700}.result-output-line>.btn{height:38px}.result-date-formula{height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;border-radius:7px;background:var(--bs-body-bg);color:var(--bs-secondary-color);font-size:.68rem}.result-date-formula i{color:#b48600}.result-date-formula b{color:var(--bs-body-color)}.result-date-formula em{font-style:normal}.result-output-summary{display:flex;flex-wrap:wrap;gap:6px}.result-output-summary>span{display:flex;flex-direction:column;padding:5px 8px;border-left:3px solid var(--result-color);border-radius:6px;background:var(--bs-tertiary-bg)}.result-output-summary b{font-size:.68rem}.result-output-summary small{color:var(--bs-secondary-color);font-size:.58rem}.result-rule-name{font-weight:700}.calculated-result-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.calculated-result-choice{cursor:pointer}.calculated-result-choice>input{position:absolute;opacity:0}.calculated-result-choice>span{height:100%;display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-body-bg);transition:border-color .12s ease,background-color .12s ease}.calculated-result-choice i{font-size:1.2rem;color:var(--bs-secondary-color)}.calculated-result-choice span>strong{font-size:.78rem}.calculated-result-choice span>small{margin-left:auto;color:var(--bs-secondary-color);font-size:.6rem}.calculated-result-choice>input:checked+span{border-color:#d3a000;background:rgba(255,193,7,.09);box-shadow:0 0 0 2px rgba(255,193,7,.1)}.calculated-result-choice>input:checked+span i{color:#b48600}.calculated-next-services{display:flex;flex-direction:column;gap:8px}.calculated-next-services>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;border-left:4px solid var(--result-color);border-radius:9px;background:var(--bs-tertiary-bg)}.calculated-next-services>article>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--bs-body-bg);color:var(--result-color)}.calculated-next-services article>div{display:flex;flex-direction:column}.calculated-next-services strong{font-size:.74rem}.calculated-next-services small{color:var(--bs-secondary-color);font-size:.62rem}.calculated-next-services time{font-size:.7rem;font-weight:700}.completion-next-list{display:flex;flex-direction:column;gap:3px;margin-top:5px}.completion-next-list small{display:flex;justify-content:space-between;gap:8px}.completion-next-list small strong{font-size:inherit}@media(max-width:1000px){.result-output-line{grid-template-columns:1fr 1fr}.result-date-formula{align-self:end}.calculated-result-choices{grid-template-columns:1fr 1fr}}@media(max-width:650px){.calculated-results-card .card-heading{flex-direction:column}.result-output-line,.calculated-result-choices{grid-template-columns:1fr}.result-output-line>.btn{width:100%}.calculated-next-services>article{grid-template-columns:auto 1fr}.calculated-next-services time{grid-column:2}}
.template-builder>.hierarchical-slot{display:block;padding:14px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-body-bg)}
.slot-main-fields{display:grid;grid-template-columns:170px 190px auto;align-items:end;gap:10px;margin-bottom:12px}.slot-main-fields .remove-slot{width:40px;height:38px}
.slot-service-picker{border:1px solid var(--bs-border-color);border-radius:9px;overflow:hidden}.slot-service-summary{padding:8px 11px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.72rem;font-weight:600}
.slot-service-category+.slot-service-category{border-top:1px solid var(--bs-border-color)}.slot-category-title{display:flex;align-items:center;gap:8px;padding:9px 11px;background:color-mix(in srgb,var(--bs-tertiary-bg) 65%,transparent);cursor:pointer}.slot-category-title strong{font-size:.78rem}.slot-category-title small{margin-left:auto;color:var(--bs-secondary-color);font-size:.65rem;font-weight:400}
.slot-service-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--bs-border-color)}.slot-service-option{display:flex;align-items:center;gap:8px;padding:9px 11px;background:var(--bs-body-bg);cursor:pointer;min-width:0}.slot-service-option>i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--service-color)}.slot-service-option>span{display:flex;min-width:0;flex-direction:column}.slot-service-option b{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-service-option small{font-size:.62rem;color:var(--bs-secondary-color)}
[data-bs-theme=dark] .template-builder>.hierarchical-slot,[data-bs-theme=dark] .slot-service-option{background:var(--bs-body-bg)}
@media(max-width:700px){.slot-main-fields,.slot-service-children{grid-template-columns:1fr}.slot-main-fields .remove-slot{width:100%}}
.marketing-logo-preview{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--bs-border-color);border-radius:9px;background:var(--bs-tertiary-bg)}.marketing-logo-preview img{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#fff}.marketing-logo-preview span{font-size:.75rem;color:var(--bs-secondary-color)}
.marketing-title-cell{display:flex;align-items:center;gap:9px;min-width:150px}.marketing-title-cell img,.marketing-logo-placeholder{width:38px;height:38px;flex:0 0 38px;border-radius:8px}.marketing-title-cell img{object-fit:contain;background:#fff;border:1px solid var(--bs-border-color)}.marketing-logo-placeholder{display:grid;place-items:center;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}.marketing-price-list{display:flex;min-width:190px;flex-direction:column;gap:5px}.marketing-price-list span{display:flex;justify-content:space-between;gap:12px;padding:5px 7px;border-radius:6px;background:var(--bs-tertiary-bg);font-size:.7rem}.marketing-price-list small{white-space:nowrap}.marketing-price-list del{margin-left:4px;color:var(--bs-secondary-color)}.marketing-price-list em{font-size:.72rem;color:var(--bs-secondary-color)}
.service-form-block{padding:20px}.service-form-block legend{display:flex;align-items:center;gap:5px}.service-image-preview,.category-logo-preview{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px;border:1px solid var(--bs-border-color);border-radius:9px;background:var(--bs-tertiary-bg)}.service-image-preview img,.category-logo-preview img{width:64px;height:48px;object-fit:contain;border-radius:7px;background:#fff}.service-image-preview span,.category-logo-preview span{font-size:.72rem;color:var(--bs-secondary-color)}.service-identity,.category-table-name{display:flex;align-items:center;gap:9px}.service-identity>img,.service-identity>span,.category-table-name img,.category-table-name>span{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--bs-border-color);border-radius:8px}.service-identity>img,.category-table-name img{object-fit:contain;background:#fff}.service-identity>span,.category-table-name>span{display:grid;place-items:center;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}.service-identity>div{display:flex;min-width:0;flex-direction:column}.service-identity strong,.service-identity small{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-identity small,.service-description{color:var(--bs-secondary-color);font-size:.68rem}.service-description{display:block;max-width:280px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-table-name{min-width:150px}.category-data-table td:nth-child(2){max-width:360px}.category-data-table .btn:disabled{cursor:not-allowed;opacity:.38}
@media(max-width:700px){.service-form-block{padding:14px}.service-description{max-width:180px}}
.program-weekdays{display:flex;flex-wrap:wrap;gap:4px}.program-weekdays span{display:inline-grid;min-width:32px;place-items:center;padding:3px 6px;border-radius:999px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.65rem;font-weight:700;text-transform:capitalize}.program-weekday-grid span{width:70px}.annual-recurrence-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.annual-recurrence-switch>div{display:flex;flex-direction:column}.annual-recurrence-switch small{color:var(--bs-secondary-color)}.annual-recurrence-switch .form-check{display:flex;align-items:center;gap:9px;margin:0}.annual-recurrence-switch .annual-state{min-width:55px;font-weight:700;color:var(--bs-secondary-color)}.annual-recurrence-switch .form-check-input:checked~.annual-state{color:var(--bs-success)}
@media(max-width:700px){.program-weekday-grid span{width:46px}.annual-recurrence-switch{align-items:flex-start;flex-direction:column}}
.service-category-list{display:flex;flex-direction:column;gap:18px}.service-category-block{overflow:hidden;border-top:4px solid var(--category-color)}.service-category-head{display:flex;align-items:center;gap:13px;padding:17px 19px;border-bottom:1px solid var(--bs-border-color);background:linear-gradient(90deg,color-mix(in srgb,var(--category-color) 10%,var(--bs-body-bg)),var(--bs-body-bg) 58%)}.service-category-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:color-mix(in srgb,var(--category-color) 16%,var(--bs-body-bg));color:var(--category-color);font-size:1.1rem}.service-category-icon img{width:100%;height:100%;object-fit:contain;background:#fff}.service-category-head>div:last-child{min-width:0;flex:1}.service-category-title{display:flex;align-items:center;gap:9px}.service-category-title h3{margin:0;font-size:1rem}.service-category-title span{padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--category-color) 14%,var(--bs-tertiary-bg));color:var(--bs-secondary-color);font-size:.65rem;font-weight:700}.service-category-head p{margin:3px 0 0;color:var(--bs-secondary-color);font-size:.75rem}.service-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:16px}.service-card{position:relative;display:grid;grid-template-columns:105px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid var(--bs-border-color);border-left:4px solid var(--service-color);border-radius:11px;background:var(--bs-body-bg);transition:transform .15s ease,box-shadow .15s ease}.service-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,23,42,.08)}.service-card-media{min-height:150px;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--service-color) 9%,var(--bs-tertiary-bg));color:var(--service-color);font-size:1.35rem}.service-card-media img{width:100%;height:100%;object-fit:cover}.service-card-body{display:flex;min-width:0;flex-direction:column;padding:13px}.service-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.service-card-heading h4{margin:2px 0 0;font-size:.88rem}.service-short-name{display:inline-block;color:var(--service-color);font-size:.61rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.service-price{white-space:nowrap;font-size:.85rem;font-weight:800}.service-internal-name{margin-top:3px;color:var(--bs-secondary-color);font-size:.63rem}.service-card-body>p{display:-webkit-box;margin:9px 0 12px;overflow:hidden;color:var(--bs-secondary-color);font-size:.7rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.service-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:9px;border-top:1px solid var(--bs-border-color)}.service-card-footer>span{font-size:.68rem;font-weight:700;color:var(--bs-secondary-color)}.service-category-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:90px;border:1px dashed var(--bs-border-color);border-radius:10px;color:var(--bs-secondary-color);font-size:.76rem}.service-empty-state{display:grid;min-height:240px;place-items:center;align-content:center;text-align:center}.service-empty-state>i{font-size:2rem;color:var(--bs-secondary-color)}.service-empty-state h3{margin:8px 0 3px;font-size:1rem}.service-empty-state p{margin:0;color:var(--bs-secondary-color);font-size:.78rem}[data-bs-theme=dark] .service-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.22)}
@media(max-width:1050px){.service-card-grid{grid-template-columns:1fr}}@media(max-width:600px){.service-category-head{align-items:flex-start}.service-card-grid{padding:11px}.service-card{grid-template-columns:78px minmax(0,1fr)}.service-card-media{min-height:160px}.service-card-heading{flex-direction:column}.service-price{position:absolute;right:10px;bottom:12px}.service-card-footer{padding-right:70px}}
.closure-full-day-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.closure-full-day-switch>div{display:flex;flex-direction:column}.closure-full-day-switch small{color:var(--bs-secondary-color)}.closure-full-day-switch .form-check{display:flex;align-items:center;gap:9px;margin:0}.closure-full-day-switch .full-day-state{min-width:55px;font-weight:700;color:var(--bs-secondary-color)}.closure-full-day-switch .form-check-input:checked~.full-day-state{color:var(--bs-success)}.partial-closure-card{position:absolute;z-index:8;left:4px;right:4px;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;padding:5px 7px;border:1px solid rgba(220,53,69,.42);border-left:4px solid #dc3545;border-radius:7px;background:color-mix(in srgb,#dc3545 18%,var(--bs-body-bg));color:#a52e3a;text-align:center}.partial-closure-card strong{font-size:.72rem}.partial-closure-card span,.partial-closure-card small{max-width:100%;overflow:hidden;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}[data-bs-theme=dark] .partial-closure-card{color:#ffadb7;background:color-mix(in srgb,#dc3545 18%,var(--bs-body-bg))}@media(max-width:700px){.closure-full-day-switch{align-items:flex-start;flex-direction:column}}
.service-category-table-card{overflow:hidden;border-top:3px solid var(--category-color)}.service-category-table-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--bs-border-color);background:color-mix(in srgb,var(--category-color) 6%,var(--bs-body-bg))}.service-category-table-title{min-width:0;flex:1}.service-category-table-title>div{display:flex;align-items:center;gap:8px}.service-category-table-title h3{margin:0;font-size:.95rem}.service-category-table-title span{padding:2px 7px;border-radius:999px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.64rem;font-weight:700}.service-category-table-title p{margin:3px 0 0;color:var(--bs-secondary-color);font-size:.71rem}.service-category-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-left:auto}.service-category-actions form{display:inline-flex}.service-category-actions .btn:disabled{cursor:not-allowed;opacity:.38}.service-category-table thead th{padding:9px 13px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.64rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}.service-category-table tbody td{padding:10px 13px;border-color:var(--bs-border-color);font-size:.74rem;vertical-align:middle}.service-category-table tbody tr:last-child td{border-bottom:0}.service-table-identity{display:flex;align-items:center;gap:9px;min-width:190px}.service-table-identity>img,.service-table-identity>span{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--bs-border-color);border-radius:8px}.service-table-identity>img{object-fit:cover;background:#fff}.service-table-identity>span{display:grid;place-items:center;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}.service-table-identity>div{display:flex;min-width:0;flex-direction:column}.service-table-identity strong{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-table-identity small{color:var(--bs-secondary-color);font-size:.64rem}.service-table-description{display:-webkit-box;max-width:300px;overflow:hidden;color:var(--bs-secondary-color);font-size:.69rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.service-table-metric{white-space:nowrap;color:var(--bs-secondary-color);font-weight:600}.service-table-empty{display:flex;align-items:center;justify-content:center;gap:7px;min-height:64px;color:var(--bs-secondary-color)}.category-add-card{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;min-height:96px;border:2px dashed var(--bs-border-color);background:transparent;color:var(--bs-body-color);text-align:left;transition:border-color .15s ease,background-color .15s ease}.category-add-card:hover{border-color:#d3a000;background:rgba(255,193,7,.055)}.category-add-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(255,193,7,.16);color:#8a6800;font-size:1.05rem}.category-add-card>div{display:flex;flex-direction:column}.category-add-card strong{font-size:.85rem}.category-add-card small{color:var(--bs-secondary-color);font-size:.69rem}[data-bs-theme=dark] .category-add-card>span{color:#ffd45b;background:rgba(255,193,7,.12)}
.category-drag-handle,.service-drag-handle{display:none;border:1px solid var(--bs-border-color);background:var(--bs-body-bg);color:var(--bs-secondary-color);cursor:grab;touch-action:none}.category-drag-handle:active,.service-drag-handle:active{cursor:grabbing}.category-drag-handle{flex:0 0 auto}.service-drag-handle{width:30px;height:30px;flex:0 0 30px;align-items:center;justify-content:center;padding:0}.service-category-list.is-reordering{padding:10px;border:1px dashed color-mix(in srgb,#d3a000 65%,var(--bs-border-color));border-radius:14px;background:color-mix(in srgb,#ffc107 3%,transparent)}.service-category-list.is-reordering .category-drag-handle{display:inline-flex}.service-category-list.is-reordering .service-drag-handle{display:inline-flex}.service-category-list.is-reordering .service-category-actions,.service-category-list.is-reordering .table-actions{pointer-events:none;opacity:.35}.service-category-list.is-reordering .service-category-table-card{transition:box-shadow .15s ease,opacity .15s ease}.service-category-list.is-reordering .service-category-table-card.is-dragging,.service-category-list.is-reordering .service-sort-row.is-dragging{opacity:.42}.service-category-list.is-reordering .service-sort-zone{transition:background-color .12s ease;min-height:58px}.service-category-list.is-reordering .service-sort-zone.is-drop-target{background:color-mix(in srgb,var(--category-color) 12%,var(--bs-body-bg))}.service-category-list.is-reordering .service-sort-row{cursor:default}.service-category-list.is-reordering .category-add-card{pointer-events:none;opacity:.55}
.service-add-row td{padding:10px 13px!important;background:color-mix(in srgb,var(--category-color) 2%,var(--bs-body-bg))}.service-add-card{width:100%;min-height:70px;display:flex;align-items:center;justify-content:center;gap:12px;border:2px dashed var(--bs-border-color);border-radius:10px;background:transparent;color:var(--bs-body-color);text-align:left;transition:border-color .15s ease,background-color .15s ease}.service-add-card:hover{border-color:var(--category-color);background:color-mix(in srgb,var(--category-color) 7%,transparent)}.service-add-card>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:50%;background:color-mix(in srgb,var(--category-color) 15%,var(--bs-tertiary-bg));color:var(--category-color);font-size:1rem}.service-add-card>div{display:flex;flex-direction:column}.service-add-card strong{font-size:.82rem}.service-add-card small{color:var(--bs-secondary-color);font-size:.68rem}.service-category-list.is-reordering .service-add-row{display:none}
.template-lane .lane-title{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;gap:4px;overflow:hidden;padding:2px 5px}.template-lane .lane-title strong{min-width:0;flex:1}.template-lane .lane-title small{flex:0 1 auto;max-width:45%;text-overflow:ellipsis}.template-lane .lane-title small:before{content:'· ';color:rgba(255,255,255,.45)}
.template-lane .template-free-slot{align-items:center;justify-content:center;gap:1px;padding:2px;border:1px dashed color-mix(in srgb,var(--service) 28%,var(--bs-border-color));border-radius:6px;background:color-mix(in srgb,var(--service) 5%,var(--bs-body-bg));color:color-mix(in srgb,var(--service) 62%,var(--bs-secondary-color));opacity:.82;box-shadow:none;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease,transform .12s ease}.template-lane .template-free-slot>i{font-size:.9rem;font-weight:700;filter:none}.template-lane .template-free-slot .slot-time{max-width:100%;color:color-mix(in srgb,var(--service) 58%,var(--bs-secondary-color));font-size:.57rem;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-lane .template-free-slot:hover,.template-lane .template-free-slot:focus-visible{border-color:color-mix(in srgb,var(--service) 58%,var(--bs-border-color));background:color-mix(in srgb,var(--service) 12%,var(--bs-body-bg));color:var(--service);opacity:1;filter:none;transform:scale(.985);outline:1px solid color-mix(in srgb,var(--service) 42%,var(--bs-body-color));outline-offset:1px}
.template-lane .lane-title strong{text-align:center}.agenda-entry{position:absolute;z-index:2;left:4px;right:4px;width:calc(100% - 8px);display:flex;min-height:30px;align-items:flex-start;justify-content:center;flex-direction:column;overflow:hidden;padding:4px 6px;border:1px solid color-mix(in srgb,var(--service) 38%,var(--bs-border-color));border-left:3px solid var(--service);border-radius:6px;background:color-mix(in srgb,var(--service) 13%,var(--bs-body-bg));color:var(--bs-body-color)}.agenda-entry span{color:var(--service);font-size:.56rem;font-weight:800}.agenda-entry strong{max-width:100%;overflow:hidden;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.agenda-entry small{max-width:100%;overflow:hidden;color:var(--bs-secondary-color);font-size:.55rem;text-overflow:ellipsis;white-space:nowrap}.agenda-unavailable{--service:#64748b;background:color-mix(in srgb,#64748b 12%,var(--bs-body-bg));cursor:pointer}.agenda-unavailable:hover{background:color-mix(in srgb,#64748b 19%,var(--bs-body-bg))}.slot-action-grid .choice-card{width:100%;cursor:pointer}.appointment-step-card{margin-bottom:16px;padding:17px;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg)}.appointment-step-card>header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.appointment-step-card>header>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:50%;background:#ffc107;color:#362a00;font-size:.75rem;font-weight:800}.appointment-step-card>header>div{display:flex;flex-direction:column}.appointment-step-card>header strong{font-size:.84rem}.appointment-step-card>header small{color:var(--bs-secondary-color);font-size:.68rem}.appointment-step-card #appointmentClient+.select2-container .select2-selection--single{min-height:52px;padding:10px 11px}.appointment-step-card #appointmentClient+.select2-container .select2-selection__rendered{line-height:29px;font-size:.9rem}.new-client-fields,.new-vehicle-fields{margin-top:14px;padding-top:14px;border-top:1px solid var(--bs-border-color)}.vehicle-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vehicle-choice-card{position:relative;display:flex;align-items:center;gap:10px;min-height:92px;padding:12px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-body-bg);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.vehicle-choice-card:has(input:checked){border-color:#d3a000;background:rgba(255,193,7,.08);box-shadow:0 0 0 2px rgba(255,193,7,.12)}.vehicle-choice-card>input{position:absolute;top:9px;right:9px}.vehicle-brand-mark{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:10px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:1rem;font-weight:800}.vehicle-choice-card>span:last-child{display:flex;min-width:0;flex-direction:column}.vehicle-choice-card strong,.vehicle-choice-card b,.vehicle-choice-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-choice-card strong{font-size:.73rem}.vehicle-choice-card b{margin-top:2px;font-size:.7rem;letter-spacing:.04em}.vehicle-choice-card small{color:var(--bs-secondary-color);font-size:.62rem}.vehicle-new-card{border-style:dashed}.vehicle-new-card .vehicle-brand-mark{color:#9a7400;background:rgba(255,193,7,.12)}.appointment-duration-info{display:flex;min-height:54px;justify-content:center;flex-direction:column;padding:8px 11px;border-radius:8px;background:var(--bs-tertiary-bg)}.appointment-duration-info strong{font-size:.75rem}.appointment-duration-info small{color:var(--bs-secondary-color);font-size:.64rem}@media(max-width:900px){.vehicle-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.vehicle-choice-grid{grid-template-columns:1fr}}
.template-lane .template-free-slot{min-height:16px;flex-direction:row;gap:3px;padding:1px 2px}.template-lane .template-free-slot>i{font-size:.8rem}.template-lane .template-free-slot .slot-time{max-width:calc(100% - 18px);font-size:.55rem}.agenda-entry{min-height:16px;padding:2px 6px}
@media(max-width:700px){.service-category-table-head{align-items:flex-start;flex-wrap:wrap}.service-category-actions{width:100%;margin-left:0}.service-category-actions .btn{font-size:.68rem}.service-category-table-title>div{align-items:flex-start;flex-direction:column;gap:3px}}
.template-lane .lane-title{pointer-events:auto}.template-lane .lane-title strong{pointer-events:none}.lane-delete{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px;padding:0;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--controller-text,#fff) 72%,transparent);font-size:.62rem;line-height:1;transition:background-color .12s ease,color .12s ease}.lane-delete:hover,.lane-delete:focus-visible{background:rgba(220,53,69,.24);color:var(--controller-text,#fff);outline:0}.delete-lane-message{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.delete-lane-message>i{font-size:1.25rem;color:var(--bs-secondary-color)}.delete-lane-choice{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;padding:12px;border:1px solid var(--bs-border-color);border-radius:9px;cursor:pointer}.delete-lane-choice:has(input:checked){border-color:#d3a000;background:rgba(255,193,7,.07)}.delete-lane-choice>input{margin-top:3px}.delete-lane-choice>span{display:flex;flex-direction:column}.delete-lane-choice small{color:var(--bs-secondary-color);font-size:.7rem}.delete-choice-danger:has(input:checked){border-color:rgba(220,53,69,.55);background:rgba(220,53,69,.07)}.existing-client-info{margin-top:14px;padding:14px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.client-info-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.existing-client-info .form-control[readonly]{border-color:color-mix(in srgb,var(--bs-border-color) 72%,transparent);background:color-mix(in srgb,var(--bs-secondary-bg) 78%,var(--bs-body-bg));color:var(--bs-secondary-color);box-shadow:none}.existing-client-info .form-control:not([readonly]){background:var(--bs-body-bg)}
#clientDetailAddress{white-space:pre-line}.customer-data-table td:first-child{min-width:230px}.customer-data-table td:nth-child(2){min-width:150px}.customer-data-table td:nth-child(3){min-width:175px}.filter-bar>div:first-child{display:flex;flex-direction:column}
.customer-data-table .customer-check-column,.customer-data-table td:first-child{width:42px;min-width:42px;text-align:center}.customer-data-table td:nth-child(2){min-width:230px}.customer-data-table td:nth-child(3){min-width:150px}.customer-data-table td:nth-child(4){min-width:175px}.merge-customer-summary{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.merge-customer-summary .badge{font-size:.82rem;padding:.55rem .7rem;color:var(--bs-body-color)!important}.filter-bar{gap:1rem;flex-wrap:wrap}.customer-contact-links{display:flex;flex-direction:column;gap:.2rem}.customer-contact-links>div{display:flex;align-items:center;gap:.45rem;min-width:0}.customer-contact-links i{flex:0 0 auto;color:var(--bs-secondary-color);font-size:.8rem}.customer-contact-links a{color:var(--bs-body-color);text-decoration:none}.customer-contact-links a:hover{text-decoration:underline;color:var(--bs-link-color)}
.customer-module-toolbar{justify-content:flex-end;min-height:38px;margin-bottom:10px}.customer-module-toolbar .btn{transition:opacity .15s ease,transform .15s ease}
.module-toolbar-actions{justify-content:flex-end}
.agenda-date-tools{display:flex;align-items:center;gap:7px}.agenda-date-tools input{width:145px}.quick-day-navigation{flex:0 0 auto}.quick-availability-grid{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 10px;scroll-behavior:smooth;scroll-snap-type:x mandatory}.quick-day-column{min-width:230px;flex:0 0 230px;overflow:hidden;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-body-bg);scroll-snap-align:start}.quick-day-column>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}.quick-day-column>header strong{font-size:.75rem}.quick-day-column>header small{color:var(--bs-secondary-color);font-size:.6rem}.quick-day-column>div{display:flex;flex-direction:column;gap:7px;padding:9px}.quick-slot-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-body-bg);color:var(--bs-body-color);text-align:left;transition:border-color .12s ease,background-color .12s ease}.quick-slot-choice b{font-size:.7rem}.quick-slot-choice span{overflow:hidden;color:var(--bs-secondary-color);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.quick-slot-choice:hover{border-color:#d3a000;background:rgba(255,193,7,.055)}.quick-slot-choice.active{border-color:#d3a000;background:rgba(255,193,7,.12);box-shadow:0 0 0 2px rgba(255,193,7,.12)}.quick-availability-state{width:100%;min-height:120px;display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:column;border:1px dashed var(--bs-border-color);border-radius:10px;color:var(--bs-secondary-color);text-align:center}.quick-availability-state small{font-size:.68rem}@media(max-width:700px){.agenda-date-tools{width:auto;align-items:center;flex-direction:row;flex-wrap:wrap}.agenda-date-tools input{width:145px}.quick-day-navigation{margin-left:0!important}.appointment-step-card>header{align-items:flex-start;flex-wrap:wrap}}

body:has(.agenda-page) .topbar{min-height:54px;padding-top:7px;padding-bottom:7px}body:has(.agenda-page) .topbar h1{font-size:1.18rem}body:has(.agenda-page) .topbar .text-muted.small{font-size:.68rem}body:has(.agenda-page) .content{padding-top:12px}body:has(.agenda-page) .agenda-toolbar{align-items:center;gap:10px;margin-bottom:8px}body:has(.agenda-page) .agenda-toolbar .btn,body:has(.agenda-page) .agenda-toolbar .form-control{min-height:31px;padding-top:3px;padding-bottom:3px;font-size:.72rem}
.agenda-page .week-board{transition:opacity .15s ease}.agenda-page.is-loading .week-board{opacity:.42;pointer-events:none}.controller-color-palette{grid-template-columns:repeat(6,38px);margin:4px 0 8px}.controller-color-palette span{width:36px;height:36px;display:grid;place-items:center}.controller-color-palette span i{color:var(--tc);font-size:.62rem;font-style:normal;font-weight:800}.controller-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.controller-capabilities label{display:flex;min-height:74px;align-items:flex-start;gap:12px;margin:0;padding:14px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg);cursor:pointer}.controller-capabilities label:has(input:checked){border-color:color-mix(in srgb,#d3a000 45%,var(--bs-border-color));background:color-mix(in srgb,#ffc107 7%,var(--bs-body-bg))}.controller-capabilities .form-check-input{flex:0 0 auto;margin-top:2px}.controller-capabilities label>span{display:flex;min-width:0;flex-direction:column;gap:5px}.controller-capabilities strong{font-size:.76rem;line-height:1.25}.controller-capabilities small{color:var(--bs-secondary-color);font-size:.66rem;line-height:1.3}.service-pricing-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,2fr);gap:16px}.service-duration-card,.service-energy-pricing{border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-tertiary-bg)}.service-duration-card{display:flex;align-items:flex-start;gap:13px;padding:16px}.service-duration-card>div{min-width:0;flex:1}.service-duration-card .form-label{margin-bottom:8px;font-weight:700}.service-duration-card small{display:block;margin-top:8px;color:var(--bs-secondary-color);font-size:.65rem;line-height:1.4}.service-pricing-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:9px;background:color-mix(in srgb,#ffc107 14%,var(--bs-body-bg));color:#9a7300}.service-energy-pricing{grid-row:span 2;padding:16px}.service-energy-pricing>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.service-energy-pricing>header>div{display:flex;flex-direction:column;gap:4px}.service-energy-pricing>header strong{font-size:.82rem}.service-energy-pricing>header small{color:var(--bs-secondary-color);font-size:.67rem}.energy-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.energy-price-card{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(105px,.72fr);align-items:center;gap:10px;margin:0;padding:10px;border:1px solid var(--bs-border-color);border-radius:9px;background:var(--bs-body-bg)}.energy-price-card:last-child{grid-column:1/-1}.energy-price-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}.energy-price-label{display:flex;min-width:0;flex-direction:column;gap:2px}.energy-price-label strong{font-size:.72rem;line-height:1.2}.energy-price-label small{color:var(--bs-secondary-color);font-size:.6rem}.energy-price-card .input-group{min-width:0}.energy-price-card .form-control{text-align:right;font-weight:700}.service-pricing-note{display:flex;align-items:flex-start;gap:7px;margin-top:12px;color:var(--bs-secondary-color);font-size:.64rem;line-height:1.35}.service-pricing-note i{margin-top:1px;color:#b48600}.energy-price-summary{display:flex;min-width:245px;flex-wrap:wrap;gap:5px}.energy-price-summary span{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid var(--bs-border-color);border-radius:999px;background:var(--bs-tertiary-bg)}.energy-price-summary small{color:var(--bs-secondary-color);font-size:.58rem}.energy-price-summary strong{font-size:.64rem}@media(max-width:980px){.service-pricing-layout{grid-template-columns:1fr}.service-energy-pricing{grid-row:auto}.energy-price-grid{grid-template-columns:1fr}.energy-price-card:last-child{grid-column:auto}}@media(max-width:700px){.controller-capabilities{grid-template-columns:1fr}.energy-price-card{grid-template-columns:32px minmax(0,1fr)}.energy-price-card .input-group{grid-column:1/-1}}
.controller-authorization-badges{display:flex;min-width:165px;flex-direction:column;align-items:flex-start;gap:5px}.controller-authorization-badges .badge{display:inline-flex;align-items:center;gap:5px;font-size:.61rem}.controller-color-chip{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--controller-chip);color:var(--controller-chip-text);font-size:.65rem;font-weight:800;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.controller-capabilities label.form-check{padding:14px}.controller-capabilities .form-check-input{position:static;margin:2px 0 0}
.appointment-channel-field{margin-top:16px;padding-top:15px;border-top:1px solid var(--bs-border-color)}.appointment-channel-choice{display:grid;grid-template-columns:repeat(2,minmax(0,190px));gap:10px}.appointment-channel-choice label{margin:0;cursor:pointer}.appointment-channel-choice span{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--bs-border-color);border-radius:9px;background:var(--bs-body-bg);color:var(--bs-body-color)}.appointment-channel-choice input:checked+span{border-color:#d3a000;background:rgba(255,193,7,.1);box-shadow:0 0 0 2px rgba(255,193,7,.12)}.appointment-channel-choice i{color:#a77d00;font-size:1rem}.appointment-channel-choice strong{font-size:.75rem}.settings-save-bar{position:sticky;z-index:20;bottom:12px;display:flex;justify-content:flex-end;margin:18px 0;padding:12px;border:1px solid var(--bs-border-color);border-radius:12px;background:color-mix(in srgb,var(--bs-body-bg) 92%,transparent);box-shadow:0 8px 28px rgba(15,23,42,.14);backdrop-filter:blur(10px)}.unassigned-lane{background:repeating-linear-gradient(135deg,color-mix(in srgb,#64748b 5%,transparent) 0,color-mix(in srgb,#64748b 5%,transparent) 8px,transparent 8px,transparent 16px)}.unassigned-lane .lane-title{justify-content:center}.history-data-table>:not(caption)>*>*{padding:.38rem .55rem}.history-data-table td{font-size:.69rem}.history-context{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.history-context span{display:inline-flex;align-items:center;gap:4px;padding:2px 5px;border:1px solid var(--bs-border-color);border-radius:999px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.56rem;font-weight:600}.history-controller-color{width:8px;height:8px;border-radius:50%;background:var(--history-controller-color)}
.history-filter-card{margin-bottom:14px;padding:14px 16px}.history-filter-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.25fr) minmax(145px,.8fr) minmax(145px,.8fr) auto;align-items:end;gap:10px}.history-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:5px;margin:0}.history-filter-grid label>span{color:var(--bs-secondary-color);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.history-filter-actions{display:flex;gap:7px}.history-filter-card>small{display:block;margin-top:9px;color:var(--bs-secondary-color)}@media(max-width:1050px){.history-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-filter-actions{grid-column:1/-1}}@media(max-width:600px){.history-filter-grid{grid-template-columns:1fr}.history-filter-actions{grid-column:auto;flex-wrap:wrap}}
.history-latest-action{display:block;margin-top:2px;color:var(--bs-secondary-color)}.history-timeline{position:relative;display:grid;gap:8px;padding-left:8px}.history-timeline:before{content:"";position:absolute;top:16px;bottom:16px;left:18px;width:2px;background:var(--bs-border-color)}.history-timeline-event{position:relative;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg);overflow:hidden}.history-timeline-event summary{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}.history-timeline-event summary::-webkit-details-marker{display:none}.history-timeline-event summary:hover{background:var(--bs-tertiary-bg)}.history-timeline-marker{z-index:1;width:12px;height:12px;border:3px solid var(--bs-body-bg);border-radius:50%;background:var(--bs-primary);box-shadow:0 0 0 2px var(--bs-primary)}.history-timeline-suppression,.history-timeline-erreur{background:var(--bs-danger);box-shadow:0 0 0 2px var(--bs-danger)}.history-timeline-creation,.history-timeline-envoyee{background:var(--bs-success);box-shadow:0 0 0 2px var(--bs-success)}.history-timeline-main{display:flex;min-width:0;flex-direction:column}.history-timeline-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-timeline-main small{color:var(--bs-secondary-color)}.history-timeline-details{padding:0 44px 12px}.history-timeline-details>p{margin:0 0 8px;color:var(--bs-secondary-color);font-size:.78rem}.history-timeline-metadata{display:grid;grid-template-columns:minmax(130px,.35fr) 1fr;gap:4px 10px;margin:0 0 8px;font-size:.75rem}.history-timeline-metadata dt,.history-timeline-metadata dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.history-timeline-event summary{grid-template-columns:18px minmax(0,1fr)}.history-timeline-event summary>.badge{display:none}.history-timeline-details{padding-left:40px}.history-timeline-metadata{grid-template-columns:1fr}.history-timeline-metadata dd{margin-bottom:5px}}
.vehicle-brand-mark:has(img){background:#fff}.vehicle-brand-mark img{width:36px;height:36px;display:block;object-fit:contain}.vehicle-brand-option{display:flex;align-items:center;gap:9px}.vehicle-brand-option img{width:28px;height:28px;object-fit:contain;padding:2px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.select2-selection__rendered .vehicle-brand-option img{width:22px;height:22px}

/* Select2 — alignement et apparence cohérents avec les form-select Bootstrap. */
.select2-container--default .select2-selection--single{
    display:flex;
    align-items:center;
    min-height:38px;
    padding:.375rem 2.25rem .375rem .75rem;
    color:var(--bs-body-color);
    background-color:var(--bs-body-bg);
    border:var(--bs-border-width) solid var(--bs-border-color);
    border-radius:var(--bs-border-radius);
}

/* Profil Sirius — mêmes données et fonctions que le profil Hélia. */
body:has(.sirius-profile-page) .form-card{padding:20px;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg);box-shadow:0 6px 22px rgba(9,20,38,.045)}
body:has(.sirius-profile-page) .profile-locked-field:disabled{color:var(--bs-secondary-color);background:var(--bs-secondary-bg);border-color:var(--bs-border-color);opacity:1;cursor:not-allowed}
body:has(.sirius-profile-page) .profile-theme-switch{width:2.8rem!important;height:1.45rem;cursor:pointer}
.post-access-identity{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.post-access-identity>i{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:rgba(255,193,7,.16);color:#8a6800}.post-access-identity>span{display:flex;min-width:0;flex-direction:column}.post-access-identity small{color:var(--bs-secondary-color);font-size:.61rem;text-transform:uppercase;letter-spacing:.04em}.post-access-identity strong{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.post-theme-control{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 10px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);cursor:pointer}.post-theme-control-top{min-height:42px;padding:8px 13px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.post-theme-control .form-check-input{width:2.45rem;height:1.25rem;margin:0;cursor:pointer}.post-theme-control i{font-size:.78rem}.sirius-post-session .okami-universes{display:none!important}[data-bs-theme=dark] .post-access-identity>i{color:#ffd45b;background:rgba(255,193,7,.12)}
.twofa-wizard-body{min-height:360px}.twofa-progress{display:flex;align-items:center;gap:10px}.twofa-progress span{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bs-border-color);border-radius:999px;color:var(--bs-secondary-color);font-size:.8rem;font-weight:700}.twofa-progress span.active{color:#1d1d1d;background:var(--bs-warning);border-color:var(--bs-warning)}.twofa-setup-grid{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:28px}.twofa-qr-wrap{display:flex;justify-content:center}.twofa-qr{width:232px;height:232px;display:flex;align-items:center;justify-content:center;padding:16px;box-shadow:0 1px 2px rgba(15,23,42,.12)}.twofa-qr img{width:200px;height:200px;display:block;image-rendering:pixelated}.twofa-copy .font-monospace{font-size:.86rem}@media(max-width:767.98px){.twofa-setup-grid{grid-template-columns:1fr;gap:18px}.twofa-wizard-body{min-height:0}}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    width:100%;
    padding:0;
    color:var(--bs-body-color);
    line-height:1.5;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    position:absolute;
    top:0;
    right:0;
    display:grid;
    width:2.25rem;
    height:100%;
    place-items:center;
    pointer-events:none;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
    position:static;
    width:16px;
    height:12px;
    margin:0;
    border:0;
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat:no-repeat;
    background-position:center;
    background-size:16px 12px;
    opacity:.72;
    transition:transform .15s ease;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{transform:rotate(180deg)}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single{
    border-color:#d6a000;
    box-shadow:0 0 0 .2rem rgba(255,193,7,.17);
}
[data-bs-theme=dark] .select2-container--default .select2-selection--single .select2-selection__arrow b{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* Agenda — séparation forte entre les jours, légère entre les contrôleurs. */
.week-board>.day-column{
    border-left:2px solid color-mix(in srgb,var(--bs-border-color) 82%,var(--bs-body-color));
}
.week-board>.day-column .template-lane:not(:last-child){
    border-right-color:color-mix(in srgb,var(--bs-border-color) 48%,transparent);
}
.week-board>.day-column .day-head{
    box-shadow:inset 1px 0 color-mix(in srgb,var(--bs-body-color) 7%,transparent);
}

.marketing-tabs{margin-bottom:18px}.marketing-tabs .nav-link{display:flex;align-items:center;gap:7px}.benefit-line.benefit-pricing-line{grid-template-columns:minmax(220px,1.25fr) minmax(145px,.7fr) minmax(140px,.65fr) 145px auto;align-items:start}.coupon-table-ticket{display:flex;align-items:center;gap:10px}.coupon-table-ticket>i{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:9px;background:color-mix(in srgb,#ffc107 14%,var(--bs-body-bg));color:#a67d00;font-size:1rem}.coupon-table-ticket>span{display:flex;flex-direction:column}.coupon-table-ticket strong{font-size:.75rem}.coupon-table-ticket b{color:#a67d00;font-size:.68rem}.coupon-service-list{display:flex;max-width:290px;flex-wrap:wrap;gap:5px}.coupon-service-list span{padding:3px 7px;border:1px solid var(--bs-border-color);border-radius:999px;background:var(--bs-tertiary-bg);font-size:.61rem}.coupon-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.coupon-service-grid label{display:flex;align-items:flex-start;gap:9px;margin:0;padding:10px 11px;border:1px solid var(--bs-border-color);border-radius:9px;background:var(--bs-body-bg);cursor:pointer}.coupon-service-grid label:has(input:checked){border-color:#d3a000;background:color-mix(in srgb,#ffc107 8%,var(--bs-body-bg))}.coupon-service-grid input{flex:0 0 auto;margin-top:2px}.coupon-service-grid span{display:flex;min-width:0;flex-direction:column}.coupon-service-grid strong{font-size:.7rem}.coupon-service-grid small{color:var(--bs-secondary-color);font-size:.6rem}.coupon-active-switch{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.coupon-active-switch>span{display:flex;flex-direction:column}.coupon-active-switch strong{font-size:.74rem}.coupon-active-switch small{color:var(--bs-secondary-color);font-size:.64rem}@media(max-width:900px){.benefit-line.benefit-pricing-line{grid-template-columns:1fr 1fr}.benefit-line.benefit-pricing-line>button{justify-self:end}.coupon-service-grid{grid-template-columns:1fr}}@media(max-width:560px){.benefit-line.benefit-pricing-line{grid-template-columns:1fr}.benefit-line.benefit-pricing-line>button{justify-self:stretch}}

#couponModal .coupon-editor-stack{display:grid;gap:16px}
#couponModal .coupon-editor-section{margin:0;padding:18px}
#couponModal .coupon-editor-heading{display:flex;align-items:center;gap:11px;margin-bottom:16px}
#couponModal .coupon-editor-heading>i{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--bs-warning) 14%,var(--bs-tertiary-bg));color:#a67d00}
#couponModal .coupon-editor-heading h3{margin:0;font-size:.88rem}
#couponModal .coupon-editor-heading small{display:block;margin-top:2px;color:var(--bs-secondary-color);font-size:.66rem}
#couponModal .coupon-discount-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#couponModal .coupon-discount-choices label{margin:0}
#couponModal .coupon-discount-choices span{display:flex;min-height:40px;align-items:center;justify-content:center;gap:6px;padding:8px;border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-body-bg);cursor:pointer;font-size:.7rem;font-weight:700;transition:.15s ease}
#couponModal .coupon-discount-choices span:hover{border-color:#d3a000;background:color-mix(in srgb,var(--bs-warning) 6%,var(--bs-body-bg))}
#couponModal .coupon-discount-choices input:checked+span{border-color:#d3a000;background:color-mix(in srgb,var(--bs-warning) 14%,var(--bs-body-bg));color:#765900;box-shadow:0 0 0 2px color-mix(in srgb,var(--bs-warning) 14%,transparent)}
#couponModal .coupon-discount-value.is-free{opacity:.58}
#couponModal .coupon-discount-value.is-free input{background:var(--bs-tertiary-bg)}
#couponModal .coupon-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#couponModal .coupon-notification-card{display:grid;grid-template-columns:auto 38px minmax(0,1fr);align-items:center;gap:10px;margin:0;padding:13px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-body-bg);cursor:pointer;transition:.15s ease}
#couponModal .coupon-notification-card:hover{border-color:#d3a000;background:color-mix(in srgb,var(--bs-warning) 6%,var(--bs-body-bg))}
#couponModal .coupon-notification-card:has(input:checked){border-color:#d3a000;background:color-mix(in srgb,var(--bs-warning) 12%,var(--bs-body-bg))}
#couponModal .coupon-notification-card>i{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:var(--bs-tertiary-bg);color:#a67d00}
#couponModal .coupon-notification-card>span{display:flex;min-width:0;flex-direction:column}
#couponModal .coupon-notification-card strong{font-size:.75rem}
#couponModal .coupon-notification-card small{overflow:hidden;color:var(--bs-secondary-color);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}
#couponModal .coupon-notification-card.is-unavailable{cursor:not-allowed;opacity:.5}
@media(max-width:900px){#couponModal .coupon-notification-grid{grid-template-columns:1fr}}
@media(max-width:560px){#couponModal .coupon-discount-choices{grid-template-columns:1fr}}
.agenda-entry-group{position:absolute;z-index:3;left:4px;right:4px;display:grid;gap:3px;min-height:16px}.agenda-entry-group.has-one-service{grid-template-columns:minmax(0,85fr) minmax(22px,15fr)}.agenda-entry-group .agenda-entry{position:relative;inset:auto;width:auto;height:100%;min-height:0;padding:4px 6px;justify-content:center}.appointment-primary-line,.appointment-service-line{width:100%;display:flex;min-width:0;align-items:center;gap:4px;overflow:hidden;white-space:nowrap}.appointment-primary-line b{flex:0 0 auto;color:var(--service);font-size:.57rem}.appointment-primary-line>i{flex:0 0 auto;color:var(--bs-secondary-color);font-size:.62rem}.appointment-primary-line strong{min-width:0;flex:1;font-size:.64rem}.appointment-service-line{margin-top:2px;color:var(--bs-secondary-color);font-size:.57rem}.appointment-service-line span{min-width:0;overflow:hidden;color:var(--bs-secondary-color);font-size:.57rem;font-weight:600;text-overflow:ellipsis}.appointment-marketing-icon{flex:0 0 auto;color:#d39e00;font-size:.58rem}.appointment-parallel-add{display:grid;min-width:0;place-items:center;padding:0;border:1px dashed color-mix(in srgb,#d3a000 45%,var(--bs-border-color));border-radius:6px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.76rem}.appointment-parallel-add:hover,.appointment-parallel-add:focus-visible{border-color:#d3a000;background:rgba(255,193,7,.1);color:#9a7400;outline:0}.template-lane .appointment-left{left:4px;right:calc(50% + 2px);width:calc(50% - 6px)}.template-lane .appointment-right{left:calc(50% + 2px);right:4px;width:calc(50% - 6px)}
.agenda-appointment{border-color:color-mix(in srgb,var(--card-color) 92%,var(--bs-border-color));border-left-width:4px;border-left-color:var(--card-color);background:color-mix(in srgb,var(--card-color) 43%,var(--bs-body-bg));color:var(--card-text,var(--bs-body-color));box-shadow:0 2px 7px color-mix(in srgb,var(--card-color) 24%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--card-color) 26%,transparent)}.agenda-appointment:hover{background:color-mix(in srgb,var(--card-color) 50%,var(--bs-body-bg))}.agenda-appointment.has-status-color{background:color-mix(in srgb,var(--card-color) 58%,var(--bs-body-bg));color:var(--card-text)}.agenda-appointment.has-status-color:hover{background:color-mix(in srgb,var(--card-color) 66%,var(--bs-body-bg));filter:none}.agenda-appointment .appointment-primary-line b{padding:2px 5px;border-radius:4px;background:var(--card-color);color:var(--card-text,#fff);font-weight:800;line-height:1.15}.agenda-appointment .appointment-primary-line strong,.agenda-appointment .appointment-primary-line>i,.agenda-appointment .appointment-service-line span{color:var(--card-text,var(--bs-body-color))}.agenda-appointment .appointment-service-line span{font-weight:700}.appointment-marketing-icon{color:#b06d00}.agenda-appointment .appointment-note-icon{flex:0 0 auto;color:var(--card-text,var(--bs-body-color));font-size:.58rem}.agenda-appointment.has-status-color .appointment-marketing-icon,.agenda-appointment.has-status-color .appointment-note-icon{color:var(--card-text)}.appointment-note-field{min-height:110px;resize:vertical}
.appointment-client-type{width:15px;height:15px;flex:0 0 15px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;box-shadow:0 1px 2px rgba(15,23,42,.22);line-height:1}.appointment-client-type i{color:#fff!important;font-size:8px!important;line-height:1}.appointment-client-type-individual{background:#15803d}.appointment-client-type-garage{background:#111827}.appointment-client-type-business{background:#c62828}.agenda-mobile-client .appointment-client-type{width:19px;height:19px;flex-basis:19px}.agenda-mobile-client .appointment-client-type i{color:#fff!important;font-size:10px!important}
.agenda-mobile-client .appointment-card-indicators i{width:19px;height:19px;flex-basis:19px;font-size:10px!important}
.company-siren-lookup{min-width:42px;display:grid;place-items:center}.company-lookup-feedback{min-height:1em;display:block;margin-top:4px;color:var(--bs-secondary-color);font-size:.58rem;font-weight:650;line-height:1.25}
.appointment-notification-channel{height:100%;overflow:hidden;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.appointment-notification-channel>h4{display:flex;align-items:center;gap:7px;margin:0;padding:11px 13px;border-bottom:1px solid var(--bs-border-color);font-size:.78rem}.appointment-notification-channel>h4>span{display:flex;align-items:center;gap:7px}.appointment-notification-channel>h4 i{color:#b48600}.notification-channel-toggle{display:flex;align-items:center;gap:6px;margin-left:auto;cursor:pointer}.notification-channel-toggle .form-check-input{margin:0}.notification-channel-toggle small{color:var(--bs-secondary-color);font-size:.62rem;font-weight:600}.appointment-notification-list{display:flex;flex-direction:column;gap:7px;padding:10px}.appointment-notification-option{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-body-bg);cursor:pointer}.appointment-notification-option:has(input:checked){border-color:color-mix(in srgb,#d3a000 58%,var(--bs-border-color));background:color-mix(in srgb,#ffc107 7%,var(--bs-body-bg))}.appointment-notification-option input{flex:0 0 auto;margin-top:2px}.appointment-notification-option>span{display:flex;min-width:0;flex-direction:column}.appointment-notification-option strong{font-size:.72rem}.appointment-notification-option small{overflow:hidden;color:var(--bs-secondary-color);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.sql-id{display:inline-flex;align-items:center;padding:1px 5px;border:1px solid var(--bs-border-color);border-radius:5px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-family:var(--bs-font-monospace);font-size:.68em;font-weight:600;vertical-align:middle}.vehicle-choice-card .sql-id,.appointment-notification-option .sql-id{margin-left:3px}
.agenda-entry:not(.agenda-appointment){border-color:color-mix(in srgb,var(--card-color,var(--service)) 68%,var(--bs-border-color));border-left-width:4px;border-left-color:var(--card-color,var(--service));background:color-mix(in srgb,var(--card-color,var(--service)) 29%,var(--bs-body-bg))}
.appointment-status-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.appointment-status-color{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px 12px;padding:13px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.appointment-status-color-preview{width:42px;height:42px;display:grid;place-items:center;border:2px solid var(--status-color);border-radius:9px;background:var(--status-color);color:var(--status-text);font-size:.72rem;font-weight:800;box-shadow:inset 4px 0 0 color-mix(in srgb,var(--status-text) 24%,transparent)}.appointment-status-color>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.appointment-status-color strong{font-size:.75rem}.appointment-status-color small{color:var(--bs-secondary-color);font-family:var(--bs-font-monospace);font-size:.63rem}.appointment-status-color-controls{grid-column:1/-1;display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center}.appointment-status-color-controls.energy-color-controls{grid-template-columns:48px minmax(0,1fr) auto}.appointment-status-color input[type=color]{width:48px;height:38px;padding:3px;border-color:var(--bs-border-color);background:var(--bs-body-bg)}@media(max-width:760px){.appointment-status-color-grid{grid-template-columns:1fr}}@media(max-width:480px){.appointment-status-color-controls.energy-color-controls{grid-template-columns:48px minmax(0,1fr)}.appointment-status-color-controls.energy-color-controls .form-switch{grid-column:1/-1}}
.template-lane>.template-free-slot,.template-lane>.agenda-entry,.template-lane>.agenda-entry-group{margin-top:1px;margin-bottom:1px}
.appointment-tariff-zone{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:start;gap:12px;margin-top:2px;padding-top:15px;border-top:1px solid var(--bs-border-color)}.appointment-marketing-select,.appointment-manual-price{display:flex;min-width:0;flex-direction:column;gap:6px}.appointment-marketing-select>span,.appointment-manual-price>span{font-size:.7rem;font-weight:700}.appointment-marketing-select>small,.appointment-manual-price>small{color:var(--bs-secondary-color);font-size:.6rem;line-height:1.35}.appointment-manual-price{grid-column:2}.appointment-discount-ticket{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;overflow:hidden;padding:13px 14px 13px 0;border:1px solid color-mix(in srgb,#d3a000 55%,var(--bs-border-color));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,#ffc107 18%,var(--bs-body-bg)),color-mix(in srgb,#ffc107 5%,var(--bs-body-bg)));box-shadow:0 7px 20px rgba(126,93,0,.08)}.appointment-discount-ticket:before,.appointment-discount-ticket:after{position:absolute;left:-8px;width:16px;height:16px;content:"";border:1px solid color-mix(in srgb,#d3a000 55%,var(--bs-border-color));border-radius:50%;background:var(--bs-body-bg)}.appointment-discount-ticket:before{top:-8px}.appointment-discount-ticket:after{bottom:-8px}.discount-ticket-cut{height:100%;display:grid;place-items:center;border-right:1px dashed color-mix(in srgb,#d3a000 70%,var(--bs-border-color));color:#9a7400;font-size:1.35rem}.appointment-discount-ticket>div{display:flex;min-width:0;flex-direction:column}.appointment-discount-ticket>div>small{color:#8a6800;font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.appointment-discount-ticket>div>strong{overflow:hidden;margin:2px 0 5px;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.appointment-discount-ticket>div>span{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.appointment-discount-ticket del{color:var(--bs-secondary-color);font-size:.68rem}.appointment-discount-ticket b{font-size:1rem}.appointment-discount-ticket em{padding:2px 6px;border-radius:999px;background:rgba(25,135,84,.12);color:#198754;font-size:.59rem;font-style:normal;font-weight:800}.appointment-discount-ticket.is-suppressed{border-style:dashed;background:var(--bs-tertiary-bg);box-shadow:none;opacity:.82}.appointment-discount-ticket.is-suppressed>div>small{color:var(--bs-secondary-color)}@media(max-width:760px){.appointment-tariff-zone{grid-template-columns:1fr}.appointment-manual-price{grid-column:1}.appointment-discount-ticket{grid-template-columns:42px minmax(0,1fr)}.appointment-discount-ticket>button{grid-column:2;justify-self:start}}
.appointment-coupon-offers{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appointment-coupon-offers.has-applied-coupon{grid-template-columns:1fr}.appointment-coupon-ticket{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px dashed color-mix(in srgb,var(--bs-primary) 70%,var(--bs-border-color));border-radius:11px;background:color-mix(in srgb,var(--bs-primary) 5%,var(--bs-body-bg))}.appointment-coupon-ticket.is-applied{border-style:solid;border-color:var(--bs-primary);background:color-mix(in srgb,var(--bs-primary) 10%,var(--bs-body-bg));box-shadow:0 6px 18px color-mix(in srgb,var(--bs-primary) 12%,transparent)}.appointment-coupon-ticket>i{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--bs-primary) 14%,var(--bs-body-bg));color:var(--bs-primary);font-size:1rem}.appointment-coupon-ticket>div{display:flex;min-width:0;flex-direction:column}.appointment-coupon-ticket small{color:var(--bs-primary);font-size:.56rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.appointment-coupon-ticket strong{overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.appointment-coupon-ticket span{color:var(--bs-secondary-color);font-size:.63rem;font-weight:600}@media(max-width:760px){.appointment-coupon-offers{grid-template-columns:1fr}.appointment-coupon-ticket{grid-template-columns:36px minmax(0,1fr)}.appointment-coupon-ticket>button{grid-column:2;justify-self:start}}
.notification-usage-choice{height:100%;display:flex;align-items:center;gap:9px;margin:0;padding:11px 12px;border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-tertiary-bg);cursor:pointer}.notification-usage-choice:has(input:checked){border-color:color-mix(in srgb,#d3a000 48%,var(--bs-border-color));background:color-mix(in srgb,#ffc107 7%,var(--bs-body-bg))}.notification-usage-choice:has(input:disabled){cursor:not-allowed;opacity:.72}.notification-usage-choice input{margin:0}.notification-usage-choice span{font-size:.72rem;font-weight:600}.notification-usage-badges{display:flex;min-width:190px;flex-wrap:wrap;gap:4px}.notification-usage-badges .badge{border:1px solid var(--bs-border-color);color:var(--bs-body-color);font-size:.57rem;font-weight:600}
.notification-variable-palette{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding:14px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.notification-variable-palette section h4{margin:0 0 8px;color:var(--bs-secondary-color);font-size:.72rem;font-weight:700}.notification-variable-palette section>div{display:flex;flex-wrap:wrap;gap:7px}.notification-variable{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--bs-border-color);border-radius:7px;background:var(--bs-body-bg);color:var(--bs-body-color);text-align:left;transition:border-color .12s ease,background-color .12s ease}.notification-variable:hover,.notification-variable:focus-visible{border-color:#d3a000;background:rgba(255,193,7,.09);outline:0}.notification-variable span{font-size:.68rem;font-weight:600}.notification-variable code{font-size:.6rem;white-space:nowrap}
.communication-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.communication-stat-card{position:relative;overflow:hidden;padding:18px;border-top:3px solid var(--stat-color)}.communication-stat-card.is-sent{--stat-color:#198754}.communication-stat-card.is-scheduled{--stat-color:#0d6efd}.communication-stat-card.is-failed{--stat-color:#dc3545}.communication-stat-card:after{position:absolute;content:"";width:110px;height:110px;top:-62px;right:-45px;border-radius:50%;background:color-mix(in srgb,var(--stat-color) 9%,transparent);pointer-events:none}.communication-stat-card>header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.communication-stat-card>header>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:9px;background:color-mix(in srgb,var(--stat-color) 12%,var(--bs-body-bg));color:var(--stat-color);font-size:1rem}.communication-stat-card>header>div{display:flex;min-width:0;flex-direction:column}.communication-stat-card>header strong{font-size:.85rem}.communication-stat-card>header small{color:var(--bs-secondary-color);font-size:.64rem}.communication-stat-period{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1px 12px;padding:10px 0;border-top:1px solid var(--bs-border-color)}.communication-stat-period>span{color:var(--bs-secondary-color);font-size:.69rem;font-weight:600}.communication-stat-period>strong{grid-row:1/3;grid-column:2;font-size:1.4rem;line-height:1}.communication-stat-delta{display:flex;align-items:center;min-width:0;font-size:.6rem}.communication-stat-delta i{font-size:.85rem}.communication-stat-delta.is-success{color:var(--bs-success)}.communication-stat-delta.is-danger{color:var(--bs-danger)}.communication-stat-delta.is-info{color:var(--bs-primary)}.communication-stat-delta.is-neutral{color:var(--bs-secondary-color)}@media(max-width:900px){.communication-stats{grid-template-columns:1fr}.communication-stat-card{display:grid;grid-template-columns:minmax(170px,.8fr) 1fr 1fr;align-items:center;gap:16px}.communication-stat-card>header{margin:0}.communication-stat-period{border-top:0;border-left:1px solid var(--bs-border-color);padding:4px 0 4px 16px}}@media(max-width:620px){.communication-stat-card{display:block}.communication-stat-card>header{margin-bottom:16px}.communication-stat-period{border-top:1px solid var(--bs-border-color);border-left:0;padding:10px 0}}
.vehicle-next-service{display:flex!important;align-items:center;gap:7px;margin-top:8px;padding:7px 8px;border-radius:7px;background:color-mix(in srgb,#ffc107 10%,var(--bs-tertiary-bg));color:var(--bs-body-color)}.vehicle-next-service>i{flex:0 0 auto;color:#a87d00;font-size:.8rem}.vehicle-next-service>span{display:flex;min-width:0;flex-direction:column}.vehicle-next-service b{margin:0;font-size:.64rem;letter-spacing:0}.vehicle-next-service small{font-size:.58rem}.appointment-price-preview{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-tertiary-bg)}.appointment-price-preview>.appointment-price-caption{display:flex;align-items:center;gap:6px;color:var(--bs-secondary-color);font-size:.67rem;font-weight:700}.appointment-price-preview>strong,.appointment-price-values>strong{color:var(--bs-body-color);font-size:1rem}.appointment-price-preview.has-marketing{border-color:color-mix(in srgb,#ffc107 48%,var(--bs-border-color));background:color-mix(in srgb,#ffc107 8%,var(--bs-body-bg))}.appointment-price-preview.has-marketing>.appointment-price-caption{color:#9a7400}.appointment-price-values{display:flex;align-items:baseline;gap:8px}.appointment-price-values del{color:var(--bs-secondary-color);font-size:.74rem}.appointment-price-values small{color:#8a6800;font-size:.58rem;font-weight:700;text-transform:uppercase}@media(max-width:520px){.appointment-price-preview{align-items:flex-start;flex-direction:column}.appointment-price-values{flex-wrap:wrap}}
.calculated-result-choice{--result-tone:#64748b}.calculated-result-choice.result-tone-success{--result-tone:#198754}.calculated-result-choice.result-tone-warning{--result-tone:#d89b00}.calculated-result-choice.result-tone-danger{--result-tone:#dc3545}.calculated-result-choice>input:checked+span{border-color:var(--result-tone);background:color-mix(in srgb,var(--result-tone) 10%,var(--bs-body-bg));box-shadow:0 0 0 2px color-mix(in srgb,var(--result-tone) 16%,transparent)}.calculated-result-choice>input:checked+span i{color:var(--result-tone)}.calculated-next-services>article{grid-template-columns:auto minmax(0,1fr) auto}.calculated-next-settings{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);align-items:start;gap:12px;padding-top:11px;border-top:1px solid var(--bs-border-color)}.calculated-next-settings>label{display:flex;flex-direction:column;gap:5px}.calculated-next-settings>label>span,.calculated-next-settings legend{margin:0;color:var(--bs-secondary-color);font-size:.62rem;font-weight:700}.calculated-next-settings fieldset{display:grid;grid-template-columns:minmax(260px,1fr) 130px;align-items:center;gap:6px 10px}.calculated-next-settings fieldset>legend,.calculated-next-settings fieldset>small{grid-column:1/-1}.calculated-next-settings fieldset>small{color:var(--bs-secondary-color);font-size:.56rem}.next-price-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.next-price-choices label{cursor:pointer}.next-price-choices input{position:absolute;opacity:0}.next-price-choices span{display:block;padding:7px 8px;border:1px solid var(--bs-border-color);border-radius:7px;background:var(--bs-body-bg);font-size:.62rem;font-weight:700;text-align:center}.next-price-choices input:checked+span{border-color:#d3a000;background:rgba(255,193,7,.12);color:#8a6800}@media(max-width:850px){.calculated-next-settings{grid-template-columns:1fr}.calculated-next-settings fieldset{grid-template-columns:1fr}.calculated-next-settings fieldset>legend,.calculated-next-settings fieldset>small{grid-column:1}.calculated-next-services>article{grid-template-columns:auto 1fr}.calculated-next-services time{grid-column:2}}
.vehicle-due-edit-line{display:grid;grid-template-columns:minmax(220px,1fr) 180px minmax(340px,1.2fr);align-items:start;gap:12px;padding:13px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.vehicle-due-edit-line+article{margin-top:10px}.vehicle-due-edit-line>label{display:flex;flex-direction:column;gap:6px}.vehicle-due-edit-line>label>span,.vehicle-due-edit-line legend{color:var(--bs-secondary-color);font-size:.65rem;font-weight:700}.vehicle-due-edit-line fieldset{display:grid;grid-template-columns:minmax(230px,1fr) 120px;gap:6px 9px}.vehicle-due-edit-line fieldset>legend,.vehicle-due-edit-line fieldset>small{grid-column:1/-1}.vehicle-due-edit-line fieldset>small{color:var(--bs-secondary-color);font-size:.56rem}.vehicle-info-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.vehicle-info-summary article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.vehicle-info-summary article>i{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:9px;background:rgba(255,193,7,.12);color:#9a7400}.vehicle-info-summary article>span{display:flex;min-width:0;flex-direction:column}.vehicle-info-summary small{color:var(--bs-secondary-color);font-size:.6rem}.vehicle-info-summary strong{overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.vehicle-info-due{display:flex;flex-direction:column;gap:8px}.vehicle-info-due article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;border-left:4px solid var(--due-color,#d3a000);border-radius:9px;background:var(--bs-tertiary-bg)}.vehicle-info-due article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--bs-body-bg);color:#9a7400}.vehicle-info-due article>div{display:flex;flex-direction:column}.vehicle-info-due strong{font-size:.74rem}.vehicle-info-due small{color:var(--bs-secondary-color);font-size:.6rem}.vehicle-info-due time{font-size:.72rem;font-weight:800}@media(max-width:850px){.vehicle-due-edit-line{grid-template-columns:1fr 1fr}.vehicle-due-edit-line fieldset{grid-column:1/-1}.vehicle-info-summary{grid-template-columns:1fr}}@media(max-width:560px){.vehicle-due-edit-line{grid-template-columns:1fr}.vehicle-due-edit-line fieldset{grid-column:1}.vehicle-due-edit-line fieldset{grid-template-columns:1fr}.vehicle-due-edit-line fieldset>legend,.vehicle-due-edit-line fieldset>small{grid-column:1}}
.agenda-unavailable{z-index:1}.agenda-appointment{z-index:2}.agenda-entry-group{z-index:3}.unavailability-full-day{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--bs-border-color);border-radius:9px;background:var(--bs-tertiary-bg);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.unavailability-full-day.is-selected{border-color:color-mix(in srgb,#d3a000 58%,var(--bs-border-color));background:color-mix(in srgb,#ffc107 10%,var(--bs-body-bg))}.unavailability-full-day>input{margin:0;flex:0 0 auto}.unavailability-full-day>span{display:flex;flex-direction:column}.unavailability-full-day strong{font-size:.76rem}.unavailability-full-day small{color:var(--bs-secondary-color);font-size:.62rem}.unavailability-full-day+label{margin-top:2px}
.agenda-unavailable.is-full-day{justify-content:flex-start;padding-top:30px}.agenda-unavailable.is-full-day strong{font-size:.7rem}.agenda-unavailable.is-full-day small{margin-top:2px;white-space:normal;line-height:1.25}.agenda-unavailable.is-full-day span{margin-top:3px;color:var(--bs-secondary-color);font-size:.52rem}
.agenda-unavailable{border-color:color-mix(in srgb,var(--card-color,#64748b) 76%,#000)!important;border-left-color:color-mix(in srgb,var(--card-color,#64748b) 68%,#000)!important;background:var(--card-color,#64748b)!important;color:var(--card-text,#fff)!important;box-shadow:0 3px 10px color-mix(in srgb,var(--card-color,#64748b) 22%,transparent)}
.agenda-unavailable:hover{background:color-mix(in srgb,var(--card-color,#64748b) 90%,#fff)!important;filter:none}
.agenda-unavailable span,.agenda-unavailable strong,.agenda-unavailable small,.agenda-unavailable.is-full-day span{color:var(--card-text,#fff)!important}
.agenda-unavailable small,.agenda-unavailable.is-full-day span{opacity:.8}
.unavailability-color-field{margin-top:16px;padding-top:15px;border-top:1px solid var(--bs-border-color)}
.unavailability-color-palette{grid-template-columns:repeat(6,38px);gap:8px;margin:2px 0 8px}
.unavailability-color-palette span{display:grid;width:36px;height:36px;place-items:center;border-radius:8px}
.unavailability-color-palette span i{color:var(--tc);font-size:.62rem;font-style:normal;font-weight:800}
@media(max-width:480px){.unavailability-color-palette{grid-template-columns:repeat(6,34px);gap:5px}.unavailability-color-palette span{width:32px;height:32px}}
.slot-action-adjustment{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;padding:14px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.slot-action-adjustment label{display:block;margin-bottom:4px;color:var(--bs-secondary-color);font-size:.66rem;font-weight:750;text-transform:uppercase}.slot-action-adjustment-error{grid-column:1/-1;padding:8px 10px;border:1px solid color-mix(in srgb,var(--bs-danger) 45%,var(--bs-border-color));border-radius:7px;background:color-mix(in srgb,var(--bs-danger) 8%,var(--bs-body-bg));color:var(--bs-danger);font-size:.68rem}.slot-action-grid .choice-card:disabled{cursor:not-allowed;filter:grayscale(.65);opacity:.45}@media(max-width:575.98px){.slot-action-adjustment{grid-template-columns:1fr}}
.template-lane .lane-title{pointer-events:none}.template-lane .lane-delete{pointer-events:auto}

/* Navigation multi-page native : amélioration progressive, sans routage SPA. */
@view-transition{
    navigation:auto;
}

#mainSidebar{view-transition-name:sirius-sidebar}
.topbar{view-transition-name:sirius-topbar}

@keyframes sirius-view-content-out{
    to{opacity:0;transform:translateY(-4px)}
}
@keyframes sirius-view-content-in{
    from{opacity:0;transform:translateY(7px)}
}
@keyframes sirius-view-persistent-out{
    to{opacity:.82}
}
@keyframes sirius-view-persistent-in{
    from{opacity:.82}
}

::view-transition-old(root),
::view-transition-new(root){
    mix-blend-mode:normal;
}
::view-transition-old(root){
    animation:sirius-view-content-out 105ms ease-in both;
}
::view-transition-new(root){
    animation:sirius-view-content-in 190ms cubic-bezier(.2,.72,.25,1) both;
}
::view-transition-group(sirius-sidebar),
::view-transition-group(sirius-topbar){
    animation-duration:160ms;
    animation-timing-function:ease-out;
}
::view-transition-old(sirius-sidebar),
::view-transition-old(sirius-topbar){
    animation:sirius-view-persistent-out 90ms ease-in both;
    mix-blend-mode:normal;
}
::view-transition-new(sirius-sidebar),
::view-transition-new(sirius-topbar){
    animation:sirius-view-persistent-in 150ms ease-out both;
    mix-blend-mode:normal;
}
@media (prefers-reduced-motion:reduce){
    @view-transition{navigation:none}
    ::view-transition-group(*),
    ::view-transition-old(*),
    ::view-transition-new(*){
        animation:none!important;
    }
}
/* Fiches véhicules, clients et communications */
.vehicle-list-registration{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:.3rem .7rem;border:1px solid #aeb4bd;border-radius:5px;background:#fff;color:#101216;font:800 .75rem/1 Arial,sans-serif;letter-spacing:.06em;box-shadow:inset 12px 0 #0756a5,inset -12px 0 #0756a5}.vehicle-is-inactive{opacity:.68}.communication-agenda-logo{display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}.communication-agenda-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.client-detail-loading{display:flex;align-items:center;gap:.55rem;padding:1rem;color:var(--bs-secondary-color)}.client-detail-vehicle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.client-detail-vehicle{position:relative;display:grid;gap:.4rem;padding:1rem;padding-right:5.5rem;border:1px solid var(--bs-border-color);border-radius:14px;background:var(--bs-body-bg)}.client-detail-vehicle>div{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.client-detail-vehicle>.badge{position:absolute;top:1rem;right:1rem}.client-appointment-history td>a{display:grid;color:inherit;text-decoration:none}.client-appointment-history td small{display:block;color:var(--bs-secondary-color);font-size:.72rem}.appointment-communication-toggle{display:grid;place-items:center;margin:0}.appointment-communication-toggle .form-check-input{margin:0;cursor:pointer}@media(max-width:767.98px){.client-detail-vehicle-list{grid-template-columns:1fr}}

/* Fiche client : véhicules et historique lisibles, sans informations tassées. */
#clientDetail .client-detail-vehicle-list{display:grid;grid-template-columns:1fr;gap:.75rem}
#clientDetail .client-detail-vehicle{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:.9rem;padding:1rem;border:1px solid var(--bs-border-color);border-radius:13px;background:var(--bs-body-bg)}
#clientDetail .client-detail-vehicle-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--bs-primary) 11%,var(--bs-tertiary-bg));color:var(--bs-primary);font-size:1.2rem}
#clientDetail .client-detail-vehicle-main{display:grid;min-width:0;gap:.65rem}
#clientDetail .client-detail-vehicle-heading{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
#clientDetail .client-detail-vehicle-heading>strong{font-size:.94rem}
#clientDetail .client-detail-vehicle-meta{display:flex;gap:.55rem;flex-wrap:wrap}
#clientDetail .client-detail-vehicle-meta>span{display:inline-flex;align-items:center;gap:.38rem;padding:.35rem .55rem;border-radius:7px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.72rem}
#clientDetail .client-detail-vehicle-meta i{color:#b48600}
#clientDetail .client-detail-vehicle-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding-top:.65rem;border-top:1px solid var(--bs-border-color)}
#clientDetail .client-detail-vehicle-dates>span{display:grid;grid-template-columns:auto auto 1fr;align-items:center;justify-content:start;gap:.35rem;color:var(--bs-secondary-color);font-size:.7rem}
#clientDetail .client-detail-vehicle-dates i{grid-row:1/3;color:#b48600}
#clientDetail .client-detail-vehicle-dates b{color:var(--bs-body-color);font-size:.68rem}
#clientDetail .client-detail-vehicle>.badge{position:static;align-self:start;margin-top:.15rem}
#clientDetail .client-appointment-history-wrap{overflow:hidden;border:1px solid var(--bs-border-color);border-radius:11px}
#clientDetail .client-appointment-history{min-width:820px}
#clientDetail .client-appointment-history thead th{padding:.7rem .85rem;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.66rem;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
#clientDetail .client-appointment-history tbody td{padding:.75rem .85rem;border-color:var(--bs-border-color);vertical-align:middle}
#clientDetail .client-history-date,#clientDetail .client-history-vehicle,#clientDetail .client-history-service{display:grid;gap:.25rem;min-width:0}
#clientDetail .client-history-date span{display:flex;align-items:center;gap:.35rem;color:var(--bs-secondary-color);font-size:.72rem}
#clientDetail .client-history-vehicle .vehicle-list-registration{width:max-content;min-width:96px;padding:.24rem .6rem;font-size:.68rem}
#clientDetail .client-history-service small{color:var(--bs-secondary-color);font-size:.68rem}
#clientDetail .client-history-price{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:767.98px){#clientDetail .client-detail-vehicle{grid-template-columns:40px minmax(0,1fr)}#clientDetail .client-detail-vehicle-icon{width:40px;height:40px}#clientDetail .client-detail-vehicle>.badge{position:absolute;top:.8rem;right:.8rem}#clientDetail .client-detail-vehicle-heading{padding-right:4.5rem}#clientDetail .client-detail-vehicle-dates{grid-template-columns:1fr}}
/* Actions du créneau disponible */
.slot-action-grid .choice-card{transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.slot-action-grid .choice-card:hover,.slot-action-grid .choice-card:focus-visible{transform:translateY(-3px);outline:0;box-shadow:0 12px 28px rgba(5,15,30,.14)}.slot-action-grid #chooseAppointment:hover,.slot-action-grid #chooseAppointment:focus-visible{border-color:color-mix(in srgb,var(--bs-success) 72%,var(--bs-border-color));background:color-mix(in srgb,var(--bs-success) 9%,var(--bs-body-bg))}.slot-action-grid #chooseAppointment:hover i,.slot-action-grid #chooseAppointment:focus-visible i{color:var(--bs-success)}.slot-action-grid #chooseUnavailability:hover,.slot-action-grid #chooseUnavailability:focus-visible{border-color:color-mix(in srgb,var(--bs-danger) 66%,var(--bs-border-color));background:color-mix(in srgb,var(--bs-danger) 8%,var(--bs-body-bg))}.slot-action-grid #chooseUnavailability:hover i,.slot-action-grid #chooseUnavailability:focus-visible i{color:var(--bs-danger)}@media(prefers-reduced-motion:reduce){.slot-action-grid .choice-card{transition:none}.slot-action-grid .choice-card:hover,.slot-action-grid .choice-card:focus-visible{transform:none}}

/* Synthèse des tags provenant de l'ensemble des rendez-vous d'un client. */
.client-appointment-tag-summary{display:grid;gap:8px;margin-top:12px;padding:11px 12px;border:1px solid color-mix(in srgb,#7353ba 22%,var(--bs-border-color));border-radius:11px;background:color-mix(in srgb,#7353ba 5%,var(--bs-body-bg))}.client-appointment-tag-summary>small{display:flex;align-items:center;gap:7px;color:var(--bs-secondary-color);font-size:.65rem;font-weight:750}.client-appointment-tag-summary>small i,.client-detail-tags-block>h3 i{color:#7353ba}.client-appointment-tag-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.client-appointment-tag{--tag-color:#6c757d;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--tag-color) 42%,var(--bs-border-color));border-radius:999px;background:color-mix(in srgb,var(--tag-color) 12%,var(--bs-body-bg));color:var(--bs-body-color);line-height:1}.client-appointment-tag>i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--tag-color)}.client-appointment-tag>b{font-size:.67rem}.client-appointment-tag>small{padding-left:5px;border-left:1px solid color-mix(in srgb,var(--tag-color) 35%,var(--bs-border-color));color:var(--bs-secondary-color);font-size:.58rem;font-weight:700}.client-detail-tags-block{border-left:3px solid #7353ba}

/* Sélection des comptes clients autorisés dans les accès Pro. */
.pro-client-result{display:grid;gap:3px;padding:3px 0}.pro-client-result>strong{color:var(--bs-body-color);font-size:.84rem}.pro-client-result>small{display:flex;align-items:center;gap:6px;color:var(--bs-secondary-color);font-size:.68rem}.pro-client-result .pro-client-database{color:#8a6800;font-weight:750}.pro-client-result .pro-client-database i{font-size:.72rem}.select2-container--default .select2-results__option--highlighted .pro-client-result>strong,.select2-container--default .select2-results__option--highlighted .pro-client-result>small{color:inherit}.pro-client-select+.select2 .select2-selection--multiple{min-height:46px;padding:4px 6px}.pro-client-select+.select2 .select2-selection__choice{max-width:100%;overflow:hidden;text-overflow:ellipsis}

.pro-client-picker{display:grid;gap:10px}.pro-client-search-results{max-height:300px;overflow:auto;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-body-bg);box-shadow:0 12px 28px rgba(15,23,42,.09)}.pro-client-search-results>p{margin:0;padding:14px;color:var(--bs-secondary-color);text-align:center}.pro-client-search-result,.pro-client-selected{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px}.pro-client-search-result+.pro-client-search-result{border-top:1px solid var(--bs-border-color)}.pro-client-search-result>span,.pro-client-selected>span{display:grid;min-width:0;gap:2px}.pro-client-search-result strong,.pro-client-selected strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.pro-client-search-result small,.pro-client-selected small{display:flex;align-items:center;gap:5px;color:var(--bs-secondary-color);font-size:.65rem}.pro-client-search-result small:first-of-type,.pro-client-selected small:first-of-type{color:#8a6800;font-weight:700}.pro-client-selected-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pro-client-selected{border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-tertiary-bg)}.pro-client-selected>button{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bs-secondary-color)}.pro-client-selected>button:hover{background:rgba(220,53,69,.1);color:var(--bs-danger)}.pro-client-empty{padding:14px;border:1px dashed var(--bs-border-color);border-radius:10px;text-align:center}.pro-email-feedback{min-height:20px}.pro-email-feedback i{margin-right:4px}@media(max-width:767.98px){.pro-client-selected-list{grid-template-columns:1fr}.pro-client-search-result{align-items:flex-start}.pro-client-search-result .btn{flex:0 0 auto}}
