:root{--ink:#173126;--muted:#62756a;--line:#dbe7de;--paper:#fff;--bg:#f5f8f4;--blue:#0f7a45;--teal:#0e8f63;--green:#117246;--red:#c7434d;--nav:#082c1f;--nav2:#0f442d;--accent:#f0b323;--shadow:0 14px 35px rgba(8,44,31,.08)}*{box-sizing:border-box}html,body{min-height:100%;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:274px;flex:0 0 274px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,var(--nav),var(--nav2));color:#eef7ef;padding:22px 14px;border-right:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:11px}.sidebar .brand{padding:4px 10px 25px}.mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#2b88d2);color:#061a27;font-weight:900;font-size:20px}.brand b{display:block;letter-spacing:.12em;font-size:12px}.brand small{display:block;margin-top:3px;color:#91a4c2;font-size:10px;letter-spacing:.15em;font-weight:800}.nav-label{font-size:10px;letter-spacing:.13em;color:#a8c7b2;font-weight:800;margin:19px 10px 7px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;color:#d7e8dc}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--accent);background:rgba(240,179,35,.12)}.nav-item i{width:16px;font-style:normal;text-align:center}.nav-item em{margin-left:auto;font-size:10px;color:#b8ccb9;font-style:normal}.nav-item.planned{opacity:.75}.sidebar footer{margin-top:auto;font-size:10px;color:#adc0b0;padding:25px 10px 2px}.main{flex:1;min-width:0}.topbar{height:71px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;backdrop-filter:blur(10px)}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:8px}.who{display:flex;align-items:center;gap:9px}.who>span:not(.avatar){display:flex;flex-direction:column;line-height:1.3}.who small{font-size:11px;color:var(--muted)}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e4f3f2;color:#087d75;font-weight:800}.logout{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer;margin-left:6px}.menu-toggle{display:none;border:0;background:transparent;font-size:21px}.content{max-width:1460px;margin:0 auto;padding:34px}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.heading h1{font-size:30px;letter-spacing:-.04em;margin:3px 0 7px}.heading p{margin:0;color:var(--muted);max-width:760px}.eyebrow{color:var(--teal)!important;font-size:10px!important;font-weight:850;letter-spacing:.13em}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:10px 14px;border-radius:8px;font-weight:750;cursor:pointer;white-space:nowrap}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#0a5f39}.button.secondary,.button.small{background:#fff;border-color:#dce1ea;color:#394153}.button.small{font-size:12px;padding:6px 10px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stats article,.panel,.form-card,.empty-state{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.stats article{padding:19px}.stats span{display:block;font-size:12px;color:var(--muted)}.stats b{display:block;font-size:30px;letter-spacing:-.05em;margin:8px 0}.stats small{font-size:11px;color:var(--muted)}.two{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px}.panel{padding:21px;margin-bottom:18px}.two .panel{margin:0}.panel h2{font-size:18px;margin:3px 0 8px}.panel p{line-height:1.5;color:#485064}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.checks{margin:0;padding:0;list-style:none}.checks li{padding:11px 0;border-top:1px solid var(--line);color:#41495b}.checks li::first-letter{color:var(--green);font-weight:900}.link{color:var(--green);font-weight:750}.table-wrap{overflow:auto}.education-cover-cell{width:84px}.education-cover-thumb{display:block;width:70px;height:46px;object-fit:cover;border:1px solid #dbe7de;border-radius:8px;background:#eef5f0}.education-cover-thumb--empty{display:flex;align-items:center;justify-content:center;color:#829187;font-size:18px;font-weight:800;background:linear-gradient(135deg,#f5f8f4,#e6efe9)}table{border-collapse:collapse;width:100%;min-width:630px}th{text-align:left;border-bottom:1px solid var(--line);color:#7d8494;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:0 10px 11px}td{border-bottom:1px solid #eff1f5;padding:12px 10px;vertical-align:top;color:#40485c}td b{display:block;color:#22293b}td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}code{font-size:11px;background:#f1f3f7;color:#50596c;border-radius:5px;padding:2px 5px}.empty{text-align:center;color:var(--muted);padding:35px}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.badge.active{color:#15764d;background:#e9f7ee}.badge.invited{color:#8a6200;background:#fff5da}.badge.suspended{color:#bc3c45;background:#fff0f1}.badge.disabled{color:#696c77;background:#ededf1}.filter{display:flex;gap:8px;margin-bottom:17px}.filter input,.filter select{background:#fff;border:1px solid #dbe0e9;border-radius:8px;padding:10px 11px;min-width:280px}.form-card{overflow:hidden}.form-card section{padding:24px;border-bottom:1px solid var(--line)}.form-card section h2{font-size:18px;margin:0 0 4px}.form-card section>label{display:block;margin-top:15px}.form-card footer{padding:18px 24px;background:#fafbfc;display:flex;justify-content:flex-end}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:17px}.grid label,.form-card section>label{font-weight:700;color:#424a5b;font-size:12px}.grid input,.grid select,.form-card textarea{display:block;width:100%;background:#fff;border:1px solid #dce1ea;border-radius:8px;padding:10px 11px;margin-top:6px;outline:none}.grid input:focus,.grid select:focus,.form-card textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(17,114,70,.12)}.form-card textarea{resize:vertical}.help{font-size:13px;color:var(--muted);line-height:1.45}.checks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}.check{display:flex;align-items:flex-start;gap:10px;border:1px solid #e0e4eb;border-radius:9px;padding:11px;cursor:pointer}.check input{margin-top:3px}.check b,.check small{display:block}.check small{color:var(--muted);font-size:11px;margin-top:3px}.permission-group{border-top:1px solid var(--line);margin-top:19px;padding-top:17px}.permission-group h3{font-size:13px;margin:0}.switch{font-size:13px!important;display:flex!important;gap:8px;align-items:center}.field-error{display:block;color:var(--red);font-size:11px;margin-top:5px}.alert{margin-bottom:18px;border-radius:9px;padding:12px 14px}.alert.ok{background:#eaf7ef;color:#176f49;border:1px solid #c8ebd4}.alert.error{background:#fff0f1;color:#a93640;border:1px solid #f4c4c8}.alert.info{background:#fff7e5;color:#8a6200;border:1px solid #f3df9f}.guest{display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 0,#eaf6ed,transparent 28%),linear-gradient(135deg,#082c1f,#145334)}.guest-shell{width:min(100%,430px)}.login-card{background:#fff;border-radius:17px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.20)}.login-brand{margin-bottom:28px;background:rgba(255,255,255,.96);border:1px solid rgba(240,179,35,.35);border-radius:14px;padding:10px 12px}.login-logo{display:block;max-width:290px;width:100%;height:auto}.login-card h1{font-size:29px;letter-spacing:-.04em;margin:0 0 7px}.login-card>p{line-height:1.5;color:var(--muted);margin:0 0 21px}.stack{display:flex;flex-direction:column;gap:15px}.stack label{font-size:12px;font-weight:700;color:#3f4757}.stack input{display:block;width:100%;border:1px solid #dce1ea;border-radius:8px;padding:12px;margin-top:6px}.note{display:block;color:var(--muted);font-size:11px;margin-top:20px}.empty-state{text-align:center;padding:60px 24px}.empty-state span{font-size:34px;color:var(--teal)}.empty-state h2{margin:12px 0 7px}.empty-state p{margin:0 auto;color:var(--muted);line-height:1.5;max-width:530px}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.sidebar{width:250px;flex-basis:250px}.content{padding:26px}}@media(max-width:760px){.education-cover-cell{width:72px}.education-cover-thumb{width:58px;height:40px}.sidebar{display:none;position:fixed;z-index:30;width:280px}.sidebar.open{display:flex}.menu-toggle{display:block}.topbar{padding:0 18px}.topbar>strong{display:none}.who>span:not(.avatar){display:none}.content{padding:20px}.heading{flex-direction:column}.stats{grid-template-columns:1fr}.grid,.checks-grid{grid-template-columns:1fr}.filter{flex-wrap:wrap}.filter input,.filter select{min-width:0;flex:1}}

/* PATCH 1.0.5 — sidebar Bwetazouti : dimensions explicites, pas de régression. */
.sidebar .brand-sidebar{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:10px !important;
  width:100% !important;
  padding:4px 10px 25px !important;
}
.sidebar .sidebar-brand-panel{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:220px !important;
  height:116px !important;
  overflow:hidden !important;
  background:#ffffff !important;
  border:1px solid rgba(240,179,35,.55) !important;
  border-radius:14px !important;
  padding:8px 10px !important;
  box-shadow:0 9px 22px rgba(0,0,0,.18) !important;
}
.sidebar .sidebar-logo{
  display:block !important;
  width:100% !important;
  max-width:198px !important;
  height:auto !important;
  max-height:98px !important;
  object-fit:contain !important;
}
.sidebar .brand-sidebar small{
  display:block !important;
  margin:0 !important;
  padding-left:2px !important;
  color:#f5f8ef !important;
  font-size:11px !important;
  letter-spacing:.24em !important;
  font-weight:850 !important;
}
