/* BureauChat V10.1 - Identite graphique + harmonisation globale */
:root{
  --bc-primary:#082D5B;--bc-primary-2:#135C9E;--bc-orange:#FF8A00;--bc-yellow:#FFC928;
  --bc-bg:#F5F7FA;--bc-surface:#FFFFFF;--bc-surface-2:#F8FAFC;--bc-text:#102A43;--bc-muted:#66788A;
  --bc-border:#D9E2EC;--bc-success:#35A853;--bc-danger:#E5484D;--bc-warning:#F5A524;
  --bc-radius:16px;--bc-radius-lg:22px;--bc-shadow:0 10px 30px rgba(8,45,91,.08);--bc-shadow-hover:0 16px 42px rgba(8,45,91,.13);
}
html[data-theme="dark"]{
  --bc-bg:#07131f;--bc-surface:#0f263d;--bc-surface-2:#132e49;--bc-text:#F7FAFC;--bc-muted:#A9BACB;--bc-border:#24435F;
  --bc-shadow:0 12px 34px rgba(0,0,0,.24);--bc-shadow-hover:0 18px 46px rgba(0,0,0,.34);
}
html,body{background:var(--bc-bg)!important;color:var(--bc-text)!important}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}

/* Sidebar */
.bc-v10-sidebar{background:linear-gradient(180deg,#082D5B 0%,#0B3B70 58%,#082D5B 100%)!important;border-right:0!important;box-shadow:8px 0 30px rgba(8,45,91,.10)!important}
.bc-sidebar-brand{min-height:84px!important;padding:12px 14px!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
.bc-brand-link{display:flex!important;align-items:center!important;gap:10px!important;color:#fff!important;text-decoration:none!important;min-width:0}
.bc-brand-link img{width:54px!important;height:54px!important;object-fit:contain!important;border-radius:12px!important;background:#fff!important;padding:3px!important;box-shadow:0 4px 16px rgba(0,0,0,.18)!important}
.bc-brand-link span{font-size:19px!important;font-weight:800!important;letter-spacing:-.4px!important;color:#fff!important}
.bc-sidebar-collapse{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
.bc-sidebar-scroll{scrollbar-color:rgba(255,255,255,.32) transparent!important;overscroll-behavior:contain!important}
.bc-nav-section-title{color:rgba(255,255,255,.55)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;padding:16px 13px 6px!important}
.bc-nav-link,.bc-module-card,.bc-module-item{color:rgba(255,255,255,.9)!important;border-radius:12px!important;margin:2px 8px!important}
.bc-nav-link:hover,.bc-module-card:hover,.bc-module-item:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;transform:translateX(1px)}
.bc-nav-link.active,.bc-nav-link.is-active,.bc-module-item.active,.bc-module-item.is-active,.bc-home-link.active{background:linear-gradient(135deg,#135C9E,#1B74C9)!important;color:#fff!important;box-shadow:0 8px 20px rgba(0,0,0,.16)!important}
.bc-nav-icon,.bc-module-item-icon{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.10)!important}
.bc-nav-badge{background:var(--bc-orange)!important;color:#fff!important}
.bc-module-panel{border-left:1px solid rgba(255,255,255,.14)!important;margin-left:25px!important}
.bc-sidebar-bottom{background:rgba(5,29,58,.72)!important;border-top:1px solid rgba(255,255,255,.12)!important;backdrop-filter:blur(12px)}

/* Topbar */
.topbar{background:color-mix(in srgb,var(--bc-surface) 92%,transparent)!important;border-bottom:1px solid var(--bc-border)!important;backdrop-filter:blur(16px)!important}
.topbar .search,.assistant-search{background:var(--bc-surface-2)!important;border:1px solid var(--bc-border)!important;border-radius:14px!important;box-shadow:none!important}
.topbar input{color:var(--bc-text)!important}

/* Global content */
.content{background:var(--bc-bg)!important}
.hero,.home-personal-hero{background:linear-gradient(135deg,var(--bc-surface) 0%,color-mix(in srgb,var(--bc-primary-2) 5%,var(--bc-surface)) 100%)!important;border:1px solid var(--bc-border)!important;border-radius:var(--bc-radius-lg)!important;box-shadow:var(--bc-shadow)!important;padding:22px 24px!important}
.hero h1,.page-header h1,.card-title h2{color:var(--bc-text)!important;letter-spacing:-.025em}
.hero p,.page-header p,.card small,.muted{color:var(--bc-muted)!important}

/* Cards/modules */
.card,.bc-card,.home-widget,.modal-card,.settings-card,.panel,.stat-card,.m365-connect-card{background:var(--bc-surface)!important;color:var(--bc-text)!important;border:1px solid var(--bc-border)!important;border-radius:var(--bc-radius)!important;box-shadow:var(--bc-shadow)!important}
.card:hover,.home-widget:hover,.stat-card:hover{box-shadow:var(--bc-shadow-hover)!important}
.card-title{border-bottom-color:var(--bc-border)!important}
.card-title a,.card a:not(.btn){color:var(--bc-primary-2)}

/* KPI */
.v10-kpi-grid{gap:14px!important}
.v10-kpi{background:var(--bc-surface)!important;border:1px solid var(--bc-border)!important;border-radius:18px!important;box-shadow:var(--bc-shadow)!important;position:relative;overflow:hidden!important;transition:.2s ease!important}
.v10-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--bc-orange),var(--bc-yellow))}
.v10-kpi:hover{transform:translateY(-2px);box-shadow:var(--bc-shadow-hover)!important}
.v10-kpi small,.v10-kpi span{color:var(--bc-muted)!important}
.v10-kpi strong{color:var(--bc-primary)!important;font-size:clamp(1.65rem,2.4vw,2.25rem)!important}
html[data-theme="dark"] .v10-kpi strong{color:#fff!important}

/* Buttons */
.btn,button.btn,.quick-actions button,.inline-action button{border-radius:12px!important;font-weight:750!important;transition:.18s ease!important}
.btn.primary,button.primary,.btn-primary{background:linear-gradient(135deg,var(--bc-primary-2),#1C73C5)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 7px 18px rgba(19,92,158,.20)!important}
.btn.primary:hover,button.primary:hover{transform:translateY(-1px)!important;filter:brightness(1.04)!important}
.btn.danger,.danger.btn{background:var(--bc-danger)!important;color:#fff!important}
.btn.success,.success.btn{background:var(--bc-success)!important;color:#fff!important}
.quick-actions button{background:var(--bc-surface-2)!important;border:1px solid var(--bc-border)!important;color:var(--bc-text)!important;box-shadow:none!important}
.quick-actions button:hover{background:color-mix(in srgb,var(--bc-orange) 7%,var(--bc-surface))!important;border-color:color-mix(in srgb,var(--bc-orange) 38%,var(--bc-border))!important;transform:translateY(-1px)!important}
.quick-actions button>span:first-child{background:linear-gradient(135deg,#FFF1D8,#FFE1A8)!important;border-radius:12px!important}

/* Tables */
table{background:var(--bc-surface)!important;color:var(--bc-text)!important;border-collapse:separate!important;border-spacing:0!important}
thead th{background:var(--bc-surface-2)!important;color:var(--bc-muted)!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.035em!important;border-bottom:1px solid var(--bc-border)!important}
tbody td{border-bottom:1px solid var(--bc-border)!important;color:var(--bc-text)!important}
tbody tr:hover td{background:color-mix(in srgb,var(--bc-primary-2) 4%,var(--bc-surface))!important}
.table-wrap,.table-card{border:1px solid var(--bc-border)!important;border-radius:16px!important;overflow:auto!important;background:var(--bc-surface)!important}

/* Forms */
input,select,textarea{background:var(--bc-surface)!important;color:var(--bc-text)!important;border:1px solid var(--bc-border)!important;border-radius:11px!important;outline:none!important}
input:focus,select:focus,textarea:focus{border-color:var(--bc-primary-2)!important;box-shadow:0 0 0 3px rgba(19,92,158,.12)!important}
label{color:var(--bc-text)!important}

/* Statuses */
.status-chip,.badge,.pill{border-radius:999px!important;font-weight:750!important}
.toast{border-radius:14px!important;box-shadow:var(--bc-shadow)!important}

/* Login */
.login-body{background:radial-gradient(circle at 20% 20%,rgba(255,201,40,.22),transparent 30%),radial-gradient(circle at 80% 70%,rgba(19,92,158,.24),transparent 34%),linear-gradient(135deg,#F7FAFC,#EAF2FB)!important;min-height:100vh!important}
html[data-theme="dark"] .login-body{background:radial-gradient(circle at 20% 20%,rgba(255,138,0,.12),transparent 30%),radial-gradient(circle at 80% 70%,rgba(19,92,158,.20),transparent 34%),#07131f!important}
.login-card{background:var(--bc-surface)!important;color:var(--bc-text)!important;border:1px solid var(--bc-border)!important;border-radius:28px!important;box-shadow:0 28px 75px rgba(8,45,91,.17)!important;padding:32px!important}
.login-logo{width:min(290px,82%)!important;max-height:245px!important;object-fit:contain!important;margin:0 auto 12px!important;display:block!important}
.login-card h1{color:var(--bc-primary)!important;letter-spacing:-.03em!important}
html[data-theme="dark"] .login-card h1{color:#fff!important}
.login-card>p{color:var(--bc-muted)!important}
.bc-login-legal{color:var(--bc-muted)!important;border-top:1px solid var(--bc-border)!important}

/* Theme selector */
.bc-theme-option{background:var(--bc-surface)!important;color:var(--bc-text)!important;border:1px solid var(--bc-border)!important;border-radius:16px!important}
.bc-theme-option:hover,.bc-theme-option.is-selected{border-color:var(--bc-primary-2)!important;box-shadow:0 0 0 3px rgba(19,92,158,.10)!important}

/* Modals */
.modal{backdrop-filter:blur(6px)!important;background:rgba(3,18,34,.46)!important}
.modal-card{border-radius:22px!important}

/* Mobile */
@media(max-width:900px){
  .bc-v10-sidebar{box-shadow:18px 0 45px rgba(0,0,0,.24)!important}
  .bc-brand-link img{width:48px!important;height:48px!important}
  .hero,.home-personal-hero{padding:18px!important}
  .v10-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){.v10-kpi-grid{grid-template-columns:1fr!important}.login-card{padding:22px!important;border-radius:20px!important}}
