:root{
 --bc-navy:#071A3D;--bc-blue:#1769FF;--bc-cyan:#20C7D9;--bc-violet:#6545E8;
 --bc-bg:#F4F7FB;--bc-surface:#FFFFFF;--bc-text:#071A3D;--bc-muted:#63708A;
 --bc-border:#DCE4EF;--bc-radius:16px;--bc-radius-sm:11px;
 --bc-shadow:0 12px 30px rgba(7,26,61,.12);--bc-shadow-sm:0 6px 18px rgba(7,26,61,.08);
 --bc-gradient:linear-gradient(135deg,#1769FF 0%,#20C7D9 100%);
 --bc-ai-gradient:linear-gradient(135deg,#1769FF 0%,#6545E8 58%,#20C7D9 100%);
}
html[data-theme="dark"]{--bc-bg:#071326;--bc-surface:#0D1E38;--bc-text:#F7FAFF;--bc-muted:#AAB7CB;--bc-border:#203654;--bc-shadow:0 12px 30px rgba(0,0,0,.32);--bc-shadow-sm:0 6px 18px rgba(0,0,0,.24)}
body{background:var(--bc-bg);color:var(--bc-text)}
.content{background:var(--bc-bg)}
.card,.modal-card,.login-card,.setup-card{border-radius:var(--bc-radius)!important;border-color:var(--bc-border)!important;box-shadow:var(--bc-shadow-sm)}
.hero{border-radius:var(--bc-radius);}
.btn,button.btn,a.btn{border-radius:12px!important;font-weight:700;letter-spacing:-.01em;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}
.btn:hover,button.btn:hover,a.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(7,26,61,.12)}
.btn.primary,button.primary,a.primary{background:var(--bc-blue)!important;border-color:var(--bc-blue)!important;color:#fff!important}
.btn.primary:hover,button.primary:hover,a.primary:hover{background:#0F5BE8!important;border-color:#0F5BE8!important}
.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(32,199,217,.35)!important;outline-offset:2px}
input,select,textarea{border-radius:11px!important;border-color:var(--bc-border)!important;background:var(--bc-surface);color:var(--bc-text)}
.sidebar.bc-v10-sidebar{background:var(--bc-navy)!important}
.bc-sidebar-brand{min-height:74px!important;padding:12px 14px!important}
.bc-brand-link{display:flex;align-items:center;min-width:0}
.bc-brand-link img{width:42px!important;height:42px!important;object-fit:contain!important;object-position:left center;flex:0 0 42px}
.bc-brand-link>span{display:inline-block!important;color:#fff!important;font-weight:800;font-size:20px;letter-spacing:-.03em;margin-left:10px}
body.bc-sidebar-collapsed .bc-brand-link img{width:38px!important;height:38px!important;object-fit:contain!important}
body.bc-sidebar-collapsed .bc-brand-link>span{display:none!important}
.bc-nav-link{border-radius:12px!important}
.bc-nav-link.active,.bc-nav-link:hover{background:rgba(23,105,255,.18)!important}
.bc-nav-link.active{box-shadow:inset 3px 0 0 var(--bc-cyan)}
.bc-nav-icon{color:#DCEBFF}.bc-nav-link.active .bc-nav-icon{color:var(--bc-cyan)}
.topbar{border-bottom-color:var(--bc-border)!important;background:color-mix(in srgb,var(--bc-surface) 94%,transparent)!important;backdrop-filter:blur(12px)}
.top-notification b,.bc-nav-badge{background:var(--bc-blue)!important;color:#fff!important}
.assistant-search:focus-within{box-shadow:0 0 0 3px rgba(32,199,217,.16)}
#assistantSearchSubmit{background:var(--bc-ai-gradient)!important;color:#fff!important}
.status-chip.success,.toast.success{border-color:rgba(32,199,217,.35)!important}
.login-body{background:linear-gradient(rgba(7,26,61,.84),rgba(7,26,61,.90)),url('../brand/bureauchat-login-bg-v111.png') center/cover fixed!important;min-height:100vh}
.login-card{background:rgba(255,255,255,.97)!important;max-width:470px!important}
html[data-theme="dark"] .login-card{background:rgba(13,30,56,.97)!important}
.login-logo{width:min(100%,320px)!important;height:auto!important;max-height:92px!important;object-fit:contain!important;margin:0 auto 18px!important;display:block}
.bc-brand-signature{font-size:11px;color:var(--bc-muted);letter-spacing:.02em}
/* Harmonisation des boutons non-submit interactifs */
button[data-modal],button.modal-close,button[data-payable-edit],button[data-company-edit],button[data-hr-shift-add]{cursor:pointer}
/* Ancre visuelle lors d'une restauration de position après validation */
.bc-form-restored{animation:bcFormRestore 1.15s ease}
@keyframes bcFormRestore{0%{box-shadow:0 0 0 4px rgba(32,199,217,.28)}100%{box-shadow:inherit}}
@media(max-width:760px){.bc-brand-link img{width:40px!important;height:40px!important;flex-basis:40px}.bc-brand-link>span{font-size:18px}.card,.modal-card{border-radius:14px!important}.btn,button.btn,a.btn{min-height:42px}.login-card{margin:16px!important}}
