/* BKD — bureau. Les routes et composants existants restent accessibles. */
:root { --bleu:#146d64; --bleu-fonce:#0e504a; --bleu-clair:#e9f4f0; --gris-900:#172e32; --gris-700:#3d5357; --gris-500:#63767a; --gris-300:#c9d5d5; --gris-200:#dfe7e5; --gris-100:#eff3f1; --gris-50:#f5f7f4; --radius:16px; --ombre:0 3px 14px #16332b05; --ombre-lg:0 18px 60px #112e3326; }
body { -webkit-font-smoothing:antialiased; }
button, input, select, textarea { font:inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #c28a39; outline-offset:3px; }
.sidebar { width:244px; background:#142e32; }
.logo { padding:24px 20px; border-color:#ffffff15; }
.logo-icon { height:39px; }
.logo-title { font-size:17px; letter-spacing:-.4px; }
.logo-sub { margin-top:4px; color:#afc3c5; }
.nav { padding:12px; gap:3px; }
.nav-label { padding:18px 12px 6px; font-size:10px; color:#8faeb0; text-transform:uppercase; letter-spacing:1.5px; }
.nav a { display:flex; align-items:center; gap:11px; min-height:41px; padding:9px 12px; border-radius:10px; color:#d3e0df; font-size:13px; }
.nav a:hover { background:#ffffff0b; }
.nav a.active { background:#ccebdd; color:#143d35; font-weight:700; }
.nav svg { width:18px; height:18px; flex-shrink:0; opacity:.9; }
.nav-badge { margin-left:auto; }
.sidebar-footer { border-color:#ffffff15; padding:16px 22px; }
.footer-role { color:#abc0c2; line-height:1.7; }
.content { margin-left:244px; max-width:none; min-width:0; width:calc(100% - 244px); padding:36px clamp(20px,3.6vw,64px); }
.page-header { margin-bottom:26px; }
.page-header h1 { font-size:28px; font-weight:700; letter-spacing:-.9px; }
.page-header .sub { line-height:1.5; max-width:680px; margin-top:7px; }
.btn { min-height:40px; border-radius:9px; padding:10px 16px; }
.btn-sm { min-height:34px; padding:6px 11px; }
.btn-primary { box-shadow:0 3px 6px #146d6414; }
.card { overflow:hidden; }
.card-header { padding:18px 22px; font-size:15px; gap:12px; }
.card-body { padding:22px; overflow-x:auto; }
.kpi-grid { gap:14px; }
.kpi-card { box-shadow:none; padding:22px; }
.kpi-card .label { font-size:11px; letter-spacing:.06em; }
.kpi-card .value { font-size:30px; letter-spacing:-1px; }
.kpi-card .hint { margin-top:8px; }
input, select, textarea { border-radius:8px; min-height:41px; }
input[type=checkbox], input[type=radio] { min-height:0; }
.toolbar { gap:12px; }
th { background:#f8faf8; padding:13px 16px; font-size:10px; letter-spacing:.07em; }
td { padding:15px 16px; }
.badge { padding:5px 10px; font-size:11px; white-space:nowrap; }
.modal { border-radius:20px; }
.modal-header, .modal-footer { padding:18px 24px; }
.modal-body { padding:24px; }
.login-screen { background:radial-gradient(ellipse at top left,#31584d,#142e32 70%); }
.login-card { padding:36px; border-radius:24px; box-shadow:0 24px 80px #0003; }
.login-card .logo { background:transparent; padding:0 0 20px; }
.bkd-eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:1.8px; font-weight:700; color:var(--bleu); margin-bottom:10px; }
.bkd-welcome { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:28px; }
.bkd-welcome h1 { font-size:32px; letter-spacing:-1px; line-height:1.18; margin:0 0 10px; }
.bkd-welcome p { margin:0; color:var(--gris-500); line-height:1.6; }
.bkd-date { border:1px solid var(--gris-200); border-radius:10px; padding:11px 14px; font-size:12px; white-space:nowrap; background:#fff; }
.bkd-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:0 0 26px; }
.bkd-action { display:flex; text-align:left; align-items:center; gap:14px; border:1px solid var(--gris-200); border-radius:14px; padding:20px; background:#fff; color:inherit; cursor:pointer; text-decoration:none; }
.bkd-action:hover { border-color:#89b6a6; box-shadow:0 5px 15px #12352808; }
.bkd-action:first-child { background:#e4eee6; border-color:#d2e1d6; }
.bkd-action-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:#fff; color:var(--bleu); font-size:20px; flex-shrink:0; }
.bkd-action strong { font-size:13px; display:block; margin-bottom:5px; }
.bkd-action small { display:block; font-size:11px; color:var(--gris-500); line-height:1.4; }
.bkd-action-arrow { margin-left:auto; }
.bkd-day-list { display:flex; flex-direction:column; }
.bkd-job { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:15px; align-items:start; padding:18px 0; border-bottom:1px solid var(--gris-100); }
.bkd-job:last-child { border:0; }
.bkd-job-time { color:var(--gris-500); font-size:12px; padding-top:3px; }
.bkd-job-title { display:block; padding:0; border:0; background:none; color:inherit; font:inherit; font-weight:650; text-align:left; cursor:pointer; }
.bkd-job-title:hover { text-decoration:underline; }
.bkd-job-detail { font-size:12px; color:var(--gris-500); line-height:1.7; margin-top:4px; }
.bkd-job-po { color:var(--bleu); font-size:11px; font-weight:700; }
.bkd-week-summary { display:flex; flex-wrap:wrap; gap:24px; padding:18px 22px; margin:0 0 20px; background:#e8f0e9; border-radius:12px; }
.bkd-week-summary strong { font-size:22px; margin-right:7px; }
.bkd-week-summary span { font-size:12px; }
.bkd-nav-toggle,.bkd-nav-shade { display:none; }
.bkd-skip { position:fixed; top:-100px; left:12px; z-index:300; background:white; padding:12px; }
.bkd-skip:focus { top:12px; }
@media(max-width:1100px) { .bkd-actions { gap:9px; } .bkd-action { padding:15px; } .bkd-action small { display:none; } }
@media(max-width:800px) {
 .sidebar { z-index:180; transform:translateX(-100%); visibility:hidden; transition:transform .18s ease; }
 body.bkd-nav-open .sidebar { transform:translateX(0); visibility:visible; }
 .bkd-nav-toggle { display:flex; position:fixed; top:12px; left:14px; z-index:181; min-height:40px; align-items:center; gap:8px; border:1px solid var(--gris-200); border-radius:10px; background:#fff; padding:8px 12px; color:var(--gris-900); box-shadow:var(--ombre); }
 body.bkd-nav-open .bkd-nav-toggle { left:253px; }
 body.bkd-nav-open .bkd-nav-shade { display:block; position:fixed; inset:0; z-index:179; background:#10282b55; border:0; }
 .content { margin-left:0; padding:76px 18px 30px; width:100%; }
 .bkd-welcome { display:block; }
 .bkd-date { display:inline-block; margin-top:16px; }
 .bkd-welcome h1 { font-size:27px; }
 .bkd-actions { grid-template-columns:1fr; gap:8px; }
 .bkd-action { padding:12px 15px; }
 .bkd-action small { display:block; }
 .bkd-action strong { margin-bottom:3px; }
 .two-col { grid-template-columns:1fr; }
 .kpi-card { padding:16px; }
 .kpi-card .value { font-size:25px; }
 .card-header,.card-body { padding:17px; }
 .bkd-job { gap:10px; grid-template-columns:42px minmax(0,1fr); }
 .bkd-job > .badge { grid-column:2; justify-self:start; }
 .form-grid { grid-template-columns:1fr; }
 .modal { max-width:calc(100vw - 20px); }
 .page-header h1 { font-size:25px; }
 .pense-bete-toggle { top:12px; bottom:auto; right:14px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
@media print { .bkd-nav-toggle,.bkd-nav-shade,.bkd-actions,.bkd-skip { display:none!important; } .content { margin:0; width:100%; padding:0; } }
