/* Modernisation globale non destructive : navigation, surfaces et interactions. */
:root{--modern-radius:16px;--modern-shadow:0 8px 28px rgba(24,39,31,.065);--modern-shadow-hover:0 14px 38px rgba(24,39,31,.105)}
.sidebar{padding:22px 16px 18px;background:linear-gradient(180deg,#202329 0%,#25282e 62%,#202329 100%);border-right:1px solid rgba(255,255,255,.055);box-shadow:12px 0 35px rgba(20,23,27,.08)}
.brand{padding:4px 12px 18px}.brand-mark{border-radius:0;box-shadow:none}
.workspace-switch{margin:2px 2px 20px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.06));box-shadow:inset 0 1px rgba(255,255,255,.07)}
.workspace-avatar{border-radius:11px}.nav{gap:5px}.nav-label{margin:13px 11px 7px;color:#9fa5b0;letter-spacing:.13em}
.nav-item{position:relative;min-height:46px;padding:0 13px;border:1px solid transparent;border-radius:12px;transition:background .18s,border-color .18s,transform .18s,color .18s}
.nav-item:hover{border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.065);transform:translateX(2px)}
.nav-item.active{border-color:rgba(141,128,239,.24);background:linear-gradient(90deg,rgba(113,99,217,.32),rgba(113,99,217,.16));box-shadow:0 8px 20px rgba(12,13,20,.16)}
.nav-item.active:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:0 4px 4px 0;background:#a99cff}
.nav-item [data-icon]{width:21px;height:21px;padding:3px;border-radius:7px;background:rgba(255,255,255,.045)}.nav-item.active [data-icon]{background:rgba(255,255,255,.12)}
.nav-badge{min-width:24px;height:24px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:#7567e8;color:#fff;box-shadow:0 5px 12px rgba(113,99,217,.25)}
.nav-group{margin:3px 0;border-radius:13px}.nav-group[open]{padding-bottom:5px;background:rgba(255,255,255,.025)}.nav-group summary{padding:12px 11px;border-radius:11px;transition:.18s}.nav-group summary:hover{background:rgba(255,255,255,.045)}.nav-group>div{padding:2px 0 2px 8px}
.user-card{margin-top:auto;padding:14px 10px 4px;border-top:1px solid rgba(255,255,255,.085)}
.topbar{background:rgba(255,253,249,.9);border-bottom-color:rgba(16,36,20,.08);backdrop-filter:blur(16px);box-shadow:0 4px 18px rgba(32,45,37,.035)}
.global-search,.icon-btn,.context-help-button{border-radius:12px}.global-search:focus-within{border-color:#8d82db;box-shadow:0 0 0 4px rgba(113,99,217,.11)}
.main-content{background:radial-gradient(circle at 92% 3%,rgba(113,99,217,.045),transparent 24%),var(--bg)}
.panel,.person-card,.skill-card,.cert-card,.plan-optimized-group{border-color:rgba(16,36,20,.105);border-radius:var(--modern-radius);box-shadow:var(--modern-shadow)}
.panel,.person-card,.skill-card,.cert-card{transition:box-shadow .18s,border-color .18s,transform .18s}.person-card:hover,.skill-card:hover,.cert-card:hover{border-color:rgba(113,99,217,.22);box-shadow:var(--modern-shadow-hover);transform:translateY(-2px)}
.button{border-radius:11px;transition:transform .16s,box-shadow .16s,background .16s}.button:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(25,39,31,.1)}.button.dark{background:linear-gradient(135deg,#24262b,#30333a)}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:10px;transition:border-color .16s,box-shadow .16s}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:#8b7fe1!important;box-shadow:0 0 0 4px rgba(113,99,217,.1)!important;outline:0}
.segmented{padding:4px;border-radius:12px;background:#f1f1f3}.segmented button{border-radius:9px}.segmented button.active{box-shadow:0 4px 11px rgba(27,31,35,.12)}
dialog{border-radius:20px!important;box-shadow:0 32px 100px rgba(11,20,15,.24)!important}dialog::backdrop{background:rgba(17,24,20,.48);backdrop-filter:blur(5px)}
.matrix-panel{overflow:hidden}.matrix-summary>div{background:linear-gradient(180deg,#fff,#fafbf9)}.matrix-table tbody tr{transition:background .14s}.matrix-table tbody tr:hover{background:#f7f9f6}
@media(max-width:820px){.sidebar{padding:18px 13px}.nav-item{min-height:44px}.main-content{background:var(--bg)}}
.sync-status{flex:none;padding:5px 8px;border-radius:999px;background:#eef0ef;color:#68716b;font-size:9px;font-weight:800;white-space:nowrap}.sync-status.pending,.sync-status.saving{background:#fff1d9;color:#8c621d}.sync-status.saved{background:#e4f3ed;color:#24765d}.sync-status.error{background:#ffebe7;color:#b84f43}@media(max-width:1050px){.sync-status{max-width:10px;padding-inline:5px;overflow:hidden;text-indent:20px}}
@media print{.panel,.person-card,.skill-card,.cert-card{box-shadow:none!important}}

/* Navigation Opella Executive — couche finale, sans impact sur la logique du menu. */
body .sidebar{isolation:isolate;padding:22px 15px 16px;border-right:1px solid rgba(247,239,230,.12);background:linear-gradient(165deg,#031f0b 0%,#042b0b 48%,#083814 100%);color:var(--opella-green-20);box-shadow:14px 0 38px rgba(4,43,11,.13)}
body .sidebar:before{content:"";position:absolute;z-index:-1;top:-120px;right:-105px;width:250px;height:250px;border:1px solid rgba(255,120,210,.13);border-radius:50%;box-shadow:0 0 0 48px rgba(255,120,210,.035);pointer-events:none}
body .sidebar .brand{height:52px;padding:3px 10px 17px;color:#fff;font-size:21px;letter-spacing:-.45px}
body .sidebar .brand-mark{width:38px;height:38px;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none}
body .sidebar .workspace-switch{min-height:66px;margin:5px 1px 20px;padding:12px;border:1px solid rgba(247,239,230,.18);border-radius:16px;background:linear-gradient(135deg,rgba(247,239,230,.13),rgba(247,239,230,.06));box-shadow:inset 0 1px rgba(255,255,255,.08),0 9px 28px rgba(0,0,0,.08)}
body .sidebar .workspace-switch:hover{border-color:rgba(255,120,210,.3);background:linear-gradient(135deg,rgba(247,239,230,.17),rgba(247,239,230,.08))}
body .sidebar .workspace-avatar{width:36px;height:36px;border-radius:11px;background:var(--opella-warm-white);color:var(--opella-green);box-shadow:0 5px 14px rgba(0,0,0,.12)}
body .sidebar .workspace-switch small{color:var(--opella-green-30);font-size:9px!important;letter-spacing:.1em}
body .sidebar .workspace-switch strong{margin-top:2px;color:#fff;font-size:13px}
body .sidebar .nav{gap:3px;padding-right:2px;scrollbar-color:rgba(247,239,230,.25) transparent}
body .sidebar .nav-label{margin:14px 11px 7px;color:var(--opella-green-40);font-size:9px!important;letter-spacing:.16em}
body .sidebar .nav-item{min-height:43px;padding:0 12px;border:1px solid transparent;border-radius:11px;color:var(--opella-green-20);font-size:12px;transform:none}
body .sidebar .nav-item:hover{border-color:rgba(247,239,230,.09);background:rgba(247,239,230,.075);color:#fff;transform:translateX(2px)}
body .sidebar .nav-item.active{border-color:rgba(247,239,230,.7);background:var(--opella-warm-white);color:var(--opella-green);box-shadow:0 9px 24px rgba(0,0,0,.15)}
body .sidebar .nav-item.active:before{left:7px;top:12px;bottom:12px;width:3px;border-radius:4px;background:var(--opella-pink)}
body .sidebar .nav-item [data-icon]{width:22px;height:22px;padding:3px;border-radius:7px;background:rgba(247,239,230,.055)}
body .sidebar .nav-item.active [data-icon]{background:rgba(4,43,11,.075);color:var(--opella-green)}
body .sidebar .nav-badge{min-width:23px;height:23px;background:var(--opella-pink);color:var(--opella-green);box-shadow:none}
body .sidebar .nav-group{margin:2px 0;border-radius:12px}
body .sidebar .nav-group[open]{padding-bottom:4px;background:rgba(247,239,230,.035)}
body .sidebar .nav-group>summary{min-height:39px;padding:0 11px;border-radius:10px;color:var(--opella-green-30);font-size:11px}
body .sidebar .nav-group>summary:hover,body .sidebar .nav-group[open]>summary{background:rgba(247,239,230,.06);color:#fff}
body .sidebar .nav-group>div{margin-left:17px;padding:2px 0 3px 8px;border-left:1px solid rgba(247,239,230,.15)}
body .sidebar .nav-group .nav-item{min-height:38px;font-size:11px}
body .sidebar .nav-group:has(.nav-item.active)>summary{color:var(--opella-warm-white)}
body .sidebar .user-card{margin-top:12px;padding:12px 9px 3px;border:1px solid rgba(247,239,230,.1);border-radius:15px;background:rgba(247,239,230,.055)}
body .sidebar .user-card strong{color:#fff;font-size:11px}
body .sidebar .user-card small{color:var(--opella-green-40);font-size:9px!important}
body .sidebar .user-card button{color:var(--opella-green-30)}
body .sidebar .user-card button:hover{background:rgba(247,239,230,.09);color:#fff}
body .sidebar .user-card #logoutButton{border:1px solid rgba(247,239,230,.14);border-radius:10px;background:rgba(247,239,230,.08);color:var(--opella-warm-white)}
body .sidebar .user-card #logoutButton:hover{border-color:rgba(255,120,210,.3);background:rgba(247,239,230,.13)}
@media(max-width:820px){body .sidebar{padding:18px 13px 15px;box-shadow:22px 0 55px rgba(4,43,11,.28)}body .sidebar .workspace-switch{margin-bottom:14px}}
