/* === styles.css === */
:root{--bg:#f2f3f5;--surface:#fff;--surface-2:#f8f8f9;--text:#191b1f;--muted:#777b84;--line:#e7e7e9;--dark:#202124;--violet:#7567e8;--shadow:0 12px 34px rgba(27,29,34,.06)}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:14px "DM Sans",sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:246px;padding:25px 16px 18px;background:#202124;color:#d8d9dc;display:flex;flex-direction:column}.brand{height:42px;padding:0 10px;display:flex;align-items:center;gap:10px;color:#fff;font:800 21px Manrope}.brand-mark{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#fff;color:#202124;font-size:16px}.workspace-switch{margin:18px 0 22px;padding:10px;width:100%;border:1px solid #383a3e;border-radius:12px;background:#292a2d;color:#fff;display:flex;gap:10px;align-items:center;text-align:left}.workspace-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#e4a062;color:#fff;font-weight:800;font-size:10px}.workspace-switch small,.workspace-switch strong,.user-card strong,.user-card small{display:block}.workspace-switch small{font-size:8px;color:#858890;letter-spacing:.8px}.workspace-switch strong{font-size:11px;margin-top:3px}.chevron{margin-left:auto;color:#8d9097}.nav{display:flex;flex-direction:column;gap:4px}.nav-label{margin:15px 11px 7px;font-size:8px;color:#6f7279;letter-spacing:1.3px;font-weight:800}.nav-item{width:100%;min-height:42px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:#999ca3;display:flex;align-items:center;gap:12px;text-align:left;font-size:12px;font-weight:600}.nav-item:hover,.nav-item.active{color:#fff;background:#303135}.nav-item>[data-icon]{display:grid}.nav-badge{margin-left:auto;padding:2px 7px;border-radius:12px;background:#e98655;color:#fff;font-size:8px}.nav-dot{width:6px;height:6px;border-radius:50%;background:#ef7c52;margin-left:auto}.sidebar-insight{margin-top:auto;padding:15px;border:1px solid #3a3b3f;border-radius:13px;background:#292a2e}.insight-top{display:flex;align-items:center;justify-content:space-between;color:#e9a67b}.mini-pill{font-size:7px;letter-spacing:1px;color:#9c9fa6}.sidebar-insight strong{display:block;margin-top:12px;color:#fff;font-size:12px}.sidebar-insight p{margin:6px 0 12px;color:#8d9097;font-size:9px;line-height:1.5}.sidebar-insight button{padding:0;border:0;background:transparent;color:#d7d8dc;font-size:9px;font-weight:700}.user-card{margin-top:14px;padding:13px 7px 0;border-top:1px solid #343539;display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:8px}.avatar{width:34px;height:34px;border-radius:10px;border:0;color:#fff;display:inline-grid;place-items:center;flex:none;font-size:10px;font-weight:800}.avatar-admin{background:#7163d9}.user-card strong{font-size:10px;color:#e8e8ea}.user-card small{font-size:8px;color:#777a82;margin-top:2px}.user-card button{width:28px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:#8b8e95;display:grid;place-items:center}.user-card button:hover{background:#343539;color:#fff}.logout-label{display:none}.logout-icon{font-size:17px;line-height:1}
.shell{margin-left:246px;min-height:100vh}.topbar{position:sticky;top:0;z-index:20;height:69px;padding:0 32px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:space-between}.top-title span,.top-title strong{display:block}.top-title span{font-size:8px;color:#9b9da3;text-transform:uppercase;letter-spacing:1px}.top-title strong{font-size:12px;margin-top:3px}.top-actions{display:flex;align-items:center;gap:8px}.global-search,.input-search{position:relative;display:flex;align-items:center}.global-search svg,.input-search svg{position:absolute;left:12px;color:#999ca3;width:15px}.global-search input{width:290px;height:35px;padding:0 55px 0 36px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);outline:0;font-size:10px}.global-search kbd{position:absolute;right:8px;padding:3px 6px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:#aaa;font-size:8px}.icon-btn{position:relative;width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.icon-btn svg{width:16px}.icon-btn i{position:absolute;right:7px;top:7px;width:5px;height:5px;border-radius:50%;background:#ee744b}.compact{width:34px;height:34px}.mobile-menu{display:none}.main-content{max-width:1480px;margin:0 auto;padding:32px}.view{display:none}.view.active{display:block;animation:fade .25s ease}@keyframes fade{from{opacity:.4;transform:translateY(4px)}}.page-heading{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.date-label,.eyebrow{display:block;color:#999ca3;font-size:8px;font-weight:800;letter-spacing:1.25px}.page-heading h1{margin:8px 0 6px;font:800 28px Manrope;letter-spacing:-1px}.page-heading p{margin:0;color:var(--muted);font-size:11px}.compact-heading h1{font-size:25px}.heading-actions{display:flex;gap:8px}.button{height:38px;padding:0 15px;border-radius:9px;border:1px solid var(--line);display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700}.button svg{width:14px}.button.ghost{background:var(--surface)}.button.dark{background:var(--dark);border-color:var(--dark);color:#fff}.button:hover{transform:translateY(-1px)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:13px}.kpi-card{position:relative;min-height:132px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.kpi-icon{float:right;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;font-weight:800}.violet{background:#efedff;color:#7163dc}.green{background:#e8f5f0;color:#26866a}.orange{background:#fff0e7;color:#dc713a}.blue{background:#eaf3fc;color:#337bbc}.kpi-card>span{display:block;color:var(--muted);font-size:9px}.kpi-card>strong{display:block;margin:8px 0 5px;font:800 25px Manrope}.kpi-card>small{color:#93969d;font-size:8px}.kpi-line{position:absolute;left:18px;right:18px;bottom:0;height:3px;background:#ddd}.kpi-line.violet{background:linear-gradient(90deg,#7567e8 65%,#edebff 65%)}.kpi-line.green{background:linear-gradient(90deg,#248c6b 72%,#e4f3ee 72%)}.kpi-line.orange{background:linear-gradient(90deg,#e7793c 35%,#fbe7dc 35%)}.kpi-line.blue{background:linear-gradient(90deg,#397fc2 80%,#e6f1fb 80%)}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:13px}.panel{border:1px solid var(--line);border-radius:14px;background:var(--surface)}.readiness-panel,.priorities-panel,.activity-panel{padding:20px}.activity-panel{grid-column:1/-1}.panel-head{display:flex;align-items:flex-start;justify-content:space-between}.panel-head h2,.recommendations h2{margin:5px 0 0;font:800 15px Manrope}.text-button,.dots-button{border:0;background:transparent;color:#7f8188;font-size:9px}.live-pill{padding:5px 7px;border-radius:6px;color:#39816e;background:#e9f5f1;font-size:7px;font-weight:800}.readiness-content{min-height:210px;display:flex;align-items:center;gap:34px;padding:22px 8px 0}.donut{--value:72;position:relative;width:142px;height:142px;border-radius:50%;background:conic-gradient(#222327 calc(var(--value)*1%),#ededef 0);display:grid;place-items:center;flex:none}.donut:before{content:"";position:absolute;width:105px;height:105px;border-radius:50%;background:var(--surface)}.donut>div{z-index:1;text-align:center}.donut strong,.donut span,.coverage-list strong,.coverage-list small{display:block}.donut strong{font:800 25px Manrope}.donut span{font-size:9px;color:#999ca3}.coverage-list{flex:1;display:flex;flex-direction:column;gap:16px}.coverage-list>div{display:grid;grid-template-columns:95px 1fr 32px;align-items:center;gap:12px}.coverage-list strong{font-size:10px}.coverage-list small{font-size:8px;color:#a2a4aa;margin-top:2px}.bar,.mini-progress,.plan-progress>span{height:5px;border-radius:8px;background:#ececef;overflow:hidden}.bar i,.mini-progress i,.plan-progress i{display:block;height:100%;border-radius:8px;background:#292a2d}.coverage-list b{font-size:9px}.priority-list{margin-top:16px}.priority-list button{width:100%;min-height:57px;padding:8px 0;border:0;border-top:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:12px;text-align:left}.priority-rank{font:700 10px Manrope;color:#b1b3b8}.priority-list strong,.priority-list small,.activity-list strong,.activity-list small{display:block}.priority-list strong{font-size:10px}.priority-list small{margin-top:4px;color:#92959c;font-size:8px}.priority-arrow{margin-left:auto}.activity-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px}.activity-list>div{display:flex;gap:11px;align-items:center}.activity-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-weight:800;background:#f0efff;color:#7163d9}.activity-icon.plan{background:#e8f5f0;color:#248c6b}.activity-icon.people{background:#fff0e7;color:#dc713a}.activity-list strong{font-size:9px}.activity-list small{margin-top:4px;color:#999ca3;font-size:8px}
.matrix-panel{overflow:hidden}.toolbar{min-height:66px;padding:0 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.segmented{padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);display:flex}.segmented button{height:28px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#8d9097;font-size:9px}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08);font-weight:700}.segmented button span{padding:1px 5px;margin-left:3px;border-radius:7px;background:#fee8dd;color:#d46c38;font-size:7px}.toolbar-actions{display:flex;gap:7px}.input-search input,.toolbar select{height:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:9px;outline:0}.input-search input{width:185px;padding:0 10px 0 34px}.toolbar select{padding:0 27px 0 10px}.matrix-legend{min-height:42px;padding:0 18px;display:flex;align-items:center;gap:7px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:8px;color:#85888f}.matrix-legend>span:first-child{font-weight:700;color:var(--text)}.matrix-legend small{margin-left:auto}.level{width:22px;height:22px;border-radius:6px;border:0;display:inline-grid;place-items:center;font-style:normal;font-size:8px;font-weight:800}.l0{border:1px dashed #ccd0d5;background:#f7f7f8;color:#a4a6aa}.l1{background:#ffebe5;color:#d96648}.l2{background:#fff1d9;color:#cf8c27}.l3{background:#e4f2fb;color:#287db2}.l4{background:#def3eb;color:#20805f}.table-scroll{overflow-x:auto}.matrix-table{width:100%;min-width:1000px;border-collapse:separate;border-spacing:0}.matrix-table th{height:70px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface);font-size:8px;white-space:nowrap}.matrix-table th small{display:block;margin-top:4px;color:#a4a6ab;font-weight:500}.skill-dot{display:block;width:7px;height:7px;margin:0 auto 6px;border-radius:50%;background:var(--skill)}.matrix-table td{height:67px;padding:7px 12px;border-bottom:1px solid var(--line);text-align:center}.matrix-table .sticky{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left}.person-col{min-width:220px;z-index:3!important}.person-cell{display:flex;align-items:center;gap:10px}.person-cell strong,.person-cell small{display:block}.person-cell strong{font-size:10px}.person-cell small{margin-top:3px;color:#989ba1;font-size:8px}.editable-level:hover{transform:scale(1.12)}.editable-level.critical{box-shadow:0 0 0 2px #f4aa86}.target-note{display:block;margin-top:3px;color:#b4b5ba;font-size:7px}.score-value{font-size:10px}.mini-progress{display:block;width:45px;margin:6px auto 0;height:3px}.table-foot{min-height:52px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;color:#999ca3;font-size:8px}
.people-toolbar{margin-bottom:16px;display:flex;justify-content:space-between}.input-search.wide input{width:270px}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.person-card,.skill-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.person-card-top,.skill-card-head{display:flex;justify-content:space-between}.avatar.large{width:44px;height:44px;border-radius:13px}.availability{height:22px;padding:5px 8px;border-radius:10px;background:#e7f4ef;color:#298069;font-size:7px}.person-card h3,.skill-card h3{margin:15px 0 4px;font:800 13px Manrope}.person-card>p{margin:0;color:#92959c;font-size:9px}.profile-score{margin:16px 0;padding:12px 0;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.profile-score span+span{border-left:1px solid var(--line);padding-left:10px}.profile-score strong,.profile-score small,.skill-metrics strong,.skill-metrics small{display:block}.profile-score strong{font-size:12px}.profile-score small{color:#9c9fa5;font-size:7px}.talent-tags{min-height:55px;display:flex;align-content:flex-start;flex-wrap:wrap;gap:5px}.talent-tags span{padding:5px 7px;border-radius:6px;background:var(--surface-2);font-size:7px}.card-action{width:100%;padding-top:11px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;font-size:8px;font-weight:700}.card-action span{float:right}.skill-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.skill-summary>div{padding:16px 20px;display:flex;align-items:baseline;gap:9px}.skill-summary>div+div{border-left:1px solid var(--line)}.skill-summary strong{font:800 19px Manrope}.skill-summary span{color:#94979d;font-size:8px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.skill-symbol{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--skill) 13%,transparent);color:var(--skill)}.criticality{height:21px;padding:5px 7px;border-radius:8px;font-size:7px}.criticality.high{background:#ffebe5;color:#d96648}.criticality.medium{background:#fff1d9;color:#b4771d}.criticality.low{background:#e8f5f0;color:#278066}.category-label{color:#8174e4;font-size:8px;font-weight:700}.skill-card p{min-height:42px;margin:12px 0;color:#8d9097;font-size:9px;line-height:1.55}.skill-metrics{padding-top:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.skill-metrics strong{font-size:11px}.skill-metrics small{color:#a3a5aa;font-size:7px}
.plans-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.plans-stats>div{padding:15px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface);display:flex;align-items:center;gap:12px}.stat-orb{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.plans-stats strong,.plans-stats small{display:block}.plans-stats strong{font:800 17px Manrope}.plans-stats small{color:#979aa0;font-size:8px}.plans-layout{display:grid;grid-template-columns:1.5fr .7fr;gap:15px}.section-label{margin:0 0 9px 4px;color:#999ca3;font-size:8px;font-weight:800;letter-spacing:1px}.plan-list{display:flex;flex-direction:column;gap:9px}.plan-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface);display:flex;align-items:flex-start;gap:12px}.plan-card.completed{border-color:#b8e2cf;background:#fbfffd}.plan-card.overdue{border-color:#efc3b5}.plan-card.cancelled{opacity:.7}.plan-main{flex:1}.plan-main>div:first-child{display:flex;justify-content:space-between}.plan-main strong,.plan-main small{display:block}.plan-main strong{font-size:10px}.plan-main small,.due{color:#989ba1;font-size:8px}.plan-main p{margin:11px 0;color:#73767d;font-size:9px}.plan-progress{display:grid;grid-template-columns:1fr 32px;align-items:center;gap:10px}.plan-progress i{background:#7163df}.plan-progress b{font-size:8px}.plan-actions{display:flex;max-width:170px;flex-wrap:wrap;justify-content:flex-end;gap:6px}.participant-unavailable{opacity:.55}.participant-unavailable input{cursor:not-allowed}.recommendations{padding:19px}.recommendations>div{margin-top:15px}.recommendations button{width:100%;padding:11px 0;border:0;border-top:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:9px;text-align:left}.rec-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--skill) 12%,transparent);color:var(--skill)}.recommendations button>span:nth-child(2){flex:1}.recommendations strong,.recommendations small{display:block}.recommendations strong{font-size:9px}.recommendations small{color:#999ca3;font-size:7px}.empty{padding:28px;text-align:center;color:#999ca3;font-size:10px}
dialog{width:min(570px,calc(100% - 28px));padding:0;border:0;border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 25px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(18,19,22,.52);backdrop-filter:blur(4px)}.dialog-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.dialog-head>div{display:flex;gap:12px}.dialog-icon{width:36px;height:36px;border-radius:10px;background:#efedff;color:#7163dc;display:grid;place-items:center}.dialog-head h2{margin:0 0 4px;font:800 16px Manrope}.dialog-head p{margin:0;color:#94979d;font-size:9px}.close-dialog{border:0;background:transparent;color:#96999f;font-size:20px}.form-grid{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:9px;font-weight:700}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:6px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);outline:0;font-size:10px}.form-grid input,.form-grid select{height:39px}.form-grid textarea{padding-top:10px}.dialog-actions{padding:14px 22px;border-top:1px solid var(--line);background:var(--surface-2);display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;z-index:100;right:24px;bottom:24px;padding:12px 16px;border-radius:10px;background:#242529;color:#fff;font-size:10px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.mobile-backdrop{display:none}
body.dark{--bg:#121315;--surface:#1c1d20;--surface-2:#222327;--text:#f0f0f2;--muted:#9699a0;--line:#303136;--dark:#f1f1f2}body.dark .button.dark{color:#1d1e21}body.dark .l0{background:#25262a;border-color:#484a50}
.brand,.page-heading h1,.panel-head h2,.recommendations h2,.kpi-card>strong,.donut strong,.priority-rank,.person-card h3,.skill-card h3,.skill-summary strong,.plans-stats strong,.dialog-head h2{font-family:Manrope,"DM Sans",sans-serif}
.auth-pending .shell,.auth-pending .sidebar,.auth-locked .shell,.auth-locked .sidebar{visibility:hidden}.authenticated .auth-gate{display:none}.auth-gate{position:fixed;z-index:200;inset:0;display:grid;grid-template-columns:1.05fr .95fr;background:#f5f5f4}.auth-visual{position:relative;padding:38px 52px;overflow:hidden;color:#fff;background:linear-gradient(145deg,#202124,#28282b);display:flex;flex-direction:column}.auth-visual:before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-170px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04}.auth-brand,.auth-mobile-brand{display:flex;align-items:center;gap:10px;font:800 21px Manrope,sans-serif}.auth-story{position:relative;z-index:1;margin:auto 0;max-width:610px}.auth-kicker{color:#c0b9ff;font-size:9px;font-weight:800;letter-spacing:1.6px}.auth-story h1{margin:19px 0;font:800 clamp(34px,4vw,57px)/1.1 Manrope,sans-serif;letter-spacing:-2.3px}.auth-story>p{max-width:520px;color:#aeb0b5;font-size:13px;line-height:1.7}.auth-proof{margin-top:35px;display:flex;align-items:center;gap:14px}.proof-avatars{display:flex}.proof-avatars span{width:34px;height:34px;margin-left:-7px;border:2px solid #252629;border-radius:50%;display:grid;place-items:center;background:#7163d9;font-size:8px;font-weight:800}.proof-avatars span:first-child{margin:0;background:#d57852}.proof-avatars span:nth-child(2){background:#248c6b}.proof-avatars span:nth-child(3){background:#397fc2}.proof-avatars span:last-child{background:#fff;color:#26272a}.auth-proof strong,.auth-proof small{display:block}.auth-proof strong{font-size:10px}.auth-proof small{margin-top:3px;color:#85888f;font-size:8px}.auth-quote{position:relative;color:#777a81;font-size:9px}.auth-panel{display:grid;place-items:center;padding:28px;background:var(--surface)}.auth-card{width:min(390px,100%)}.auth-mobile-brand{display:none;margin-bottom:45px}.auth-form{display:none}.auth-form.active{display:block;animation:fade .25s ease}.auth-form h2{margin:9px 0 7px;font:800 27px Manrope,sans-serif;letter-spacing:-.8px}.auth-form>p{margin:0 0 28px;color:var(--muted);font-size:10px}.auth-form form{display:flex;flex-direction:column;gap:15px}.auth-form label{position:relative;color:#55585f;font-size:9px;font-weight:700}.auth-form label>input:not([type=checkbox]){width:100%;height:44px;margin-top:7px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);outline:0;font-size:11px}.auth-form label>input:focus{border-color:#7567e8;box-shadow:0 0 0 3px #7567e81a}.label-row{position:absolute;right:0;top:0}.label-row button,.auth-switch button{padding:0;border:0;background:none;color:#6f62dc;font-size:9px;font-weight:700}.terms{display:flex;align-items:flex-start;gap:8px;line-height:1.45}.terms input{margin:1px 0}.auth-submit{height:45px;margin-top:3px;padding:0 15px;border:0;border-radius:9px;background:#222326;color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700}.auth-submit:disabled{opacity:.6}.auth-submit.loading span:after{content:"…";animation:fade .7s infinite alternate}.auth-switch{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);text-align:center;color:#96999f;font-size:9px}.auth-status{display:none;margin-top:15px;padding:11px 12px;border-radius:8px;font-size:9px;line-height:1.5}.auth-status.show{display:block}.auth-status.error{color:#b94c3e;background:#ffebe7}.auth-status.warning{color:#95631d;background:#fff3dc}.auth-status.success{color:#24765f;background:#e7f5ef}.access-security{padding:8px 11px;border:1px solid #cfe9df;border-radius:9px;background:#eaf7f2;color:#267b62;display:flex;align-items:center;gap:7px}.access-security small{font-size:8px;font-weight:700}.access-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.access-stats>div{padding:16px 19px}.access-stats>div+div{border-left:1px solid var(--line)}.access-stats strong,.access-stats span{display:block}.access-stats strong{font:800 18px Manrope,sans-serif}.access-stats span{margin-top:3px;color:#999ca3;font-size:8px}.access-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.access-panel{padding:19px}.access-list,.member-list{margin-top:14px}.access-row,.member-row{min-height:59px;padding:9px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px}.access-avatar{width:33px;height:33px;border-radius:9px;background:#efedff;color:#7163dc;display:grid;place-items:center;font-size:8px;font-weight:800}.access-avatar.active{background:#e7f4ef;color:#278066}.access-row>span:nth-child(2),.member-row>span:nth-child(2){flex:1}.access-row strong,.access-row small,.member-row strong,.member-row small{display:block}.access-row strong,.member-row strong{font-size:9px}.access-row small,.member-row small{margin-top:3px;color:#9b9da3;font-size:7px}.access-row select{height:29px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:8px}.approve-access{height:29px;padding:0 9px;border:0;border-radius:7px;background:#242529;color:#fff;font-size:8px}.deny-access{border:0;background:none;color:#b1b3b8;font-size:16px}.role-chip{padding:5px 8px;border-radius:8px;background:#f1f1f3;color:#6e7178;font-size:7px}.role-chip.owner,.role-chip.admin{background:#efedff;color:#7163dc}.role-chip.manager{background:#e6f3fa;color:#337eb2}
@media(max-width:820px){.auth-gate{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{padding:24px}.auth-mobile-brand{display:flex}.access-layout{grid-template-columns:1fr}.access-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.people-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.activity-panel{grid-column:auto}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.mobile-backdrop.show{display:block;position:fixed;z-index:29;inset:0;background:#0006}.shell{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 16px}.top-title{margin-right:auto;margin-left:10px}.global-search{display:none}.main-content{padding:22px 15px}.page-heading{align-items:flex-start;flex-direction:column}.kpi-grid,.people-grid,.skills-grid{grid-template-columns:repeat(2,1fr)}.plans-layout{grid-template-columns:1fr}.activity-list{grid-template-columns:1fr}.readiness-content{flex-direction:column}.donut{margin:auto}.toolbar{align-items:flex-start;flex-direction:column;padding:14px}.toolbar-actions{width:100%}.input-search{flex:1}.input-search input{width:100%}.matrix-legend{overflow-x:auto}.skill-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.heading-actions{width:100%}.heading-actions .button{flex:1;justify-content:center}.kpi-grid,.people-grid,.skills-grid,.plans-stats{grid-template-columns:1fr}.people-toolbar{flex-direction:column;gap:10px}.input-search.wide input{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.skill-summary{grid-template-columns:1fr}.skill-summary>div+div{border-left:0;border-top:1px solid var(--line)}}
.cert-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:14px}.cert-stats>div{padding:15px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface);display:flex;align-items:center;gap:12px}.cert-stats strong,.cert-stats small{display:block}.cert-stats strong{font:800 17px Manrope,sans-serif}.cert-stats small{color:#979aa0;font-size:8px}.stat-orb.red{background:#ffebe7;color:#c85544}.cert-toolbar{margin-bottom:14px;display:flex;justify-content:flex-end}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.cert-card{padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.cert-head{display:flex;justify-content:space-between;align-items:center}.cert-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#e7f4ef;color:#278066;font-weight:800}.cert-icon.expiring{background:#fff1dd;color:#c98428}.cert-icon.expired{background:#ffebe7;color:#c85544}.cert-status{padding:5px 8px;border-radius:8px;background:#e7f4ef;color:#278066;font-size:7px;font-weight:700}.cert-status.expiring{background:#fff1dd;color:#b87822}.cert-status.expired{background:#ffebe7;color:#bd5142}.cert-card h3{margin:15px 0 4px;font:800 13px Manrope,sans-serif}.cert-card>p{margin:0;color:#92959c;font-size:9px}.cert-meta{margin-top:17px;padding-top:13px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px}.cert-meta small,.cert-meta strong{display:block}.cert-meta small{color:#a1a3a8;font-size:7px}.cert-meta strong{margin-top:4px;font-size:8px}.profile-dialog{width:min(820px,calc(100% - 28px))}.profile-modal-head{padding:22px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.profile-identity{display:flex;align-items:center;gap:13px}.profile-identity h2{margin:4px 0;font:800 18px Manrope,sans-serif}.profile-identity p{margin:0;color:#92959c;font-size:9px}.close-profile{border:0;background:none;color:#96999f;font-size:22px}.profile-overview{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface-2);border-bottom:1px solid var(--line)}.profile-overview>div{padding:15px 22px}.profile-overview>div+div{border-left:1px solid var(--line)}.profile-overview strong,.profile-overview small{display:block}.profile-overview strong{font:800 17px Manrope,sans-serif}.profile-overview small{margin-top:3px;color:#999ca3;font-size:7px}.profile-sections{padding:22px;display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.profile-skill-list,.profile-side-list{margin-top:10px}.profile-skill-list>div,.profile-side-list>div{min-height:48px;padding:8px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-skill-list strong,.profile-skill-list small,.profile-side-list strong,.profile-side-list small{display:block}.profile-skill-list strong,.profile-side-list strong{font-size:9px}.profile-skill-list small,.profile-side-list small{margin-top:3px;color:#999ca3;font-size:7px}.profile-level{display:flex;align-items:center;gap:8px}.profile-level b{color:#8e9198;font-size:8px}@media(max-width:820px){.cert-grid{grid-template-columns:repeat(2,1fr)}.profile-sections{grid-template-columns:1fr}}@media(max-width:540px){.cert-grid,.cert-stats{grid-template-columns:1fr}.profile-overview{grid-template-columns:repeat(2,1fr)}}
.auth-submit.loading span:after{content:"..."}
.member-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.member-controls select{height:29px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-size:8px}
.member-delete{height:29px;padding:0 9px;border:1px solid #e5b9b2;border-radius:7px;background:#fff4f2;color:#a43f32;font-size:8px;font-weight:700}
.workspace-loading .main-content{position:relative;min-height:calc(100vh - 69px);pointer-events:none}
.workspace-loading .main-content:after{content:"Chargement sécurisé des données…";position:fixed;z-index:80;left:calc(50% + 123px);top:50%;transform:translate(-50%,-50%);padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 15px 50px #0002;font-size:11px;font-weight:800}
@media(max-width:820px){.workspace-loading .main-content:after{left:50%}}
.developer-filters{display:flex;gap:8px;flex-wrap:wrap}.developer-filters input,.developer-filters select{height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:9px}.developer-monitoring{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:14px 0}.developer-monitor-panel{padding:18px;min-width:0}.developer-monitor-panel>div:last-child{margin-top:12px;max-height:260px;overflow:auto}.developer-monitor-row{padding:9px 0;border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.developer-monitor-row strong,.developer-monitor-row small{display:block}.developer-monitor-row strong{font-size:9px}.developer-monitor-row small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.45}.health-pill{flex:none;padding:5px 7px;border-radius:8px;background:#e7f4ef;color:#21745c;font-size:7px;font-weight:800}.health-pill.warning{background:#fff1dd;color:#9a651e}.health-pill.error{background:#ffebe7;color:#a94435}@media(max-width:1100px){.developer-monitoring{grid-template-columns:1fr}}
.sidebar{overflow-y:auto}
.nav-group{margin-top:5px}.nav-group>summary{min-height:38px;padding:0 11px;display:grid;grid-template-columns:28px minmax(0,1fr) 27px;align-items:center;gap:10px;border-radius:9px;color:#858891;font-size:11px;font-weight:700;cursor:pointer;list-style:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover,.nav-group[open]>summary{background:#292a2d;color:#fff}.nav-group>summary .nav-group-toggle{transition:transform .2s}.nav-group[open]>summary .nav-group-toggle{transform:rotate(180deg)}.nav-group>div{padding:3px 0 3px 8px;border-left:1px solid #383a3e;margin-left:13px}.nav-group .nav-item{min-height:37px;font-size:12px}.nav-group:has(.nav-item.active)>summary{color:#fff}
.focus-target{position:relative;z-index:1;animation:focusTarget 2.4s ease;box-shadow:0 0 0 3px #7567e855,0 12px 32px #7567e822!important}@keyframes focusTarget{0%,35%{background:#f3f0ff}100%{background:var(--surface)}}
.plans-stats{grid-template-columns:repeat(4,1fr)}.plans-stats>button{padding:15px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface);display:flex;align-items:center;gap:12px;text-align:left}.plans-stats>button strong,.plans-stats>button small{display:block}.plans-stats>button strong{font:800 18px Manrope}.plans-stats>button small{color:var(--muted)}.plans-toolbar{min-height:64px;margin-bottom:18px;padding:12px 15px;display:flex;align-items:center;gap:9px}.plans-toolbar .input-search{margin-right:auto}.plans-toolbar select{height:36px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.plan-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:15px}.plan-workspace .recommendations{align-self:start;position:sticky;top:82px}.recommendations>p{color:var(--muted);font-size:12px;line-height:1.5}.person-plan-group{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.person-plan-group+.person-plan-group{margin-top:10px}.person-plan-group>summary{min-height:76px;padding:13px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}.person-plan-group>summary::-webkit-details-marker{display:none}.person-plan-group>summary>span:nth-child(2){flex:1}.person-plan-group>summary strong,.person-plan-group>summary small{display:block}.person-plan-group>summary small{margin-top:3px;color:var(--muted)}.person-plan-summary{text-align:right}.person-plan-summary b{color:#bd523a}.person-plan-group>summary>i{font-style:normal;transition:.2s}.person-plan-group[open]>summary>i{transform:rotate(180deg)}.person-plan-group>div{border-top:1px solid var(--line)}.plan-trajectory{min-height:78px;padding:12px 14px;display:grid;grid-template-columns:8px minmax(230px,1fr) 135px 115px auto 34px;align-items:center;gap:11px;background:var(--surface)}.plan-trajectory+.plan-trajectory{border-top:1px solid var(--line)}.plan-trajectory:hover{background:var(--surface-2)}.plan-skill-dot{width:7px;height:36px;border-radius:8px;background:var(--skill)}.plan-trajectory-main strong,.plan-trajectory-main small,.plan-owner strong,.plan-owner small,.plan-due strong,.plan-due small{display:block}.plan-trajectory-main small,.plan-owner small,.plan-due small{color:var(--muted);font-size:11px}.plan-inline-progress{display:block;width:120px;height:4px;margin-top:8px;border-radius:5px;background:var(--line);overflow:hidden}.plan-inline-progress i{display:block;height:100%;background:#7163d9}.plan-due.overdue strong{color:#bd523a}.plan-trajectory>[data-plan-primary]{padding:8px 10px;border:0;border-radius:8px;background:#242529;color:#fff;font-size:11px;font-weight:700}.plan-more{position:relative}.plan-more>summary{padding:6px;cursor:pointer;list-style:none}.plan-more>div{position:absolute;z-index:10;right:0;top:30px;width:175px;padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.plan-more button{width:100%;padding:8px;border:0;background:transparent;text-align:left}.due-plan-row{display:grid;grid-template-columns:125px minmax(170px,220px) 1fr;align-items:center;border:1px solid var(--line);border-radius:13px;background:var(--surface);overflow:hidden}.due-plan-row+.due-plan-row{margin-top:9px}.due-plan-row>time{padding:16px;font-weight:700}.due-plan-row>span{display:flex;align-items:center;gap:8px}.due-plan-row .plan-trajectory{border-left:1px solid var(--line)}.plan-table-wrap{overflow:auto}.plan-table{width:100%;border-collapse:collapse}.plan-table th,.plan-table td{padding:13px;border-bottom:1px solid var(--line);text-align:left}.plan-table td small{display:block;color:var(--muted)}.plan-detail-dialog{width:min(720px,calc(100% - 28px))}.plan-detail-head{padding:22px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.plan-detail-head>span{display:flex;gap:12px}.plan-detail-head h2{margin:3px 0}.plan-detail-head p,.plan-detail-head small{margin:0;color:var(--muted)}.close-plan-detail{border:0;background:transparent;font-size:24px}.plan-detail-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 22px;background:var(--surface-2)}.plan-detail-summary span+span{padding-left:15px;border-left:1px solid var(--line)}.plan-detail-summary small,.plan-detail-summary strong{display:block}.plan-detail-summary small{color:var(--muted);font-size:10px}.plan-detail-dialog section{padding:20px 22px;border-top:1px solid var(--line)}.plan-timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:18px}.plan-timeline>div{position:relative;display:flex;gap:8px}.plan-timeline>div:before{content:"";position:absolute;left:14px;right:-2px;top:14px;height:2px;background:var(--line)}.plan-timeline>div:last-child:before{display:none}.plan-timeline i{z-index:1;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#ececef;font-style:normal}.plan-timeline .done i{background:#daf1e7;color:#24765f}.plan-timeline strong,.plan-timeline small{display:block}.plan-timeline small{color:var(--muted);font-size:10px}.plan-linked-trainings{margin-top:12px}.plan-linked-trainings button{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:left}.plan-linked-trainings strong,.plan-linked-trainings small{display:block}.plan-linked-trainings small{color:var(--muted)}.plan-detail-actions{padding:16px 22px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line)}@media(max-width:1100px){.plan-workspace{grid-template-columns:1fr}.plan-workspace .recommendations{position:static}.plan-trajectory{grid-template-columns:8px 1fr 120px auto}.plan-owner{display:none}.plans-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.plans-toolbar{align-items:stretch;flex-direction:column}.plans-toolbar .segmented{overflow:auto}.plan-trajectory{grid-template-columns:7px 1fr auto}.plan-due{display:none}.plan-trajectory>[data-plan-primary]{grid-column:2}.plan-detail-summary,.plan-timeline{grid-template-columns:repeat(2,1fr);gap:14px}.due-plan-row{grid-template-columns:1fr}.due-plan-row>time,.due-plan-row>span{padding:10px}.due-plan-row .plan-trajectory{border-left:0;border-top:1px solid var(--line)}}
.training-stats{grid-template-columns:repeat(4,1fr)}.training-stats>button{padding:15px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface);display:flex;align-items:center;gap:11px;text-align:left}.training-stats>button strong,.training-stats>button small{display:block}.training-stats>button strong{font:800 18px Manrope}.training-work-group{margin-bottom:18px}.training-work-group>div:first-child{padding:0 5px 8px;display:flex;justify-content:space-between;align-items:center}.training-work-group>div:first-child h2{margin:0;font:800 13px Manrope}.training-work-group>div:first-child span{padding:4px 8px;border-radius:10px;background:var(--surface);font-weight:800}.training-work-item{min-height:92px;padding:13px 14px;display:grid;grid-template-columns:34px minmax(250px,1fr) 110px 145px auto 34px;align-items:center;gap:12px;border:1px solid var(--line);background:var(--surface)}.training-work-item:first-of-type{border-radius:13px 13px 0 0}.training-work-item:last-child{border-radius:0 0 13px 13px}.training-work-item+.training-work-item{border-top:0}.training-work-item:hover{background:var(--surface-2)}.training-stage-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#efedff;color:#7163d9;font-style:normal;font-weight:800}.stage-close .training-stage-icon{background:#ffebe5;color:#bd523a}.stage-deliver .training-stage-icon{background:#e8f2fc;color:#337bbc}.stage-complete .training-stage-icon{background:#e5f5ed;color:#24765f}.training-work-main>span{display:flex;gap:10px}.training-work-main>span b{color:#7163d9;font-size:10px;text-transform:uppercase}.training-work-main>span small{color:var(--muted)}.training-work-main h2{margin:5px 0 2px;font:800 14px Manrope}.training-work-main p{margin:0;color:var(--muted);font-size:11px}.training-work-trace small,.training-work-trace strong{display:block}.training-work-trace i{display:block;height:4px;margin-top:5px;border-radius:5px;background:var(--line);overflow:hidden}.training-work-trace i b{display:block;height:100%;background:#7163d9}.training-work-counts{display:flex;gap:5px}.training-work-counts b{padding:5px;border-radius:6px;background:#fff1d9;color:#986718;font-size:10px}.training-work-counts b.done{background:#e5f5ed;color:#24765f}.training-work-item>[data-training-primary],.training-business-table [data-training-primary]{padding:9px 11px;border:0;border-radius:8px;background:#242529;color:#fff;font-size:11px;font-weight:700}.training-more{position:relative}.training-more>summary{padding:6px;cursor:pointer;list-style:none}.training-more>div{position:absolute;z-index:10;right:0;width:160px;padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.training-more button{width:100%;padding:8px;border:0;background:transparent;text-align:left}.training-business-table-wrap{overflow:auto}.training-business-table{width:100%;border-collapse:collapse}.training-business-table th,.training-business-table td{padding:13px;border-bottom:1px solid var(--line);text-align:left}.training-business-table td small,.training-business-table td strong{display:block}.training-dossier-dialog{width:min(940px,calc(100% - 28px))}.training-dossier-head{padding:22px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.training-dossier-head h2{margin:4px 0;font:800 23px Manrope}.training-dossier-head p,.training-dossier-head small{margin:0;color:var(--muted)}.close-training-dossier{border:0;background:transparent;font-size:24px}.training-dossier-alert{padding:14px 22px;display:flex;align-items:center;justify-content:space-between;background:#f3f0ff}.training-dossier-alert strong,.training-dossier-alert small{display:block}.training-dossier-alert button{padding:9px 12px;border:0;border-radius:8px;background:#242529;color:#fff}.training-process{padding:20px 22px;display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}.training-process>div{position:relative;display:flex;gap:8px}.training-process>div:before{content:"";position:absolute;top:14px;left:28px;right:0;height:2px;background:var(--line)}.training-process>div:last-child:before{display:none}.training-process i{z-index:1;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#ececef;font-style:normal}.training-process .done i{background:#daf1e7;color:#24765f}.training-process strong,.training-process small{display:block}.training-process small{color:var(--muted);font-size:10px}.training-dossier-tabs{display:grid;grid-template-columns:1fr 250px}.training-dossier-tabs>section,.training-dossier-tabs>aside{padding:20px 22px}.training-dossier-tabs>aside{border-left:1px solid var(--line);background:var(--surface-2)}.training-participant-table-wrap{margin-top:12px;overflow:auto}.training-participant-table{width:100%;border-collapse:collapse}.training-participant-table th,.training-participant-table td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left}.training-participant-table td small,.training-participant-table td strong{display:block}.training-participant-table .attention{color:#bd523a;font-weight:700}.training-participant-table button{border:0;background:transparent;color:#6258c4;font-weight:700}.training-dossier-tabs dl div{padding:10px 0;border-bottom:1px solid var(--line)}.training-dossier-tabs dt{color:var(--muted);font-size:10px}.training-dossier-tabs dd{margin:3px 0 0;font-weight:700}.training-dossier-actions{padding:15px 22px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line)}@media(max-width:1050px){.training-work-item{grid-template-columns:34px 1fr 130px auto}.training-work-trace{display:none}.training-work-counts{grid-column:2}.training-process{grid-template-columns:repeat(3,1fr);gap:14px}}@media(max-width:700px){.training-stats{grid-template-columns:repeat(2,1fr)}.training-work-item{grid-template-columns:32px 1fr}.training-work-counts,.training-work-item>[data-training-primary]{grid-column:2}.training-dossier-tabs{grid-template-columns:1fr}.training-dossier-tabs>aside{border-left:0;border-top:1px solid var(--line)}.training-process{grid-template-columns:1fr}.training-dossier-actions{flex-wrap:wrap}}
.user-card{grid-template-columns:34px 1fr 32px}
.user-card #themeToggle{width:32px;height:32px;background:transparent}
.user-card #logoutButton{grid-column:1/-1;width:100%;height:38px;margin-top:4px;padding:0 12px;background:#3a3b40;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:10px;font-weight:700}
.user-card #logoutButton:hover{background:#4a4c52}
.logout-label{display:inline}
.logout-icon{font-size:16px}
.auth-proof-mark{width:36px;height:36px;border:1px solid #ffffff2b;border-radius:50%;display:grid;place-items:center;background:#ffffff0d;color:#c0b9ff;font-weight:800}
.auth-panel,.auth-card,.auth-form,.auth-form form,.auth-form label{min-width:0}
.auth-card{width:100%;max-width:390px}
.password-control{position:relative;display:block;width:100%;margin-top:7px}.auth-form label>.password-control{margin-top:7px}.auth-form label>.password-control input,.developer-login-card .password-control input{width:100%;height:44px;margin:0;padding:0 82px 0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);outline:0;font-size:11px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:62px;height:30px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:var(--opella-green,#285e45);font:700 9px "DM Sans",sans-serif;cursor:pointer}.password-toggle:hover{background:color-mix(in srgb,var(--opella-green,#285e45) 8%,transparent)}.password-toggle:focus-visible{outline:2px solid var(--opella-pink,#ee65b7);outline-offset:1px}.password-control input:focus{border-color:#7567e8;box-shadow:0 0 0 3px #7567e81a}
.auth-organization-context{margin:0 0 18px;padding:10px 12px;border-left:3px solid var(--opella-pink,#ee65b7);border-radius:0 8px 8px 0;background:var(--surface-2,#f6f5f3);color:var(--text);font-size:11px;font-weight:700}.auth-field-error{display:none;margin-top:5px;color:#a63d32;font-size:9px;font-weight:700}.auth-field-error.show{display:block}.auth-form [aria-invalid=true]{border-color:#b94c3e!important;box-shadow:0 0 0 3px #b94c3e14!important}.password-requirements{display:block;margin-top:6px;color:var(--muted);font-size:9px;font-weight:500}.password-strength{display:block;height:4px;margin-top:7px;overflow:hidden;border-radius:5px;background:var(--line)}.password-strength i{display:block;width:0;height:100%;border-radius:inherit;background:#b94c3e;transition:width .2s,background .2s}.password-strength[data-score="1"] i{width:25%}.password-strength[data-score="2"] i{width:50%;background:#d69335}.password-strength[data-score="3"] i{width:75%;background:#4c8b74}.password-strength[data-score="4"] i{width:100%;background:#24765f}.auth-gate .auth-status.show,.developer-login-page .auth-status.show{position:static!important;width:100%;max-width:none;margin-top:15px!important;transform:none!important;box-shadow:none;text-align:left}.developer-login-actions span{color:#8b8e91;font-size:9px;text-align:right}
.auth-form>p{font-size:13px}.auth-form label{font-size:12px}.auth-form label>input:not([type=checkbox]),.auth-form label>.password-control input,.auth-form label>select{font-size:14px}.auth-field-help,.password-requirements,.auth-field-error{font-size:11px;line-height:1.45}.auth-switch{font-size:12px}.auth-switch button,.label-row button{font-size:11px;cursor:pointer}.auth-status{font-size:12px}.caps-lock-active .password-control{border-radius:10px;box-shadow:0 0 0 2px #d6933540}
@media(max-width:540px){.auth-panel{padding:20px}.auth-card{width:calc(100vw - 40px);max-width:none}.auth-mobile-brand{margin-bottom:36px}.label-row button{font-size:11px}}
.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-card{padding:22px;display:flex;flex-direction:column;gap:18px}.settings-card label{display:flex;flex-direction:column;gap:7px;color:#55585f;font-size:9px;font-weight:700}.settings-card label small{color:#999ca3;font-weight:500}.settings-card input,.settings-card textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);outline:0;font-size:10px;resize:vertical}.settings-card input:focus,.settings-card textarea:focus{border-color:#7567e8;box-shadow:0 0 0 3px #7567e81a}.settings-card .button{align-self:flex-start}.settings-scale>span{display:block;margin-bottom:8px;color:#55585f;font-size:9px;font-weight:700}.settings-scale>div{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.settings-scale input{min-width:0}.settings-help{margin:0;color:#7f8289;font-size:10px;line-height:1.6}.file-drop{padding:20px;border:1px dashed #c9cbd1;border-radius:11px;background:var(--surface-2);text-align:center;cursor:pointer}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-drop span{color:#7163d9}.csv-preview{padding:13px;border-radius:9px;background:var(--surface-2);color:#7f8289;font-size:9px}.setup-dialog{width:min(560px,calc(100% - 28px));padding:0;border:0;border-radius:18px;box-shadow:0 28px 90px #1114}.setup-dialog::backdrop{background:#17181bd9;backdrop-filter:blur(5px)}.setup-dialog form{padding:30px}.setup-dialog h2{margin:9px 0 7px;font:800 24px Manrope}.setup-dialog>form>p{margin:0 0 23px;color:var(--muted);font-size:10px}.setup-dialog label{font-size:9px;font-weight:700}.setup-dialog label small{display:block;margin:3px 0;color:#999ca3;font-weight:500}.setup-dialog input,.setup-dialog textarea{width:100%;margin-top:7px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;resize:vertical}.setup-note{margin:17px 0;padding:13px;border-radius:10px;background:#f2f0ff;color:#6156c8}.setup-note strong,.setup-note span{display:block;font-size:9px}.setup-note span{margin-top:3px;color:#7770b5;font-size:8px}@media(max-width:820px){.settings-layout{grid-template-columns:1fr}.settings-scale>div{grid-template-columns:1fr}}
.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.job-card{padding:21px}.job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.job-head small{color:#8174e4;font-size:8px;font-weight:700;text-transform:uppercase}.job-head h2{margin:5px 0 0;font:800 16px Manrope}.job-count{padding:5px 8px;border-radius:8px;background:#efedff;color:#7163dc;font-size:7px}.job-card>p{min-height:32px;margin:12px 0 16px;color:#878a91;font-size:9px;line-height:1.5}.job-requirements{border-top:1px solid var(--line)}.job-requirements label{min-height:52px;padding:8px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.job-requirements strong,.job-requirements small{display:block}.job-requirements strong{font-size:9px}.job-requirements small{margin-top:3px;color:#999ca3;font-size:7px}.job-requirements select{max-width:180px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:8px}@media(max-width:820px){.jobs-grid{grid-template-columns:1fr}}
.campaign-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.campaign-summary>div{padding:18px 20px}.campaign-summary>div+div{border-left:1px solid var(--line)}.campaign-summary strong,.campaign-summary span{display:block}.campaign-summary strong{font:800 20px Manrope}.campaign-summary span{margin-top:3px;color:#999ca3;font-size:8px}.campaign-list{display:flex;flex-direction:column;gap:10px}.campaign-card{padding:18px;display:grid;grid-template-columns:1fr minmax(220px,.6fr) auto;align-items:center;gap:24px}.campaign-card h2{margin:7px 0 4px;font:800 14px Manrope}.campaign-card p{margin:0;color:#93969d;font-size:8px}.campaign-status{padding:4px 7px;border-radius:7px;background:#e7f4ef;color:#278066;font-size:7px;font-weight:700}.campaign-status.closed{background:#f0f0f2;color:#777a82}.campaign-progress{display:grid;grid-template-columns:1fr 35px;align-items:center;gap:9px}.campaign-progress>span{height:6px;border-radius:8px;background:#ececef;overflow:hidden}.campaign-progress i{display:block;height:100%;background:#7163d9}.campaign-progress strong{font-size:9px}.campaign-progress small{grid-column:1/-1;color:#999ca3;font-size:7px}.lifecycle-heading{margin:34px 0 14px}.lifecycle-heading h2{margin:5px 0;font:800 22px Manrope}.lifecycle-heading p{margin:0;color:var(--muted)}.lifecycle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lifecycle-card{padding:20px}.lifecycle-card header{display:flex;align-items:center;gap:12px}.lifecycle-card header>span:nth-child(2){min-width:0;flex:1}.lifecycle-card header small,.lifecycle-card header h2,.lifecycle-card header p{display:block;margin:0}.lifecycle-card header small{color:var(--opella-pink,#d94ba7);font-size:9px;font-weight:900;letter-spacing:.08em}.lifecycle-card header h2{margin:3px 0;font:800 16px Manrope}.lifecycle-card header p{color:var(--muted);font-size:11px}.lifecycle-card header>b{color:var(--dark);font:800 18px Manrope}.lifecycle-progress{height:7px;margin:16px 0;border-radius:99px;background:var(--surface-2);overflow:hidden}.lifecycle-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--dark),var(--opella-pink,#ff78d2))}.lifecycle-tasks{display:grid;gap:7px}.lifecycle-tasks label{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.lifecycle-tasks label.done{opacity:.65}.lifecycle-tasks label.done span{text-decoration:line-through}.lifecycle-tasks input{margin-top:2px;accent-color:var(--dark)}.lifecycle-note{margin:12px 0 0;padding:10px;border-left:3px solid var(--opella-pink,#ff78d2);background:var(--surface-2);color:var(--muted);font-size:11px}.campaign-scope-field[hidden]{display:none!important}@media(max-width:900px){#view-evaluations .campaign-summary{grid-template-columns:repeat(2,1fr)}.campaign-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.campaign-summary>div:nth-child(4){border-top:1px solid var(--line)}#view-evaluations .lifecycle-list{grid-template-columns:1fr}}@media(max-width:820px){.campaign-card{grid-template-columns:1fr}.campaign-summary{grid-template-columns:1fr}.campaign-summary>div+div{border-left:0;border-top:1px solid var(--line)}}
.evidence-link{display:inline-block;margin-top:13px;color:#7163d9;font-size:8px;font-weight:700;text-decoration:none}.audit-panel{padding:0 20px}.audit-list>div{min-height:58px;padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px}.audit-mark{width:30px;height:30px;border-radius:9px;background:#e7f4ef;color:#278066;display:grid;place-items:center}.audit-list>div>span:nth-child(2){flex:1}.audit-list strong,.audit-list small{display:block}.audit-list strong{font-size:9px}.audit-list small{margin-top:3px;color:#999ca3;font-size:8px}.audit-list code{color:#777a82;font-size:8px}
.expert-search{padding:17px;margin-bottom:14px}.expert-filters{display:grid;grid-template-columns:1fr 160px 1fr auto;align-items:end;gap:10px}.expert-filters label{display:flex;flex-direction:column;gap:6px;color:#777a82;font-size:8px}.expert-filters select{height:35px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:9px}.expert-filters .check-filter{height:35px;flex-direction:row;align-items:center}.expert-results{display:flex;flex-direction:column;gap:9px}.expert-card{padding:14px 17px;display:grid;grid-template-columns:44px 1fr 90px 150px;align-items:center;gap:12px}.expert-card h2{margin:0 0 3px;font:800 12px Manrope}.expert-card p{margin:0;color:#999ca3;font-size:8px}.expert-level{font-size:8px}.expert-level strong{font-size:15px}.mentor-count{color:#7163d9;font-size:8px}.career-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.career-card{padding:20px}.career-person{display:flex;align-items:center;gap:10px}.career-person h2{margin:0;font:800 13px Manrope}.career-person p{margin:3px 0 0;color:#999ca3;font-size:8px}.career-opportunities{margin-top:16px;border-top:1px solid var(--line)}.career-opportunities>div{padding:13px 0;border-bottom:1px solid var(--line)}.career-opportunities strong,.career-opportunities small{display:block}.career-opportunities strong{font-size:9px}.career-opportunities small{margin-top:2px;color:#7163d9;font-size:7px}.fit-bar{display:block;height:5px;margin:8px 0;border-radius:6px;background:#ececef}.fit-bar i{display:block;height:100%;border-radius:6px;background:#7163d9}.career-opportunities p{color:#8d9097;font-size:8px}.career-opportunities button{padding:0;border:0;background:transparent;color:#7163d9;font-size:8px;font-weight:700}@media(max-width:820px){.expert-filters,.expert-card,.career-grid{grid-template-columns:1fr}.expert-card{align-items:start}}
.avatar{overflow:hidden}.avatar img{width:100%;height:100%;display:block;object-fit:cover}.person-photo-field>input{position:absolute;width:1px;height:1px;opacity:0}.photo-picker{padding:12px;border:1px dashed var(--line);border-radius:11px;background:var(--surface-2);display:grid;grid-template-columns:52px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:12px;cursor:pointer}.photo-picker>span{grid-row:1/3;width:52px;height:52px;border-radius:13px;background:#7163d9;color:#fff;display:grid;place-items:center;font-size:20px;overflow:hidden}.photo-picker img{width:100%;height:100%;object-fit:cover}.photo-picker strong{align-self:end;font-size:9px}.photo-picker small{align-self:start;color:#999ca3;font-size:7px}
.person-card{min-width:0;display:flex;flex-direction:column}.person-card-top{min-height:44px;align-items:flex-start}.person-card .avatar.large,.profile-identity .avatar.large{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;display:inline-grid;overflow:hidden}.person-card .avatar img,.profile-identity .avatar img{width:44px;height:44px;max-width:44px;max-height:44px;object-fit:cover}.person-card h3,.person-card>p{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-card .profile-score{width:100%}.person-card .talent-tags{width:100%}.person-card .card-action{margin-top:auto}
.team-builder{display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px}.team-builder label{margin:0}.team-chips{display:flex;flex-wrap:wrap;gap:7px;min-height:12px}.team-chips>span{padding:7px 8px 7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);display:flex;align-items:center;gap:8px;font-size:8px;font-weight:700}.team-chips button{width:18px;height:18px;padding:0;border:0;border-radius:5px;background:#fff;color:#a64e43}.data-management-card{grid-column:1/-1}.data-management{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.data-management details{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);overflow:hidden}.data-management summary{padding:11px 13px;cursor:pointer;display:flex;justify-content:space-between;font-size:9px;font-weight:800}.data-management summary b{padding:2px 7px;border-radius:10px;background:var(--surface);color:#7163d9}.data-management details>div{padding:0 12px 9px}.management-row{min-height:38px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.management-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.management-row i{display:flex;gap:5px;font-style:normal}.management-row button{padding:4px 6px;border:0;background:transparent;color:#7163d9;font-size:7px;font-weight:700}.management-row .danger-link{color:#c25749}.data-management details small{color:#999ca3;font-size:8px}@media(max-width:700px){.team-builder,.data-management{grid-template-columns:1fr}.team-builder .button{width:100%;justify-content:center}}

/* Échelle typographique lisible pour l’ensemble de l’application */
body{font-size:14px;line-height:1.5}.nav-item{font-size:14px}.nav-label,.eyebrow,.mini-pill,.workspace-switch small{font-size:11px}.workspace-switch strong{font-size:13px}.page-heading h1{font-size:30px}.page-heading p,.settings-help{font-size:14px;line-height:1.6}.button,.segmented button,.input-search input,select,input,textarea,label{font-size:13px}.button{min-height:38px}.top-title strong{font-size:13px}.top-title small,.breadcrumb{font-size:11px}.kpi-card small,.kpi-card p,.panel-head p,.empty{font-size:12px}.person-card h3,.skill-card h3,.cert-card h3{font-size:16px}.person-card>p,.skill-card p,.cert-card>p{font-size:12px}.availability,.criticality,.category-label,.campaign-status,.cert-status{font-size:11px}.profile-score strong,.skill-metrics strong{font-size:15px}.profile-score small,.skill-metrics small,.talent-tags span{font-size:11px}.card-action,.evidence-link{font-size:12px}.matrix-table th{font-size:11px}.matrix-table td,.person-cell strong,.person-cell small,.target-note{font-size:12px}.plan-main strong,.plan-main p,.plan-main small,.due,.plan-progress b{font-size:12px}.recommendation-list strong,.recommendation-list small{font-size:12px}.cert-meta small{font-size:10px}.cert-meta strong{font-size:12px}.profile-identity p,.profile-overview small,.profile-skill-list strong,.profile-side-list strong,.profile-level b{font-size:12px}.profile-skill-list small,.profile-side-list small{font-size:11px}.job-card h2,.campaign-card h2,.expert-card h2,.career-person h2{font-size:16px}.job-card p,.job-requirements strong,.job-requirements small,.campaign-card p,.campaign-progress small,.expert-card p,.expert-level,.mentor-count,.career-person p,.career-opportunities strong,.career-opportunities small,.career-opportunities p,.career-opportunities button{font-size:12px}.settings-card label,.file-drop,.csv-preview{font-size:13px}.team-chips>span,.data-management summary,.management-row strong,.management-row button,.data-management details small{font-size:12px}.audit-list strong{font-size:12px}.audit-list small,.audit-list code{font-size:11px}.dialog-head h2{font-size:20px}.dialog-head p,.form-grid small{font-size:12px}.toast{font-size:13px}@media(max-width:820px){.page-heading h1{font-size:26px}.main-content{padding:22px 18px}}
.matrix-table button.target-note{width:auto;height:auto;padding:2px 4px;margin:4px auto 0;border:0;border-radius:5px;background:transparent;color:#7770c9;cursor:pointer;font-weight:700}.matrix-table button.target-note:hover{background:#eeebff;color:#5749c5}
.entity-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.entity-actions button{min-height:34px;padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:#5e55bd;cursor:pointer;font-size:11px;font-weight:700}.entity-actions button:hover{border-color:#bdb5f3;background:#f0edff}.entity-actions button.danger-link{color:#b84f43}.entity-actions button.danger-link:hover{border-color:#efb6af;background:#fff0ee}
.readiness-content.no-measures{display:block}.readiness-content.no-measures .donut{display:none}.readiness-content.no-measures .coverage-list{width:100%}.dashboard-empty{min-height:150px;display:grid;place-content:center;gap:6px}.dashboard-empty strong,.dashboard-empty span{display:block}.dashboard-empty strong{color:var(--text);font-size:15px}.dashboard-empty span{max-width:360px;font-size:12px;line-height:1.6}
.matrix-duplicate{display:block;width:auto;height:auto;margin:5px auto 0;padding:2px 5px;border:0;border-radius:5px;background:#f0edff;color:#6258c4;cursor:pointer;font-size:9px;font-weight:700;opacity:0;pointer-events:none;transform:translateY(-2px);transition:.18s}.matrix-duplicate.person-copy{margin:0 0 0 auto;white-space:nowrap}.matrix-table th:hover .matrix-duplicate,.person-cell:hover .matrix-duplicate,.matrix-duplicate:focus-visible{opacity:1;pointer-events:auto;transform:none}.matrix-duplicate:hover{background:#ded8ff}@media(max-width:540px){.entity-actions{grid-template-columns:1fr}}
.toast{top:50%;right:auto;bottom:auto;left:50%;width:max-content;max-width:min(520px,calc(100% - 32px));padding:13px 18px;text-align:center;box-shadow:0 12px 35px rgba(20,21,24,.22);transform:translate(-50%,-50%) scale(.96)}.toast.show{transform:translate(-50%,-50%) scale(1)}
.toast,.auth-status.show{position:fixed!important;z-index:500!important;top:50%!important;right:auto!important;bottom:auto!important;left:50%!important;width:max-content;max-width:min(520px,calc(100% - 32px));margin:0!important;padding:13px 18px;text-align:center;box-shadow:0 14px 42px rgba(20,21,24,.25);transform:translate(-50%,-50%)!important}.toast{pointer-events:none}.auth-status.show{pointer-events:auto}
.dialog-toast{position:absolute;z-index:20;right:22px;bottom:67px;left:22px;padding:12px 15px;border:1px solid #e6a19a;border-radius:9px;background:#fff1ef;color:#9f3028;font-size:12px;font-weight:700;text-align:center;box-shadow:0 10px 30px rgba(82,28,22,.18);opacity:0;transform:translateY(7px);pointer-events:none;transition:.18s}.dialog-toast.show{opacity:1;transform:none}
#trainingForm label:has(>[required])::before,#groupTrainingForm label:has(>[required])::before,#trainingValidationForm label:has(>[required])::before{content:"* ";color:#c53f35;font-weight:900}.required-participants>strong::before{content:"* ";color:#c53f35}.form-required-note{margin:0;padding:8px 10px;border-left:3px solid #c53f35;border-radius:0 7px 7px 0;background:#fff3f1;color:#7f3832;font-size:11px}.form-required-note b{color:#c53f35}.training-blockers{display:block!important;margin-top:4px!important;color:#b64236!important;font-weight:700!important}
.danger-dialog-icon{background:#ffebe7;color:#b84f43;font-weight:800}.button.danger-button{background:#b84f43;border-color:#b84f43;color:#fff}
.matrix-person-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.matrix-person-actions .matrix-duplicate{margin:0}
.matrix-person-actions .matrix-delete{background:#fff0ee;color:#b84f43}.matrix-person-actions .matrix-delete:hover{background:#ffded9}
.skill-trainer{display:block;margin-top:7px;color:#5f65a8;font-size:11px;font-weight:700}
.evaluation-approval-note{padding:10px 12px;border-radius:9px;font-size:12px;line-height:1.5}.evaluation-approval-note.pending{border:1px solid #f1d39a;background:#fff5df;color:#8d651d}.evaluation-approval-note.validated{border:1px solid #bfe1d4;background:#eaf7f2;color:#267b62}.pending-note{display:block;width:max-content;margin:4px auto 0;padding:2px 5px;border-radius:5px;background:#fff2d9;color:#9b6818;font-size:9px;font-weight:800}
.matrix-table td:not(.sticky){position:relative}.matrix-table button.target-note{position:absolute;z-index:2;top:4px;right:4px;margin:0;padding:3px 5px;background:#f0edff;opacity:0;pointer-events:none;transform:translateY(-2px);transition:.16s;font-size:9px}.matrix-table td:hover button.target-note,.matrix-table button.target-note:focus-visible{opacity:1;pointer-events:auto;transform:none}.expiry-note{display:block;width:max-content;margin:4px auto 0;padding:2px 5px;border-radius:5px;font-size:9px;font-weight:800}.expiry-note.expiring{background:#fff2d9;color:#95651d}.expiry-note.expired{background:#ffebe7;color:#b84f43}
.matrix-table th:not(.person-col),.matrix-table td:not(.sticky){min-width:105px}.matrix-table button.target-note{top:auto;right:5px;bottom:5px;min-width:25px;padding:2px 4px;border:1px solid #ded9ff;border-radius:6px;line-height:1.2;transform:translateY(2px)}.matrix-table td:hover button.target-note,.matrix-table button.target-note:focus-visible{transform:none}.editable-level{position:relative;z-index:1}
.matrix-table button.target-note{opacity:.38;pointer-events:auto;transform:none;background:#f7f6ff;color:#776fc0;border-color:#e8e4ff}.matrix-table td:hover button.target-note,.matrix-table button.target-note:hover,.matrix-table button.target-note:focus-visible{opacity:1;background:#eeebff;color:#5749c5}
.matrix-panel .table-scroll{max-height:calc(100vh - 245px);min-height:260px;overflow:auto;overscroll-behavior:contain}.matrix-table thead th{position:sticky;top:0;z-index:6;box-shadow:0 1px 0 var(--line);background:var(--surface)}.matrix-table thead th.sticky{left:0;z-index:8}.matrix-table tbody td.sticky{z-index:4}
.print-note{padding:12px;border:1px solid #d9d5f5;border-radius:10px;background:#f5f3ff}.print-note strong,.print-note span{display:block}.print-note strong{font-size:13px}.print-note span{margin-top:4px;color:#777a82;font-size:12px;line-height:1.5}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sidebar,.topbar,#view-matrix .heading-actions,#view-matrix .toolbar,#view-matrix .matrix-legend,#view-matrix .table-foot,.matrix-duplicate,.matrix-drag-handle,.target-note,.toast{display:none!important}.shell{margin:0!important}.main-content{max-width:none!important;padding:0!important}body{background:#fff!important}body .view{display:none!important}body #view-matrix{display:block!important}.page-heading{margin-bottom:12px!important}.matrix-panel{border:0!important;overflow:visible!important}.matrix-panel .table-scroll{max-height:none!important;min-height:0!important;overflow:visible!important}.matrix-table{min-width:0!important;width:100%!important}.matrix-table th,.matrix-table td{min-width:0!important;padding:4px 5px!important}.matrix-table thead th,.matrix-table .sticky{position:static!important}.matrix-table tr{break-inside:avoid}.matrix-table th{height:48px!important}.matrix-table td{height:46px!important}.person-col{width:180px!important}}
.matrix-drag-handle{width:18px;height:30px;display:grid;place-items:center;border-radius:6px;color:#b2b4ba;cursor:grab;font-size:13px;letter-spacing:-3px;user-select:none}.matrix-drag-handle:hover{background:var(--surface-2);color:#7163d9}.matrix-drag-handle:active{cursor:grabbing}.matrix-table tr.dragging{opacity:.45}.matrix-table tr.dragging td{background:#efedff!important}
.matrix-drag-handle.disabled{opacity:.28;cursor:not-allowed}
.person-summary{min-width:0;flex:1}.matrix-person-menu{position:relative;margin-left:auto}.matrix-person-menu summary{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#858891;cursor:pointer;list-style:none;font-weight:900}.matrix-person-menu summary::-webkit-details-marker{display:none}.matrix-person-menu summary:hover,.matrix-person-menu[open] summary{background:var(--surface-2);color:#6258c4}.matrix-person-menu>div{position:absolute;z-index:20;top:34px;right:0;width:150px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 30px #15161a26}.matrix-person-menu button{width:100%;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left;font-size:11px;cursor:pointer}.matrix-person-menu button:hover{background:var(--surface-2)}.matrix-person-menu button.danger-link{color:#b84f43}
.matrix-person-menu-trigger{flex:0 0 32px;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#777b85;font-weight:900;cursor:pointer}.matrix-person-menu-trigger:hover,.matrix-person-menu-trigger[aria-expanded="true"]{background:var(--surface-2);color:#6258c4}.matrix-person-floating-menu{position:fixed;z-index:600;width:205px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 18px 48px #15161a38}.matrix-person-floating-menu[hidden]{display:none}.matrix-person-floating-menu button{display:block;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;font-size:12px;cursor:pointer}.matrix-person-floating-menu button:hover{background:var(--surface-2)}.matrix-person-floating-menu button.danger-link{color:#b84f43}.job-sheet-dialog{width:min(620px,calc(100vw - 28px))}.job-sheet-body{padding:22px}.job-sheet-body h2{margin:4px 0 6px;font-size:25px}.job-sheet-body>p{color:var(--muted);line-height:1.6}.job-sheet-meta{display:flex;gap:8px;margin:12px 0 20px}.job-sheet-meta span,.job-requirement{border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.job-sheet-meta span{padding:7px 10px;font-size:12px}.job-requirements{display:grid;gap:8px;margin-top:10px}.job-requirement{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px}.job-requirement b{white-space:nowrap;color:#6258c4}
.profile-head-actions{display:flex;align-items:center;gap:8px}.profile-head-actions .button{white-space:nowrap}.profile-level button{padding:5px 7px;border:0;border-radius:7px;background:#ebe8ff;color:#5f55bd;font-size:9px;font-weight:800;cursor:pointer}.profile-level button:hover{background:#ddd8ff}.person-print-head{display:flex;align-items:center;gap:16px;padding-bottom:8mm;border-bottom:2px solid #292a2e}.person-print-head img,.person-print-head>span{width:18mm;height:18mm;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#6258c4;color:#fff;font-weight:800}.person-print-head h1{margin:2mm 0 1mm!important}.print-sheet section{margin-top:8mm}.print-sheet section h2{padding-bottom:2mm;border-bottom:1px solid #ccc}.print-sheet section p{padding:2mm 0;border-bottom:1px solid #eee}
.print-sheet{max-width:100%}.print-sheet table{table-layout:fixed;font-size:9px}.print-sheet th,.print-sheet td{height:auto!important;padding:5px!important;overflow-wrap:anywhere;vertical-align:top}.target-note.undefined{opacity:.45}.target-note.undefined:hover{opacity:1}
.sidebar-insight{flex:0 0 auto;max-width:100%;padding:11px 12px;overflow:hidden}.sidebar-insight .mini-pill{font-size:8px;line-height:1;letter-spacing:1px}.sidebar-insight strong{margin-top:8px;font-size:11px;line-height:1.35}.sidebar-insight p{margin:4px 0 7px;font-size:9px;line-height:1.4}.sidebar-insight button{font-size:9px;line-height:1.3}@media(max-height:780px){.sidebar-insight p,.sidebar-insight button{display:none}.sidebar-insight{padding:9px 11px}.sidebar-insight strong{margin-top:6px}}
.attendance-dialog{width:min(900px,calc(100vw - 28px))}.attendance-content{padding:20px 22px}.attendance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px}.attendance-summary span{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.attendance-summary strong,.attendance-summary small{display:block}.attendance-summary strong{font:800 20px Manrope}.attendance-summary small{color:var(--muted)}.attendance-rows{display:grid;gap:8px}.attendance-rows article{padding:10px;border:1px solid var(--line);border-radius:11px;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:12px}.attendance-rows article>span:first-child{display:flex;align-items:center;gap:9px}.attendance-rows strong,.attendance-rows small{display:block}.attendance-rows small{color:var(--muted)}.signature-status{padding:6px 9px;border-radius:14px;font-size:11px;font-weight:800}.signature-status.signed{background:#e7f5ef;color:#267b62}.signature-status.pending{background:#fff3dc;color:#94651c}.signature-status.absent{background:#ffebe7;color:#b84f43}.attendance-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.attendance-actions button{padding:7px 8px;border:0;border-radius:7px;background:#ebe8ff;color:#5f55bd;font-size:10px;font-weight:800;cursor:pointer}.attendance-actions button:disabled{opacity:.4;cursor:not-allowed}.training-archive-note{margin:10px 0;padding:9px;border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:10px}.training-actions{grid-template-columns:repeat(4,1fr)}.signature-dialog{width:min(720px,calc(100vw - 24px))}.signature-body{padding:20px 22px;display:grid;gap:13px}.signature-body label{display:grid;gap:7px;font-weight:700}.signature-body input[type=text],.signature-body input:not([type]){padding:11px;border:1px solid var(--line);border-radius:9px}.signature-body canvas{width:100%;height:auto;aspect-ratio:700/240;border:2px dashed #b9bac0;border-radius:12px;background:#fff;touch-action:none}.signature-consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}.print-signature{display:block;width:90px;max-height:35px;object-fit:contain}@media(max-width:760px){.attendance-rows article{grid-template-columns:1fr}.attendance-actions{justify-content:flex-start}.attendance-summary{grid-template-columns:1fr 1fr 1fr}.training-actions{grid-template-columns:1fr 1fr}}
.skill-training-archive{width:100%;margin:0 0 13px;padding:10px 11px;border:1px solid #d9d5f5;border-radius:9px;background:#f5f3ff;color:#5f55bd;text-align:left;cursor:pointer}.skill-training-archive strong,.skill-training-archive small{display:block}.skill-training-archive small{margin-top:3px;color:#7770b5}.training-archive-list{display:grid;gap:8px}.training-archive-list article{padding:12px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px}.training-archive-list strong,.training-archive-list small{display:block}.training-archive-list small{margin-top:3px;color:var(--muted)}.training-archive-list button{padding:8px;border:0;border-radius:8px;background:#ebe8ff;color:#5f55bd;font-weight:800;cursor:pointer}@media(max-width:650px){.training-archive-list article{grid-template-columns:1fr}.training-archive-list .training-status{justify-self:start}}
.matrix-level-button,.matrix-score{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.matrix-level-button{position:relative;min-width:58px;min-height:46px}.level-ring{width:34px;height:34px;margin:auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#9a90eb calc(var(--target)*25%),#eceaf7 0);position:relative}.level-ring:before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--surface)}.level-ring .level{position:relative;z-index:1}.cell-gap{position:absolute;top:0;right:0;color:#bd6747;font-size:9px;font-weight:900}.matrix-skill-cell:not(.has-gap) .cell-gap{color:#3c8a70}.cell-status{position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-radius:50%;background:#c9cbd0}.cell-status.validated{background:#32a47e}.cell-status.pending,.cell-status.expiring{background:#e6a13b}.cell-status.expired{background:#d65d50}.matrix-score{min-width:65px}.matrix-score small{display:block;margin-top:4px;color:#999ca3;font-size:9px}.matrix-score:hover strong{color:#6258c4}
.matrix-detail-dialog{width:min(620px,calc(100% - 24px));max-width:none;margin:auto 0 auto auto;height:100%;max-height:100%;border:0;border-left:1px solid var(--line);border-radius:0;padding:0;background:var(--surface);color:var(--text)}.matrix-detail-dialog::backdrop{background:#17181b66}.matrix-detail-dialog>div{min-height:100%;padding:26px}.matrix-detail-head{display:flex;justify-content:space-between;gap:18px}.matrix-detail-head>div{display:flex;align-items:center;gap:13px}.matrix-detail-head h2{margin:2px 0;font:800 22px Manrope}.matrix-detail-head p,.matrix-detail-head small{margin:0;color:#8f9299;font-size:12px}.matrix-detail-close{width:36px;height:36px;border:0;border-radius:10px;background:var(--surface-2);color:var(--text);font-size:22px;cursor:pointer}.matrix-detail-levels{margin:24px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.matrix-detail-levels>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.matrix-detail-levels span,.matrix-detail-levels small{display:block;color:#8f9299;font-size:11px}.matrix-detail-levels strong{display:inline-grid;margin:8px 0 4px;font-size:22px}.matrix-detail-levels .has-gap strong{color:#bd6747}.matrix-detail-levels .target-reached strong{color:#278066}.matrix-detail-status{padding:16px;border:1px solid var(--line);border-radius:12px}.detail-status{display:inline-block;padding:5px 9px;border-radius:15px;background:#eef0f2;color:#666;font-size:11px;font-weight:800}.detail-status.valid{background:#e7f5ef;color:#267b62}.detail-status.pending,.detail-status.expiring{background:#fff3dc;color:#94651c}.detail-status.expired{background:#ffebe7;color:#b84f43}.matrix-detail-status dl{margin:15px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:13px}.matrix-detail-status dl div{min-width:0}.matrix-detail-status dt{color:#9699a0;font-size:10px}.matrix-detail-status dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px;font-weight:700}.matrix-detail-history{margin-top:21px}.matrix-detail-history h3{font:800 14px Manrope}.matrix-detail-history>div{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.matrix-detail-history>div span{font-weight:800}.matrix-detail-history p{margin:0;color:#8f9299;font-size:11px}.matrix-detail-actions{position:sticky;bottom:0;margin:24px -26px -26px;padding:16px 26px;border-top:1px solid var(--line);background:var(--surface);display:flex;justify-content:flex-end;gap:8px}@media(max-width:620px){.matrix-detail-dialog{width:100%}.matrix-detail-levels{grid-template-columns:1fr}.matrix-detail-status dl{grid-template-columns:1fr}}
.matrix-summary{padding:12px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:var(--surface-2)}.matrix-summary>div{padding:8px 10px;border-radius:9px;background:var(--surface)}.matrix-summary strong,.matrix-summary span{display:block}.matrix-summary strong{font:800 17px Manrope}.matrix-summary span{margin-top:2px;color:#92959b;font-size:10px}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:820px){.matrix-summary{grid-template-columns:repeat(2,1fr)}.toolbar-actions select{flex:1;min-width:145px}}
.button.approve-button{background:#e7f5ef;border-color:#b9dfd1;color:#267b62}.expiry-note.urgent{background:#ffebe7;color:#b84f43}.expiry-note.soon{background:#fff2d9;color:#95651d}.expiry-note.watch{background:#eef2ff;color:#5c65a4}
.matrix-compact .matrix-table td{height:51px;padding-top:3px;padding-bottom:3px}.matrix-compact .matrix-table th{height:56px}.matrix-compact .matrix-table .avatar,.matrix-audit .matrix-table .avatar{display:none}.matrix-compact .level-ring{width:30px;height:30px}.matrix-compact .pending-note,.matrix-compact .expiry-note{position:absolute;left:4px;bottom:4px;font-size:8px}.matrix-audit .matrix-table td{height:43px;padding:3px 8px}.matrix-audit .matrix-table th{height:48px}.matrix-audit .matrix-drag-handle,.matrix-audit .matrix-person-menu-trigger{display:none}.matrix-audit .level-ring{width:27px;height:27px;background:none}.matrix-audit .level-ring:before{display:none}.matrix-audit .level-ring .level{width:25px;height:25px}.matrix-audit .pending-note,.matrix-audit .expiry-note{display:none}@media print{.matrix-person-menu,.matrix-person-menu-trigger,.matrix-person-floating-menu,.matrix-detail-dialog{display:none!important}}
.matrix-compact .matrix-table td{height:58px;padding:4px 8px}.matrix-compact .matrix-skill-cell{min-width:82px}.matrix-compact .matrix-level-button{min-width:46px;min-height:40px}.matrix-compact .cell-gap,.matrix-compact .pending-note,.matrix-compact .expiry-note{display:none}.matrix-compact .matrix-table button.target-note{top:3px;right:4px;bottom:auto;min-width:23px;padding:1px 3px;font-size:8px;line-height:1.25}.matrix-compact .cell-status{right:auto;bottom:6px;left:6px;width:6px;height:6px}.matrix-compact .matrix-score small{display:none}.matrix-compact .mini-progress{margin-top:4px}.matrix-compact .person-cell{gap:7px}.matrix-compact .person-summary strong,.matrix-compact .person-summary small{max-width:130px}
.matrix-columns-list{max-height:55vh;overflow:auto}.matrix-column-row{min-height:52px;padding:8px 3px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.matrix-column-row label{display:flex;align-items:center;gap:9px;cursor:pointer}.matrix-column-row label span,.matrix-column-row strong,.matrix-column-row small{display:block}.matrix-column-row small{margin-top:2px;color:#92959b;font-size:10px}.matrix-column-row>span{display:flex;gap:5px}.matrix-column-row button{width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--text);cursor:pointer}.matrix-column-row button:disabled{opacity:.25}.heading-actions select.button{padding-right:30px}
.matrix-person-check,.matrix-select-all input{accent-color:#7163d9}.matrix-table tr.selected td{background:#f4f2ff}.matrix-table tr.selected td.sticky{background:#f4f2ff}.matrix-select-all{display:flex;align-items:center;gap:8px;font-weight:800}.matrix-bulk-bar{padding:10px 18px;border-bottom:1px solid #d8d3f6;background:#f2efff;display:flex;align-items:center;gap:8px}.matrix-bulk-bar[hidden]{display:none}.matrix-bulk-bar strong{margin-right:auto;color:#5d52bd;font-size:12px}
.undo-notice{position:fixed;z-index:510;top:50%;left:50%;padding:12px 12px 12px 16px;border:1px solid #d9d5f5;border-radius:12px;background:var(--surface);box-shadow:0 14px 42px #15161a35;display:flex;align-items:center;gap:16px;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transition:.18s}.undo-notice.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.undo-notice span{font-size:13px;font-weight:700}.undo-notice button{padding:7px 10px;border:0;border-radius:8px;background:#eeeaff;color:#5e54bd;font-weight:800;cursor:pointer}
.matrix-mobile{display:none}@media(max-width:700px){#view-matrix .table-scroll{display:none}.matrix-mobile{padding:12px;display:grid;gap:12px}.matrix-mobile-person{border:1px solid var(--line);border-radius:13px;background:var(--surface);overflow:hidden}.matrix-mobile-person>div:first-child{padding:13px;display:flex;align-items:center;gap:10px;background:var(--surface-2)}.matrix-mobile-person>div:first-child span,.matrix-mobile-person>div:first-child strong,.matrix-mobile-person>div:first-child small{display:block}.matrix-mobile-person>div:first-child small{color:#92959b}.matrix-mobile-person>div:last-child{padding:5px 12px}.matrix-mobile-person button{width:100%;min-width:0;padding:11px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);display:grid;grid-template-columns:minmax(0,1fr) 32px 32px minmax(78px,auto);align-items:center;gap:8px;text-align:left}.matrix-mobile-person button>*{min-width:0}.matrix-mobile-person button>span:first-child strong,.matrix-mobile-person button>span:first-child small{display:block}.matrix-mobile-person button>span:first-child small,.matrix-mobile-person button>small{color:#92959b;font-size:10px}.mobile-skill-level{box-sizing:border-box;width:32px;height:32px;min-width:32px;min-height:32px;aspect-ratio:1;border-radius:8px;display:grid;place-items:center;justify-self:center;text-align:center;line-height:1;font-weight:800;flex:none}.matrix-mobile-person .avatar{box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;aspect-ratio:1;flex:0 0 36px;object-fit:cover}.mobile-gap{color:#b85d43;font-weight:800}.mobile-reached{color:#278066;font-weight:800}.matrix-summary{grid-template-columns:1fr 1fr}.matrix-bulk-bar{align-items:stretch;flex-direction:column}.matrix-bulk-bar strong{margin:0}.heading-actions{overflow-x:auto;flex-wrap:nowrap}.heading-actions .button{flex:none}}

/* Responsivité typographique : aucun libellé comprimé ou superposé */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-size:clamp(13px,.2vw + 11px,15px)}button,input,select,textarea{font:inherit}.shell,.main-content,.view,.panel,.page-heading>div,.toolbar>*{min-width:0}.page-heading h1{font-size:clamp(24px,1.45vw + 10px,32px);line-height:1.15;overflow-wrap:anywhere}.page-heading p{font-size:clamp(12px,.22vw + 10px,14px);line-height:1.55;overflow-wrap:anywhere}.button,.segmented button,.toolbar select,.input-search input{font-size:clamp(11px,.18vw + 9px,13px);white-space:nowrap}.button{height:auto;min-height:38px;line-height:1.2}.heading-actions{max-width:100%;flex-wrap:wrap;justify-content:flex-end}.toolbar{height:auto;padding-block:12px;align-items:flex-start;flex-wrap:wrap}.toolbar-actions{min-width:min(100%,560px);flex:1}.toolbar-actions .input-search{flex:1 1 180px}.toolbar-actions .input-search input{width:100%}.toolbar-actions select{flex:1 1 145px;max-width:220px}.segmented{max-width:100%;overflow-x:auto}.segmented button{flex:0 0 auto}.matrix-table th{line-height:1.3}.matrix-table th:not(.person-col){width:clamp(105px,8vw,145px);max-width:145px;white-space:normal;overflow-wrap:anywhere}.matrix-table th small{white-space:normal}.person-summary strong,.person-summary small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}.matrix-summary{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.dialog-head h2{font-size:clamp(17px,1vw + 10px,21px);line-height:1.25}.dialog-head p,.form-grid label{line-height:1.45;overflow-wrap:anywhere}
@media(max-width:1250px){.main-content{padding:26px 24px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.heading-actions{width:100%;justify-content:flex-start}.toolbar{flex-direction:column}.toolbar-actions{width:100%;justify-content:flex-start}.dashboard-grid,.plans-layout{grid-template-columns:1fr}.activity-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:820px){.topbar{height:62px;padding-inline:16px}.main-content{padding:20px 15px}.page-heading{margin-bottom:18px}.heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.heading-actions .button,.heading-actions select.button{width:100%;min-width:0;justify-content:center}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.toolbar-actions .input-search{grid-column:1/-1}.toolbar-actions select{width:100%;max-width:none;min-width:0}.matrix-legend{padding-block:9px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1 1 140px;justify-content:center}}
@media(max-width:520px){.heading-actions,.toolbar-actions{grid-template-columns:1fr}.toolbar-actions .input-search{grid-column:auto}.segmented{width:100%}.page-heading h1{font-size:24px}.matrix-summary{grid-template-columns:1fr 1fr}.matrix-summary span{font-size:11px}.matrix-mobile-person button{grid-template-columns:minmax(0,1fr) 32px 32px}.matrix-mobile-person button>small{grid-column:1/-1}.undo-notice{width:calc(100% - 28px);justify-content:space-between}.dialog-head,.form-grid,.dialog-actions{padding-inline:16px}}
.auth-loading{display:none;position:fixed;z-index:300;inset:0;background:#f7f7f6;color:#202124;place-content:center;place-items:center;text-align:center}.auth-pending .auth-loading{display:grid}.auth-pending .auth-gate{visibility:hidden}.auth-loading>div{display:flex;align-items:center;justify-content:center;gap:11px;font:800 22px Manrope}.auth-loading .brand-mark{box-shadow:0 8px 24px #20212418}.auth-loading-spinner{width:34px;height:34px;margin:28px auto 15px;border:3px solid #e5e3f4;border-top-color:#7163d9;border-radius:50%;animation:kartence-spin .75s linear infinite}.auth-loading p{margin:0;color:#777a82;font-size:13px;font-weight:600}@keyframes kartence-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-loading-spinner{animation-duration:1.8s}}
.skill-documents{margin:14px 0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.skill-documents>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.skill-documents>div strong{font-size:12px}.skill-documents button{padding:4px 6px;border:0;border-radius:6px;background:#ebe8ff;color:#5f55bd;font-size:10px;font-weight:700;cursor:pointer}.skill-documents>span{padding:8px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:2px 8px}.skill-documents>span:first-of-type{margin-top:8px}.skill-documents a{color:#5f55bd;font-size:11px;font-weight:700;text-decoration:none}.skill-documents small{color:#93969d;font-size:9px}.skill-documents i{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:4px;font-style:normal}.skill-documents i button:last-child{color:#b84f43;background:#fff0ee}.skill-documents>p{margin:8px 0 0;min-height:0;font-size:10px}.training-stats{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.training-stats>div{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.training-stats strong,.training-stats span{display:block}.training-stats strong{font:800 20px Manrope}.training-stats span{color:#92959b;font-size:11px}.training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:13px}.training-card{padding:18px}.training-card-head{display:flex;justify-content:space-between;color:#92959b;font-size:11px}.training-status{padding:4px 8px;border-radius:12px;font-weight:800}.training-status.planned{background:#fff2d9;color:#95651d}.training-status.completed{background:#e7f5ef;color:#267b62}.training-status.cancelled{background:#ffebe7;color:#b84f43}.training-card h2{margin:14px 0 4px;font:800 17px Manrope}.training-card>p{color:#85888f;font-size:12px}.training-objective{margin:14px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.training-objective>span{padding:9px;border-radius:9px;background:var(--surface-2)}.training-objective small,.training-objective strong{display:block}.training-objective small{color:#92959b;font-size:8px}.training-objective strong{margin-top:4px;font-size:12px}.attendance-list{border-top:1px solid var(--line)}.attendance-list>span{padding:8px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 100px 82px;align-items:center;gap:8px}.attendance-list strong,.attendance-list small{font-size:10px}.attendance-list small{color:#92959b}.attendance-list select{height:30px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:10px}.participant-picker{max-height:240px;margin-top:7px;padding:7px;border:1px solid var(--line);border-radius:9px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:5px}.participant-picker label{padding:7px;border-radius:8px;background:var(--surface-2);display:grid;grid-template-columns:auto 34px 1fr;align-items:center;gap:7px}.participant-picker label small{display:block;color:#92959b}.matrix-training-goal{margin:0 0 16px;padding:12px;border:1px solid #d9d5f5;border-radius:10px;background:#f5f3ff}.matrix-training-goal strong,.matrix-training-goal span{display:block}.matrix-training-goal span{margin-top:4px;color:#696d75;font-size:11px}.print-sheet{display:none}@media print{body.printing-sheet>*:not(.print-sheet){display:none!important}body.printing-sheet .print-sheet{display:block!important;padding:10mm;color:#111;background:#fff}.print-sheet h1{font:800 24px Manrope}.print-sheet h2{font:800 18px Manrope}.print-sheet dl{display:grid;grid-template-columns:180px 1fr}.print-sheet dt,.print-sheet dd{margin:0;padding:9px;border-bottom:1px solid #ddd}.print-sheet dt{font-weight:800}.print-sheet table{width:100%;border-collapse:collapse}.print-sheet th,.print-sheet td{height:38px;padding:7px;border:1px solid #bbb;text-align:left}.print-sheet th{background:#eee}}@media(max-width:700px){.training-stats{grid-template-columns:1fr 1fr}.participant-picker{grid-template-columns:1fr}.attendance-list>span{grid-template-columns:1fr 95px}.attendance-list>span small{grid-column:1/-1}}
.sidebar .nav{min-height:0;overflow-y:auto;scrollbar-width:thin}
.participant-section>strong{font-size:12px}
.participant-section>input[type=search]{width:100%;margin:10px 0;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);outline:0}.participant-section>input[type=search]:focus{border-color:#7163d9;box-shadow:0 0 0 3px #7163d91a}.training-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.public-signing .auth-loading,.public-signing .auth-gate,.public-signing .sidebar,.public-signing .shell{display:none!important}.public-signing{min-height:100vh;background:#f4f3fa}.public-signing .signature-dialog{box-shadow:0 28px 90px #24262b2b}.public-signature-success{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:30px;text-align:center;background:#f4f3fa}.public-signature-success .brand-mark{width:54px;height:54px;font-size:22px}.public-signature-success h1{margin:20px 0 8px;font:800 clamp(28px,5vw,42px) Manrope}.public-signature-success p{max-width:520px;color:#6e7178;font-size:15px;line-height:1.6}
.attendance-signature-proof{display:grid;justify-items:start;gap:5px;min-width:190px}.attendance-signature-proof img{width:130px;height:46px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#fff;object-fit:contain}.attendance-signature-proof small{color:var(--muted);font-size:9px}.attendance-rows article>span:first-child>span{min-width:0}.attendance-rows article>span:first-child small{overflow-wrap:anywhere}
.attendance-summary{grid-template-columns:repeat(4,1fr)}.attendance-summary .done,.training-objective .complete{border-color:#9bd7c3;background:#e7f6f0;color:#20765b}.delivery-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.delivery-badges i{white-space:normal;overflow-wrap:anywhere;line-height:1.5;padding:4px 7px;border-radius:999px;font-size:8px;font-style:normal;font-weight:800}.delivery-badges .done{background:#e7f6f0;color:#20765b}.delivery-badges .pending{background:#f1f1f3;color:#8b8e95}.entity-actions button.delivery-done,.attendance-actions button.delivery-done{background:#dff3ea;color:#20765b;border-color:#9bd7c3}
.training-archive-filters{padding:16px;display:grid;grid-template-columns:1.3fr repeat(2,1fr) repeat(2,.8fr) 1fr 1fr auto;gap:10px;align-items:end}.training-archive-filters label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800}.training-archive-filters input,.training-archive-filters select{width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:10px}.training-archive-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 0;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.training-archive-summary div{padding:15px 18px}.training-archive-summary div+div{border-left:1px solid var(--line)}.training-archive-summary strong,.training-archive-summary span{display:block}.training-archive-summary strong{font:800 20px Manrope}.training-archive-summary span{margin-top:3px;color:var(--muted);font-size:9px}.training-archive-register{display:grid;gap:12px}.archive-record{padding:18px}.archive-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.archive-record-head small{color:#7163d9;font-size:8px;font-weight:800;text-transform:uppercase}.archive-record-head h2{margin:5px 0;font:800 18px Manrope}.archive-record-head p{margin:0;color:var(--muted);font-size:10px}.archive-trace{display:grid;grid-template-columns:repeat(5,1fr);margin:15px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.archive-trace span{padding:12px}.archive-trace span+span{border-left:1px solid var(--line)}.archive-trace .done{background:#e7f6f0;color:#20765b}.archive-trace strong,.archive-trace small{display:block}.archive-trace strong{font:800 14px Manrope}.archive-trace small{margin-top:3px;color:var(--muted);font-size:8px}.archive-participants{padding:10px 12px;border-radius:9px;background:var(--surface-2)}.archive-participants strong{font-size:9px}.archive-participants p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.archive-record-actions{display:flex;align-items:center;gap:8px;margin-top:12px}.archive-record-actions button{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:9px;font-weight:800}.archive-record-actions span{margin-left:auto;color:#28785e;font-size:9px;font-weight:800}@media(max-width:1100px){.training-archive-filters{grid-template-columns:repeat(3,1fr)}.archive-trace{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.training-archive-filters{grid-template-columns:1fr 1fr}.training-archive-summary,.archive-trace{grid-template-columns:1fr 1fr}.training-archive-summary div:nth-child(3),.archive-trace span:nth-child(3){border-left:0;border-top:1px solid var(--line)}.archive-record-actions{align-items:stretch;flex-direction:column}.archive-record-actions span{margin:0}}
@media(max-width:900px){.training-actions{grid-template-columns:1fr 1fr}}
@media print{body.printing-sheet #view-matrix,body.printing-sheet .shell,body.printing-sheet .sidebar,body.printing-sheet .auth-gate,body.printing-sheet .auth-loading{display:none!important}}
.training-toolbar{display:grid;grid-template-columns:minmax(220px,1.4fr) 170px 155px auto;align-items:end;gap:10px;margin-bottom:14px;padding:13px}.training-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:800}.training-toolbar input,.training-toolbar select{width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.training-view-switch{display:flex;min-width:max-content}.training-view-switch button.active{background:#242529;color:#fff}.training-view-list{display:block}.training-list-wrap{overflow:auto}.training-list{width:100%;min-width:1080px;border-collapse:collapse}.training-list th{padding:11px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:10px;text-align:left;white-space:nowrap}.training-list td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.training-list tbody tr:last-child td{border-bottom:0}.training-list td>strong,.training-list td>small{display:block}.training-list td>strong{font-size:12px}.training-list td>small{margin-top:3px;color:var(--muted);font-size:10px}.training-list td:last-child{min-width:300px}.training-list .training-actions{display:flex;flex-wrap:wrap;gap:4px}.training-list .training-actions button{padding:6px 7px;font-size:9px}.list-trace{display:flex;gap:4px}.list-trace i{padding:4px 6px;border-radius:6px;background:#f1f1f3;color:#777b82;font-size:9px;font-style:normal;font-weight:800}.list-trace i.done{background:#e7f6f0;color:#20765b}.training-calendar{display:grid;gap:12px}.training-calendar>section{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.calendar-day strong,.calendar-day small{display:block}.calendar-day strong{font-size:13px;text-transform:capitalize}.calendar-day small{margin-top:4px;color:var(--muted);font-size:10px}.training-compact-card{min-height:62px;padding:9px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:48px minmax(180px,1fr) auto auto;align-items:center;gap:10px}.training-compact-card+.training-compact-card{margin-top:7px}.training-date-block{width:42px;height:42px;border-radius:9px;background:#efedff;color:#6558c8;display:grid;place-content:center;text-align:center}.training-date-block strong,.training-date-block small,.training-compact-card>span:nth-child(2)>strong,.training-compact-card>span:nth-child(2)>small{display:block}.training-date-block strong{font:800 16px Manrope}.training-date-block small{font-size:8px;text-transform:uppercase}.training-compact-card>span:nth-child(2)>strong{font-size:11px}.training-compact-card>span:nth-child(2)>small,.training-mini-trace{color:var(--muted);font-size:9px}.training-compact-card>button{padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:9px;font-weight:800}.training-board{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:12px;align-items:start}.training-board>section{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.training-board h2{margin:0 0 11px;display:flex;align-items:center;justify-content:space-between}.training-board h2 b{font:800 13px Manrope}.training-board .training-compact-card{grid-template-columns:42px 1fr}.training-board .training-mini-trace{grid-column:2}.training-board .training-compact-card>button{grid-column:2;justify-self:start}.training-view-cards{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}@media(max-width:1050px){.training-toolbar{grid-template-columns:1fr 1fr}.training-view-switch{justify-self:start}.training-board{grid-template-columns:1fr}.training-calendar>section{grid-template-columns:1fr}}@media(max-width:650px){.training-toolbar{grid-template-columns:1fr}.training-view-switch{width:100%;overflow:auto}.training-view-switch button{flex:1}.training-compact-card{grid-template-columns:42px 1fr}.training-mini-trace,.training-compact-card>button{grid-column:2;justify-self:start}.training-list{min-width:0}.training-list thead{display:none}.training-list tbody{display:grid;gap:9px;padding:9px}.training-list tr{padding:10px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr 1fr}.training-list td{padding:7px;border:0}.training-list td:nth-child(2),.training-list td:last-child{grid-column:1/-1}.training-list td:last-child{min-width:0}.training-list .training-actions{margin-top:4px}}
.validator-picker{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.validator-picker>strong,.validator-picker>small{display:block}.validator-picker>small{margin-top:3px;color:var(--muted)}.skill-validators{margin:12px 0;padding:9px 11px;border-radius:9px;background:#f3f1ff}.skill-validators strong,.skill-validators span{display:block}.skill-validators strong{color:#6257bf;font-size:10px}.skill-validators span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}.quick-check-list{padding:12px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.quick-check-list legend{padding:0 6px;font-weight:800}.quick-check-list label{padding:7px;border-radius:7px;background:var(--surface-2);display:flex;align-items:center;gap:7px}.validator-other[hidden]{display:none!important}@media(max-width:650px){.quick-check-list{grid-template-columns:1fr}}
.group-targets-dialog{width:min(900px,calc(100% - 28px))}.group-targets-body{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.group-targets-body>section{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px}.group-targets-body>section>input{width:100%;height:38px;margin:11px 0;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.group-target-settings{grid-column:1/-1}.group-target-settings>.form-grid{padding:14px 0 0}.group-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.group-picker-head strong,.group-picker-head small{display:block}.group-picker-head small{margin-top:3px;color:var(--muted);font-size:8px}.group-picker-head button{padding:4px;border:0;background:transparent;color:#6258c4;font-size:8px;font-weight:800}.group-target-picker{max-height:235px;overflow:auto}.group-target-picker label[hidden]{display:none}.group-target-picker .skill-symbol{width:30px;height:30px;flex:none}@media(max-width:700px){.group-targets-body{grid-template-columns:1fr;padding:14px}.group-target-settings{grid-column:auto}}
.level-criteria-fields{padding:14px;border:1px solid var(--line);border-radius:11px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.level-criteria-fields legend{padding:0 6px;font-size:10px;font-weight:800}.level-criteria-fields>small{grid-column:1/-1;color:var(--muted);font-size:8px}.level-criteria-fields label{font-size:8px}@media(max-width:650px){.level-criteria-fields{grid-template-columns:1fr}}
.action-center{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.action-group{padding:17px}.action-group>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.action-group h2{margin:0;font:800 13px Manrope}.action-group>div>span{min-width:25px;padding:5px;border-radius:9px;background:var(--surface-2);text-align:center;font-size:8px;font-weight:800}.action-group>button{width:100%;padding:10px 4px;border:0;border-top:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:10px;text-align:left}.action-group>button:hover{background:var(--surface-2)}.action-group button>span{min-width:0;flex:1}.action-group strong,.action-group small{display:block}.action-group strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.action-group small{margin-top:3px;color:var(--muted);font-size:8px}.action-group button>b{font-size:8px;color:#6258c4}.action-type{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#efedff;color:#6258c4;font-style:normal;font-size:9px;font-weight:800}.action-type.expiry{background:#ffebe5;color:#c85d42}.action-type.signature{background:#fff1d9;color:#ae741d}.action-more{display:block;padding-top:8px;color:var(--muted);text-align:center}@media(max-width:760px){.action-center{grid-template-columns:1fr}}
.action-center{grid-template-columns:1fr}.action-group{padding:20px;border-left:4px solid var(--line)}.action-group-urgent{border-left-color:#c85d42}.action-group-anticipate{border-left-color:#d7952f}.action-group-configuration{border-left-color:#7163d9}.action-group>div>span{padding:0;background:transparent;text-align:left}.action-group>div>span>i{display:block;margin-bottom:4px;color:var(--muted);font-style:normal;font-size:8px;font-weight:800;letter-spacing:.08em}.action-group>div>span>small{margin-top:3px}.action-group>div>strong{min-width:34px;padding:7px;border-radius:10px;background:var(--surface-2);text-align:center;font:800 12px Manrope}.action-group>button{min-height:72px;padding:11px 6px}.action-group>button span small{line-height:1.55}.action-group>button span small>b{display:inline;color:var(--text);font-size:inherit}.action-group-empty{min-height:70px;margin:0!important;display:grid!important;place-items:center;justify-content:center!important;color:var(--muted);font-size:10px}
.reference-toolbar{margin:0 0 14px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.reference-toolbar>span{color:var(--muted);font-size:9px;font-weight:700}.skills-list{display:flex;flex-direction:column}.skills-list .skill-card{display:grid;grid-template-columns:42px minmax(160px,1.2fr) minmax(120px,.7fr) minmax(210px,1.5fr) minmax(210px,1fr);align-items:center;gap:14px;padding:13px 16px}.skills-list .skill-card-head{display:contents}.skills-list .skill-symbol{grid-column:1;grid-row:1}.skills-list .criticality{grid-column:3;grid-row:1;justify-self:start}.skills-list .skill-card h3{grid-column:2;grid-row:1;margin:0}.skills-list .category-label{grid-column:2;grid-row:1;margin-top:29px}.skills-list .skill-trainer{grid-column:3;grid-row:1;margin-top:28px}.skills-list .skill-card>p{display:none}.skills-list .skill-validators{grid-column:4;grid-row:1;margin:0}.skills-list .skill-documents{grid-column:1/-1;grid-row:2;margin:0;padding:10px 12px}.skills-list .skill-documents>span{display:inline-flex;margin:4px 8px 0 0}.skills-list .skill-training-archive{display:none}.skills-list .skill-metrics{grid-column:5;grid-row:1;padding:0;border:0}.skills-list .entity-actions{grid-column:1/-1;margin-top:0;padding-top:9px}.skills-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.skills-compact .skill-card{padding:14px}.skills-compact .skill-card>p,.skills-compact .skill-training-archive,.skills-compact .skill-validators,.skills-compact .skill-trainer{display:none}.skills-compact .skill-documents{margin:10px 0;padding:8px}.skills-compact .skill-documents>div strong{font-size:8px}.skills-compact .skill-documents>span{padding:6px}.skills-compact .skill-documents>span small,.skills-compact .skill-documents>span i{display:none}.skills-compact .skill-card h3{margin-top:11px}.skills-compact .skill-metrics{margin-top:12px}.skills-compact .entity-actions{opacity:0;max-height:0;overflow:hidden;padding:0;border:0;transition:.2s}.skills-compact .skill-card:hover .entity-actions,.skills-compact .skill-card:focus-within .entity-actions{opacity:1;max-height:60px;padding-top:9px}.validator-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.validator-card{padding:18px}.validator-identity{display:flex;align-items:center;gap:11px}.validator-identity h2{margin:0;font:800 13px Manrope}.validator-identity p{margin:3px 0 0;color:var(--muted);font-size:8px}.validator-type{margin-left:auto;padding:5px 8px;border-radius:8px;background:var(--surface-2);font-size:7px;font-weight:800}.validator-external{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#fff0e7;color:#bd673a;font-size:8px;font-weight:800}.validator-skills{margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.validator-skills>strong{display:block;margin-bottom:7px;font-size:9px}.validator-skills button{width:100%;padding:9px;border:0;border-radius:8px;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left}.validator-skills button:hover{background:var(--surface-2)}.validator-skills span,.validator-skills small{font-size:8px}.validator-skills small{color:var(--muted)}.highlight-card{animation:highlightCard 1.8s ease}@keyframes highlightCard{30%{box-shadow:0 0 0 3px #7567e8;border-color:#7567e8}}@media(max-width:1050px){.skills-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-list .skill-card{grid-template-columns:42px minmax(150px,1fr) minmax(120px,.7fr) minmax(190px,1.2fr)}.skills-list .skill-metrics{display:none}}@media(max-width:700px){.reference-toolbar{justify-content:space-between}.skills-compact,.validator-directory{grid-template-columns:1fr}.skills-list .skill-card{display:block}.skills-list .skill-card-head{display:flex}.skills-list .skill-card h3{margin:12px 0 4px}.skills-list .category-label,.skills-list .skill-trainer{display:block;margin:0}.skills-list .skill-validators{margin:10px 0}.skills-list .skill-documents{margin:10px 0}.skills-list .entity-actions{margin-top:10px}}
.csv-preview-rows{max-width:100%;overflow:auto}.csv-preview-rows table{width:100%;border-collapse:collapse;font-size:.78rem}.csv-preview-rows th,.csv-preview-rows td{padding:.55rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.csv-preview-rows th{color:var(--muted);font-size:.68rem;text-transform:uppercase}.csv-preview-rows small{display:block;margin-top:.5rem;color:var(--muted)}
.csv-preview-rows .import-status{white-space:normal}.csv-preview-rows .import-status.ok{color:#24765b;font-weight:800}.csv-preview-rows .import-status.error{color:#b14d42;font-weight:800}
.developer-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.developer-summary>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.developer-summary strong,.developer-summary span{display:block}.developer-summary strong{font:800 25px Manrope}.developer-summary span{margin-top:4px;color:var(--muted);font-size:10px}.developer-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:16px;align-items:start}.developer-create{padding:20px;display:grid;gap:13px;position:sticky;top:90px}.developer-create label,.developer-organization label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:800}.developer-create input,.developer-create select,.developer-organization input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.developer-create small{color:var(--muted)}.developer-organizations{display:grid;gap:12px}.developer-organization{padding:18px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);gap:14px;align-items:center}.developer-organization h3{margin:5px 0;font:800 18px Manrope}.developer-organization p{margin:0;color:var(--muted);font-size:10px}.developer-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media(max-width:850px){.developer-layout{grid-template-columns:1fr}.developer-create{position:static}.developer-organization{grid-template-columns:1fr}}@media(max-width:600px){.developer-summary{grid-template-columns:1fr}}
.skill-version{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;margin:.55rem 0;border-radius:.65rem;background:var(--surface-soft,#f5f6f8);font-size:.72rem}.skill-version span{color:var(--muted)}.skill-version button{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.skill-version.review{background:#fff4dc;color:#8a4c00}.skill-version.review span{color:#8a4c00}
.support-read-only:before{content:"Mode assistance · lecture seule";position:fixed;z-index:120;left:50%;top:10px;transform:translateX(-50%);padding:8px 12px;border-radius:9px;background:#fff1dd;color:#875817;box-shadow:0 8px 30px #0002;font-size:9px;font-weight:800}.support-read-only form button[type=submit],.support-read-only [data-manage-edit],.support-read-only [data-manage-delete],.support-read-only [data-manage-duplicate]{pointer-events:none;opacity:.45}
.developer-summary{grid-template-columns:repeat(4,1fr)}.developer-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.developer-metrics span{padding:9px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:8px}.developer-metrics strong{display:block;margin-bottom:3px;color:var(--text);font-size:10px}@media(max-width:700px){.developer-summary{grid-template-columns:repeat(2,1fr)}}
.profile-overview .profile-main-score{padding:13px 22px;background:color-mix(in srgb,var(--opella-green) 8%,var(--surface));border-bottom:4px solid var(--opella-green)}.profile-overview .profile-main-score.target-score{background:color-mix(in srgb,var(--opella-pink) 10%,var(--surface));border-bottom-color:var(--opella-pink)}.profile-overview .profile-main-score>strong{font-size:28px;color:var(--opella-green)}.profile-overview .profile-main-score.target-score>strong{color:color-mix(in srgb,var(--opella-green) 78%,var(--opella-pink))}.profile-overview .profile-main-score>small{font-weight:850;letter-spacing:.05em}.profile-overview .profile-main-score em{display:block;margin-top:4px;color:var(--text);font-size:11px;font-style:normal;font-weight:750;letter-spacing:0}.certificate-sheet{border-color:var(--opella-green,#042b0b)!important;color:var(--opella-green,#042b0b)!important}.certificate-sheet header{background:var(--opella-green,#042b0b)!important}.certificate-accent{background:linear-gradient(90deg,var(--opella-green,#042b0b),var(--opella-pink,#ff78d2),var(--opella-green,#042b0b))!important}.certificate-sheet .certificate-type{color:var(--opella-green,#042b0b)!important}.certificate-sheet h2{border-color:var(--opella-green,#042b0b)!important;color:var(--opella-green,#042b0b)!important}
@media print{html:has(body.certificate-print),body.certificate-print{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}body.certificate-print .print-sheet{display:block!important;width:276mm!important;height:189mm!important;min-height:0!important;max-height:189mm!important;margin:0!important;padding:0!important;overflow:hidden!important}body.certificate-print .certificate-sheet{width:276mm!important;height:189mm!important;max-height:189mm!important;margin:0!important;overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important;page-break-after:avoid!important}}
.person-card .profile-score{grid-template-columns:repeat(4,minmax(0,1fr))}.person-card .profile-score>span{min-width:0;padding:0 5px}.person-card .profile-score>span:first-child{padding-left:0}.person-card .profile-score>span:last-child{padding-right:0}.person-card .profile-score .target-card-score strong{color:var(--opella-green)}.person-card .profile-score small{line-height:1.25;overflow-wrap:normal;word-break:keep-all;hyphens:none}.person-card .profile-score .target-card-score small{max-width:58px}
.training-catalog{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.training-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.training-catalog-head span span,.training-catalog-head strong{display:block}.training-catalog-head strong{margin-top:3px;font-size:13px}.training-catalog-head small{color:var(--muted)}.training-catalog-list{margin-top:10px;display:flex;gap:8px;overflow:auto}.training-catalog-list article{min-width:280px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px}.training-catalog-list article>span:nth-child(2) strong,.training-catalog-list article>span:nth-child(2) small{display:block}.training-catalog-list article>span:nth-child(2) small{margin-top:3px;color:var(--muted);font-size:9px}.training-catalog-list button{padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:9px;font-weight:800}.training-catalog-list .danger-link{grid-column:3;font-size:8px}
.plan-inline-progress{height:8px!important;border-radius:20px!important;background:#e7e9e8!important;overflow:hidden}.plan-inline-progress i{height:100%;display:block;border-radius:20px;background:linear-gradient(90deg,var(--opella-green),color-mix(in srgb,var(--opella-green) 70%,var(--opella-pink)))}.plan-trajectory-main>small:after{content:" · progression fondée sur les preuves";color:var(--muted)}

/* Socle de lisibilité : aucun texte fonctionnel sous 11 px. */
body small,body label,body button,body code,body kbd,.eyebrow,.nav-label,.nav-badge,.workspace-switch small,.user-card small,.top-title span,.matrix-table th small,.target-note,.availability,.skill-documents small,.training-objective small,.attendance-list strong,.attendance-list small,.training-toolbar label,.training-list th,.training-list td>small,.training-list .training-actions button,.list-trace i,.calendar-day small,.training-date-block small,.training-compact-card>span:nth-child(2)>small,.training-mini-trace,.training-compact-card>button,.skill-validators strong,.skill-validators span,.group-picker-head small,.group-picker-head button,.level-criteria-fields>small,.level-criteria-fields label,.action-group>div>span,.action-group strong,.action-group small,.action-group button>b,.action-type,.reference-toolbar>span,.validator-identity p,.validator-type,.validator-external,.validator-skills>strong,.validator-skills span,.validator-skills small,.developer-summary span,.developer-create label,.developer-organization label,.developer-organization p,.developer-metrics span,.support-read-only:before{font-size:11px!important;line-height:1.4}
.monitor-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0 2px;border-top:1px solid var(--line)}
.monitor-pagination button{min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-weight:800;cursor:pointer}
.monitor-pagination button:disabled{opacity:.4;cursor:not-allowed}.monitor-pagination span{color:var(--muted);font-size:11px;text-align:center}
.kartence-password-dialog{width:min(620px,calc(100% - 28px))}
.help-nav-icon{width:20px;height:20px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:900}.nav-help{margin-top:8px}.context-help-button{height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);display:flex;align-items:center;gap:7px;font-weight:750;cursor:pointer}.context-help-button b{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#ebe8ff;color:#6258c4}.help-hero{padding:clamp(24px,4vw,48px);border-radius:20px;background:linear-gradient(125deg,#172035,#34304f);color:#fff;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:35px;align-items:center}.help-hero h1{margin:8px 0;font:800 clamp(28px,4vw,44px) Manrope}.help-hero p{margin:0 0 22px;color:#d9d9e4}.help-search{height:50px;max-width:620px;padding:0 15px;border-radius:12px;background:#fff;display:flex;align-items:center;gap:10px;color:#777}.help-search svg{width:18px}.help-search input{width:100%;border:0;outline:0;font-size:14px}.help-hero-card{padding:20px;border:1px solid #ffffff25;border-radius:15px;background:#ffffff0d}.help-hero-card strong{font:800 14px Manrope}.help-hero-card ol{margin:14px 0 0;padding-left:22px;color:#e5e5ec;font-size:12px;line-height:2}.help-toolbar{margin:20px 0}.help-catalog{display:grid;gap:26px}.help-category>h2{margin:0 0 12px;font:800 18px Manrope}.help-category>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px}.help-card{min-height:185px;padding:19px;border:1px solid var(--line);border-radius:15px;background:var(--surface);display:flex;flex-direction:column;box-shadow:0 3px 12px #1c1d2110}.help-card>span{color:#7163d9;font-size:10px;font-weight:800;text-transform:uppercase}.help-card h3{margin:10px 0 6px;font:800 16px Manrope}.help-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.help-card button{margin-top:auto;padding:14px 0 0;border:0;background:transparent;color:#6258c4;display:flex;justify-content:space-between;font-weight:800;cursor:pointer}.help-dialog{width:min(720px,calc(100% - 28px))}.help-guide-body{padding:22px}.help-guide-body ol{margin:0;padding:0;list-style:none;display:grid;gap:12px}.help-guide-body li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center}.help-guide-body li>b{width:34px;height:34px;border-radius:50%;background:#ebe8ff;color:#6258c4;display:grid;place-items:center}.help-guide-body li span{line-height:1.55}.help-guide-body aside{margin-top:22px;padding:15px;border-left:4px solid #7163d9;border-radius:8px;background:var(--surface-2)}.help-guide-body aside p{margin:5px 0 0;color:var(--muted);line-height:1.55}@media(max-width:760px){.help-hero{grid-template-columns:1fr}.help-hero-card{display:none}.context-help-button span{display:none}.context-help-button{padding:0 9px}.help-toolbar .segmented{width:100%}}
.help-guide-body>h3{margin:0 0 14px;font:800 15px Manrope}.help-guide-body ol>li{display:grid;grid-template-columns:34px 1fr}.help-checklist,.help-troubleshooting{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.help-checklist strong,.help-troubleshooting strong{font:800 13px Manrope}.help-checklist ul{margin:9px 0 0;padding:0;list-style:none;display:grid;gap:6px;color:#216a46;font-size:12px}.help-checklist li{display:block;line-height:1.45}.help-troubleshooting{border-color:#ead8a9;background:#fff9e9}.help-troubleshooting p{margin:6px 0 0;color:#765f28;line-height:1.55}.help-guide-body .help-checklist+aside,.help-guide-body .help-troubleshooting+aside{margin-top:18px}
@media(max-width:650px){.monitor-pagination{align-items:stretch;flex-direction:column}.monitor-pagination button{width:100%}}
.matrix-skill-sheet{width:100%;padding:3px;border:0;background:transparent;color:inherit;cursor:pointer}.matrix-skill-sheet strong,.matrix-skill-sheet small{display:block}.matrix-skill-sheet:hover strong,.matrix-skill-sheet:focus-visible strong{color:var(--primary,#6258c4);text-decoration:underline}.skill-sheet-levels{display:grid;gap:8px}.skill-sheet-levels>div,.skill-sheet-documents>a{padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.skill-sheet-levels b,.skill-sheet-levels span,.skill-sheet-documents strong,.skill-sheet-documents small{display:block}.skill-sheet-levels span,.skill-sheet-documents small{margin-top:4px;color:var(--muted);font-size:12px}.skill-sheet-documents{display:grid;gap:8px}.skill-sheet-documents a{color:inherit;text-decoration:none}.skill-sheet-documents a:hover{border-color:var(--primary,#6258c4)}.skill-sheet-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.skill-sheet-metrics>span{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.skill-sheet-metrics strong,.skill-sheet-metrics small{display:block}.skill-sheet-metrics small{margin-top:3px;color:var(--muted)}@media(max-width:620px){.skill-sheet-metrics{grid-template-columns:repeat(2,1fr)}}

.dialog-head .close-dialog,.close-profile,.matrix-detail-close,#closeJobSheet,#closeSkillSheet{flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid #efb0aa;border-radius:10px;background:#fff0ee;color:#c53f35;display:grid;place-items:center;font-size:24px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 1px 2px rgba(124,32,24,.08);transition:background .18s,border-color .18s,color .18s,transform .18s}.dialog-head .close-dialog:hover,.close-profile:hover,.matrix-detail-close:hover,#closeJobSheet:hover,#closeSkillSheet:hover{border-color:#c53f35;background:#c53f35;color:#fff;transform:scale(1.05)}.dialog-head .close-dialog:focus-visible,.close-profile:focus-visible,.matrix-detail-close:focus-visible,#closeJobSheet:focus-visible,#closeSkillSheet:focus-visible{outline:3px solid rgba(197,63,53,.25);outline-offset:2px}
.operations-panel{padding:20px}.dashboard-operations{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.dashboard-operations button{min-height:86px;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;text-align:left;cursor:pointer}.dashboard-operations strong{font:800 22px Manrope}.dashboard-operations span{align-self:end;color:var(--muted);font-size:11px}.dashboard-operations b{grid-column:2;grid-row:1/-1;align-self:center}.action-empty-state{grid-column:1/-1;min-height:300px;padding:40px;display:grid;place-items:center;align-content:center;text-align:center}.action-empty-state>span{width:48px;height:48px;border-radius:50%;background:#e5f4ed;color:#24765d;display:grid;place-items:center;font-size:22px;font-weight:900}.action-empty-state h2{margin:14px 0 5px}.action-empty-state p{max-width:520px;margin:0;color:var(--muted)}.action-empty-state div{display:flex;gap:8px;margin-top:18px}@media(max-width:760px){.dashboard-operations{grid-template-columns:repeat(2,1fr)}}

/* Plans de progrès : la largeur utile exclut la barre latérale sur les portables. */
.shell,.main-content,.view,.plan-workspace,.plan-workspace>div,.plan-list,
.person-plan-group,.person-plan-group>div,.plan-trajectory,.plan-trajectory-main{min-width:0}
.plan-trajectory-main strong,.plan-trajectory-main small,.plan-owner strong,
.person-plan-group>summary strong,.person-plan-group>summary small{overflow-wrap:anywhere}
.plans-toolbar{flex-wrap:wrap}
.plans-toolbar .input-search{flex:1 1 230px;min-width:0}
.plans-toolbar .input-search input{width:100%}
.plans-toolbar select{max-width:100%}
@media(max-width:1400px){
 .plan-workspace{grid-template-columns:minmax(0,1fr)}
 .plan-workspace .recommendations{position:static}
 .plans-toolbar .segmented{flex:1 1 100%;width:max-content;max-width:100%;overflow-x:auto}
 .plans-toolbar .segmented button{flex:1;white-space:nowrap}
}

@media(max-width:1250px){
 .plan-trajectory{grid-template-columns:8px minmax(0,1fr) 115px auto 34px}
 .plan-owner{display:none}
 .due-plan-row{grid-template-columns:110px minmax(150px,200px) minmax(0,1fr)}
}
@media(max-width:900px){
 .plan-trajectory{grid-template-columns:7px minmax(0,1fr) auto 34px}
 .plan-due{display:none}
 .due-plan-row{grid-template-columns:1fr}
 .due-plan-row>time,.due-plan-row>span{padding:10px}
 .due-plan-row .plan-trajectory{border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:540px){
 .plans-stats{grid-template-columns:1fr}
 .person-plan-group>summary{align-items:flex-start}
 .person-plan-summary{display:none}
 .plan-trajectory{grid-template-columns:7px minmax(0,1fr) 30px}
 .plan-trajectory>[data-plan-primary]{grid-column:2;width:max-content;max-width:100%}
 .plans-toolbar select{width:100%}
}

/* Les menus d'actions doivent pouvoir sortir des groupes sans être rognés. */
.person-plan-group{overflow:visible}
.person-plan-group>summary{border-radius:13px 13px 0 0;background:var(--surface)}
.person-plan-group:not([open])>summary{border-radius:13px}
.person-plan-group>div>.plan-trajectory:last-child{border-radius:0 0 13px 13px}
.plan-trajectory>[data-plan-primary],.plan-more{position:relative;z-index:2}
.plan-trajectory>[data-plan-primary]{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Formation : contraction sûre des textes et bascule adaptée à la zone utile. */
.training-grid,.training-work-group,.training-work-item,.training-work-main,
.training-work-main>span,.training-toolbar,.training-toolbar label,
.training-calendar,.training-calendar>section,.training-compact-card,
.training-compact-card>span:nth-child(2),.training-catalog-list article,
.training-catalog-list article>span:nth-child(2),.training-dossier-head>span,
.training-process>div,.training-process>div>span{min-width:0}
.training-work-main h2,.training-work-main p,.training-work-main small,
.training-compact-card strong,.training-compact-card small,
.training-catalog-head,.training-catalog-list strong,.training-catalog-list small,
.training-dossier-head h2,.training-dossier-head p,.training-process strong,
.training-process small,.training-dossier-tabs dd{overflow-wrap:anywhere;word-break:break-word}
.training-process>div{display:grid;grid-template-rows:29px auto;justify-items:center;align-content:start;gap:8px;text-align:center}
.training-process>div:before{top:14px;left:calc(50% + 15px);right:calc(-50% + 15px);z-index:0}
.training-process>div>i{position:relative;z-index:1;margin:0}
.training-process>div>span{width:100%;position:relative;z-index:1}
.training-work-item>[data-training-primary]{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1250px){
 .training-toolbar{grid-template-columns:minmax(0,1fr) minmax(150px,.55fr)}
 .training-view-switch{justify-self:start;max-width:100%;overflow-x:auto}
 .training-work-item{grid-template-columns:34px minmax(0,1fr) auto 34px}
 .training-work-trace{display:none}
 .training-work-counts{grid-column:2}
}
@media(max-width:800px){
 .training-toolbar{grid-template-columns:1fr}
 .training-toolbar .training-view-switch{width:100%}
 .training-work-item{grid-template-columns:32px minmax(0,1fr) 30px}
 .training-work-item>[data-training-primary]{grid-column:2;justify-self:start}
 .training-more{grid-column:3;grid-row:1}
 .training-work-counts{grid-column:2;flex-wrap:wrap}
 .training-calendar>section{grid-template-columns:1fr}
 .training-dossier-head,.training-dossier-alert{align-items:flex-start;gap:12px}
 .training-dossier-actions{flex-wrap:wrap}
}
@media(max-width:540px){
 .training-stats{grid-template-columns:1fr}
 .training-catalog-list article{min-width:min(280px,calc(100vw - 64px));grid-template-columns:34px minmax(0,1fr)}
 .training-catalog-list article button{grid-column:2;justify-self:start}
 .training-catalog-list .danger-link{grid-column:2}
 .training-dossier-head,.training-dossier-alert{flex-direction:column}
 .training-dossier-actions .button{width:100%;justify-content:center}
}
@media(max-width:1050px){.training-process>div:before{display:none}}

/* Chaque mode d'affichage conserve une stratégie responsive dédiée. */
.plan-table{min-width:850px}
.plan-table-wrap,.training-view-sessions .training-business-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.training-view-sessions .training-business-table{min-width:900px}
.training-view-sessions .training-business-table th,.training-view-sessions .training-business-table td{white-space:nowrap}
.training-view-sessions .training-business-table td:first-child{min-width:180px;white-space:normal;overflow-wrap:anywhere}
.training-view-sessions .training-business-table td:last-child{min-width:170px;white-space:normal}
.training-view-calendar{display:block}
.training-view-calendar .training-calendar{width:100%;min-width:0}
.training-grid.training-view-tasks{display:block!important;grid-template-columns:1fr!important}
.training-view-tasks .training-work-group{width:100%}
.plan-workspace>div:first-child{container-type:inline-size;container-name:plan-list-area}
@container plan-list-area (max-width:1050px){
 .plan-trajectory{grid-template-columns:8px minmax(0,1fr) minmax(130px,auto) 34px;grid-template-rows:auto auto}
 .plan-trajectory .plan-skill-dot{grid-column:1;grid-row:1/3}
 .plan-trajectory .plan-trajectory-main{grid-column:2;grid-row:1/3}
 .plan-trajectory .plan-owner{display:none}
 .plan-trajectory .plan-due{display:block;grid-column:3;grid-row:1}
 .plan-trajectory>[data-plan-primary]{grid-column:3;grid-row:2;justify-self:stretch;width:100%}
 .plan-trajectory .plan-more{grid-column:4;grid-row:1/3;align-self:center}
}
@container plan-list-area (max-width:650px){
 .plan-trajectory{grid-template-columns:7px minmax(0,1fr) 30px}
 .plan-trajectory .plan-skill-dot{grid-column:1;grid-row:1/3}
 .plan-trajectory .plan-trajectory-main{grid-column:2;grid-row:1}
 .plan-trajectory .plan-due{display:none}
 .plan-trajectory>[data-plan-primary]{grid-column:2;grid-row:2;justify-self:start;width:auto}
 .plan-trajectory .plan-more{grid-column:3;grid-row:1/3}
}
@media(max-width:1400px){
 .plans-toolbar:has([data-plan-view="due"].active)+.plan-workspace .due-plan-row{grid-template-columns:1fr}
 .plans-toolbar:has([data-plan-view="due"].active)+.plan-workspace .due-plan-row>time,
 .plans-toolbar:has([data-plan-view="due"].active)+.plan-workspace .due-plan-row>span{padding:10px 14px}
 .plans-toolbar:has([data-plan-view="due"].active)+.plan-workspace .due-plan-row .plan-trajectory{border-left:0;border-top:1px solid var(--line)}
 .training-view-calendar .training-calendar>section{grid-template-columns:1fr}
 .training-view-calendar .calendar-day{padding-bottom:8px;border-bottom:1px solid var(--line)}
 .training-view-calendar .training-work-item,.training-view-tasks .training-work-item{grid-template-columns:34px minmax(0,1fr) auto 34px}
 .training-view-calendar .training-work-trace,.training-view-tasks .training-work-trace{display:none}
 .training-view-calendar .training-work-counts,.training-view-tasks .training-work-counts{grid-column:2}
}
@media(max-width:1600px){
 #view-plans .plan-workspace{grid-template-columns:minmax(0,1fr)}
 #view-plans .plan-workspace .recommendations{position:static}
 #view-plans .plan-trajectory{grid-template-columns:8px minmax(0,1fr) 135px 115px minmax(130px,auto) 34px}
}
@media(max-width:900px){
 .training-view-calendar .training-work-item,.training-view-tasks .training-work-item{grid-template-columns:32px minmax(0,1fr) 30px}
 .training-view-calendar .training-work-item>[data-training-primary],.training-view-tasks .training-work-item>[data-training-primary]{grid-column:2;justify-self:start}
 .training-view-calendar .training-more,.training-view-tasks .training-more{grid-column:3;grid-row:1}
}
/* La progression reste visible quelle que soit la largeur de l'écran. */
.training-view-tasks .training-work-trace,.training-view-calendar .training-work-trace{display:block!important}
@media(max-width:1400px){
 .training-view-tasks .training-work-item,.training-view-calendar .training-work-item{grid-template-columns:34px minmax(0,1fr) minmax(230px,260px) minmax(145px,max-content) 34px;grid-template-rows:auto auto}
 .training-view-tasks .training-stage-icon,.training-view-calendar .training-stage-icon{grid-column:1;grid-row:1/3}
 .training-view-tasks .training-work-main,.training-view-calendar .training-work-main{grid-column:2;grid-row:1/3}
 .training-view-tasks .training-work-trace,.training-view-calendar .training-work-trace{grid-column:3;grid-row:1}
 .training-view-tasks .training-work-counts,.training-view-calendar .training-work-counts{grid-column:3;grid-row:2;flex-wrap:wrap}
 .training-view-tasks .training-work-item>[data-training-primary],.training-view-calendar .training-work-item>[data-training-primary]{grid-column:4;grid-row:1/3;align-self:center}
 .training-view-tasks .training-more,.training-view-calendar .training-more{grid-column:5;grid-row:1/3;align-self:center}
}
/* Les compteurs restent dans leur colonne : aucun badge ne passe sous le bouton principal. */
.training-view-tasks .training-work-counts,.training-view-calendar .training-work-counts{width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.training-view-tasks .training-work-counts b,.training-view-calendar .training-work-counts b{min-width:0;display:grid;place-items:center;padding:5px 3px;text-align:center;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.training-view-tasks .training-work-item>[data-training-primary],.training-view-calendar .training-work-item>[data-training-primary]{position:relative;max-width:100%;justify-self:stretch;white-space:normal;overflow-wrap:anywhere}
.bi-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){
 .training-view-tasks .training-work-item,.training-view-calendar .training-work-item{grid-template-columns:32px minmax(0,1fr) 30px;grid-template-rows:auto}
 .training-view-tasks .training-stage-icon,.training-view-calendar .training-stage-icon{grid-column:1;grid-row:1}
 .training-view-tasks .training-work-main,.training-view-calendar .training-work-main{grid-column:2;grid-row:1}
 .training-view-tasks .training-work-trace,.training-view-calendar .training-work-trace{grid-column:2;grid-row:2;width:min(180px,100%)}
 .training-view-tasks .training-work-counts,.training-view-calendar .training-work-counts{grid-column:2;grid-row:3;width:min(320px,100%)}
 .training-view-tasks .training-work-item>[data-training-primary],.training-view-calendar .training-work-item>[data-training-primary]{grid-column:2;grid-row:4;justify-self:start;width:auto}
 .training-view-tasks .training-more,.training-view-calendar .training-more{grid-column:3;grid-row:1/5;align-self:center}
}
/* Fenêtre du plan : étapes empilées pour empêcher la ligne de traverser les textes. */
.plan-timeline{gap:14px}
.plan-timeline>div{min-width:0;display:grid;grid-template-rows:29px auto;gap:9px;align-content:start}
.plan-timeline>div:before{left:29px;right:-14px;top:13px;z-index:0}
.plan-timeline i{grid-row:1;position:relative;flex:none}
.plan-timeline>div>span{grid-row:2;min-width:0;padding-right:4px}
.plan-timeline strong,.plan-timeline small{overflow-wrap:anywhere;line-height:1.4}
.plan-timeline small{margin-top:3px}
@media(max-width:700px){
 .plan-detail-head>span,.plan-detail-head>span>span{min-width:0}
 .plan-detail-head h2,.plan-detail-head p{overflow-wrap:anywhere}
 .plan-detail-summary span{min-width:0;padding:8px!important;border:0!important}
 .plan-detail-summary strong{overflow-wrap:anywhere}
 .plan-timeline>div:before{display:none}
 #planDetailContent .plan-detail-actions{flex-wrap:wrap}
}
@media(max-width:440px){
 .plan-detail-summary,.plan-timeline{grid-template-columns:1fr}
 .plan-detail-actions .button{width:100%;justify-content:center}
}
/* Parcours horizontal : les noms restent visibles sous la barre de progression. */
.plan-path-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.plan-path-head>span>small{display:block;margin-top:5px;color:var(--muted)}
.plan-path-head>b{padding:7px 10px;border-radius:8px;background:#fff1dd;color:#875d18;font-size:11px;text-align:right}
.plan-timeline{grid-template-columns:1fr;gap:0;margin-top:16px}
.plan-timeline>div{grid-template-columns:29px minmax(0,1fr);grid-template-rows:auto;gap:12px;min-height:58px;padding-bottom:12px}
.plan-timeline>div:before{display:block;left:14px;right:auto;top:29px;bottom:0;width:2px;height:auto}
.plan-timeline>div:last-child:before{display:none}
.plan-timeline i{grid-column:1;grid-row:1}
.plan-timeline>div>span{grid-column:2;grid-row:1;padding:2px 0 0}
.plan-timeline .current i{background:#fff1dd;color:#875d18;box-shadow:0 0 0 3px #fff8ec}
.plan-timeline .current strong{color:#875d18}
.plan-timeline .pending{opacity:.62}
.override-warning{padding:14px;border:1px solid #e7b78a;border-radius:10px;background:#fff7ec;color:#714812}
.override-warning p{margin:6px 0 0;line-height:1.55}
.plan-override-button{border-color:#d4934e!important;color:#875411!important;background:#fff7ec!important}
@media(min-width:701px){
 .plan-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
 .plan-timeline>div{display:grid;grid-template-columns:1fr;grid-template-rows:32px auto;gap:8px;min-height:92px;padding:0 8px 0 0}
 .plan-timeline>div:before{display:block;left:29px;right:0;top:14px;bottom:auto;width:auto;height:3px}
 .plan-timeline i{grid-column:1;grid-row:1}
 .plan-timeline>div>span{grid-column:1;grid-row:2;padding:0}
}
@media(max-width:700px){
 .plan-path-head{flex-direction:column}
 .plan-path-head>b{width:100%;text-align:left}
 .plan-timeline{grid-template-columns:1fr}
 .plan-timeline>div:before{display:block}
 .plan-timeline>div:last-child:before{display:none}
}
.dashboard-operations{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-operations button{min-height:72px;grid-template-columns:32px 1fr auto;grid-template-rows:1fr;align-items:center;gap:10px}.dashboard-operations button>i{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface);font-style:normal;font-weight:800}.dashboard-operations button>span{align-self:center}.dashboard-operations button strong{display:block;font:700 10px Manrope;color:var(--text)}.dashboard-operations button small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.dashboard-operations button>b{grid-column:auto;grid-row:auto;font-size:8px}.activity-list>button{min-height:62px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.activity-list>button b{font-size:8px}.dashboard-clear{grid-column:1/-1;min-height:110px;display:grid;place-content:center;text-align:center;gap:5px}.dashboard-clear strong{font-size:12px}.dashboard-clear span{color:var(--muted);font-size:9px}.priority-list .dashboard-clear{min-height:240px}@media(max-width:760px){.dashboard-operations{grid-template-columns:1fr}}
.profile-dialog{width:min(1040px,calc(100% - 28px));max-height:92vh}.profile-tabs{display:flex;gap:4px;padding:12px 22px 0;border-bottom:1px solid var(--line);overflow:auto}.profile-tabs button{padding:10px 12px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:750;white-space:nowrap;cursor:pointer}.profile-tabs button.active{border-bottom-color:var(--violet);color:var(--text)}.profile-tab-content{padding:22px;min-height:340px}.profile-tab-content>section{display:none}.profile-tab-content>section.active{display:block}.profile-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-summary-grid>article,.profile-habilitations{padding:18px;border:1px solid var(--line);border-radius:14px}.profile-brief{padding:11px 0;border-bottom:1px solid var(--line)}.profile-brief strong,.profile-brief small{display:block}.profile-brief small{margin-top:3px;color:var(--muted)}.profile-skill-row{display:grid!important;grid-template-columns:auto 1fr auto;gap:12px!important;min-height:82px!important}.profile-level button,.profile-certificate-list button{padding:7px 9px;border:0;border-radius:8px;background:var(--surface-2);color:var(--text);font-weight:750;cursor:pointer}.profile-level button:disabled{opacity:.48;cursor:not-allowed}.profile-level .certificate-ready{background:#e7f4ef;color:#24765d}.skill-level-chart{width:min(310px,100%);height:18px;margin-top:9px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.skill-level-chart i{position:relative;border-radius:4px;background:#e9eaed;font-style:normal}.skill-level-chart i.filled{background:var(--violet)}.skill-level-chart i.target{outline:2px solid #d59b32;outline-offset:1px}.skill-level-chart b{position:absolute;inset:0;display:grid;place-items:center;color:#777;font-size:8px}.skill-level-chart i.filled b{color:#fff}.profile-development-list article,.profile-certificate-list article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.profile-development-list strong,.profile-development-list small,.profile-certificate-list strong,.profile-certificate-list small{display:block}.profile-development-list small,.profile-certificate-list small{margin-top:4px;color:var(--muted)}.profile-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-section-head>span>span,.profile-section-head>span>small{display:block}.profile-certificate-list+.profile-habilitations{margin-top:24px}.cert-status.revoked{background:#ffebe7;color:#bd5142}.cert-status.expired,.cert-status.superseded{background:#f0f1f3;color:#666}.profile-history article{display:flex;gap:14px;padding:0 0 18px}.profile-history i{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--violet)}.profile-history strong,.profile-history small{display:block}.profile-history small{margin-top:4px;color:var(--muted)}.certificate-confirm{display:flex!important;align-items:flex-start;gap:10px}.certificate-confirm input{width:auto;margin-top:3px}.certificate-sheet{width:100%;height:100%;box-sizing:border-box;font-family:Georgia,serif;border:8px solid #172035;padding:0;color:#172035;overflow:hidden}.certificate-sheet header{height:18mm;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;padding:10px 24px;background:#172035;color:white;font-family:Manrope,sans-serif}.certificate-sheet header span strong,.certificate-sheet header span small{display:block}.certificate-sheet header span strong{font-size:22px}.certificate-sheet header span small{margin-top:2px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;opacity:.65}.certificate-accent{height:4px;background:linear-gradient(90deg,#d59b32,#7163d9)}.certificate-sheet main{text-align:center;padding:8mm 18mm}.certificate-sheet .certificate-type{margin:0;color:#7163d9;font:800 11px Manrope;letter-spacing:.18em}.certificate-sheet h1{font-size:32px;margin:12px 0 4px}.certificate-sheet h2{display:inline-block;margin:12px 0 8px;padding:7px 20px;border:2px solid #7163d9;border-radius:30px;color:#5f55bd}.certificate-sheet h3{margin:8px 0;font-size:23px}.certificate-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:15px 0;padding:12px 0;border-block:1px solid #ddd}.certificate-details small,.certificate-details strong{display:block}.certificate-sheet footer{display:flex;align-items:center;gap:14px;text-align:left}.certificate-sheet footer img{width:22mm;height:22mm}.certificate-sheet footer span{min-width:0;flex:1}.certificate-sheet footer span>*{display:block;margin:3px 0}.certificate-sheet footer>b{align-self:flex-end;color:#888;font:700 8px Manrope}.certificate-sheet code{font-size:7px;overflow-wrap:anywhere}.verification-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.verification-card{width:min(620px,100%);padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.verification-status{margin:20px 0;padding:14px;border-radius:10px;background:#e7f4ef;color:#278066}.verification-status.revoked,.verification-status.invalid{background:#ffebe7;color:#bd5142}.verification-status.expired,.verification-status.superseded{background:#fff1dd;color:#8c631f}.verification-card dl{display:grid;grid-template-columns:150px 1fr}.verification-card dt,.verification-card dd{margin:0;padding:10px;border-bottom:1px solid var(--line)}.verification-card dt{color:var(--muted)}@media print{@page{size:auto;margin:10mm}body.certificate-print .print-sheet{width:277mm!important;height:190mm!important;padding:0!important;margin:0!important}body.certificate-print{width:297mm!important;height:210mm!important}body.certificate-print .certificate-sheet{break-inside:avoid;page-break-inside:avoid;page-break-after:avoid}}@media(max-width:720px){.profile-summary-grid{grid-template-columns:1fr}.profile-skill-row{grid-template-columns:auto 1fr}.profile-skill-row .profile-level{grid-column:1/-1;justify-content:flex-end}.profile-section-head{align-items:flex-start;gap:12px}.profile-development-list article,.profile-certificate-list article{align-items:flex-start;flex-direction:column}}
/* Toutes les croix de fermeture et de retrait utilisent le même rouge d'action. */
:is(.close-dialog,.close-profile,.close-plan-detail,.close-training-dossier,.matrix-detail-close,#closeJobSheet,#closeSkillSheet,button[aria-label="Fermer"],button[data-remove-team]){color:#c62828!important}
:is(.close-dialog,.close-profile,.close-plan-detail,.close-training-dossier,.matrix-detail-close,#closeJobSheet,#closeSkillSheet,button[aria-label="Fermer"],button[data-remove-team]):hover{color:#971b1b!important;background:#fde8e8!important}
/* Les tableaux tiennent entièrement dans l'écran, sans défilement horizontal. */
body .plan-optimized-scroll{overflow:visible}body .plan-optimized-group table{min-width:0;table-layout:fixed}body .plan-optimized-group th,body .plan-optimized-group td{min-width:0;overflow-wrap:anywhere;word-break:normal;white-space:normal}body .plan-optimized-group th:nth-child(1){width:18%}body .plan-optimized-group th:nth-child(2){width:17%}body .plan-optimized-group th:nth-child(3){width:16%}body .plan-optimized-group th:nth-child(4){width:12%}body .plan-optimized-group th:nth-child(5){width:15%}body .plan-optimized-group th:nth-child(6){width:10%}body .plan-optimized-group th:nth-child(7){width:12%}body .plan-table-person{min-width:0}body .plan-table-person .avatar{width:28px;height:28px}body .plan-stage-label{max-width:none}body .plan-table-progress{width:58px;max-width:65%}body .plan-table-actions{white-space:normal}body .plan-table-actions button{width:100%;padding:7px 5px;white-space:normal;line-height:1.25}body .plan-table-actions button+button{width:auto;margin:5px 0 0}@media(max-width:1050px){body .plan-optimized-group th,body .plan-optimized-group td{padding:8px 5px;font-size:10px}body .plan-optimized-group th{font-size:9px}body .plan-table-person{gap:5px}body .plan-table-person .avatar{display:none}body .plan-stage-label,body .plan-optimized-group td>strong{font-size:10px}body .plan-table-progress{width:42px}}@media(max-width:760px){body .plan-optimized-group table{min-width:0}body .plan-optimized-group th,body .plan-optimized-group td{padding:7px 4px;font-size:9px}body .plan-optimized-group td small,body .plan-table-person small{font-size:8px}body .plan-table-actions button{font-size:8px}body .plan-table-progress{width:100%;max-width:100%;margin:0}}
.ops-team-summary{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.ops-team-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ops-team-summary-head strong,.ops-team-summary-head small{display:block}.ops-team-summary-head strong{font:800 14px Manrope}.ops-team-summary-head small{margin-top:3px;color:var(--muted);font-size:9px}.ops-team-summary-head button{border:0;background:transparent;color:#6258c4;font-size:9px;font-weight:700}.ops-team-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:13px}.ops-team-metrics>div{display:grid;grid-template-columns:minmax(125px,1fr) minmax(80px,1fr) 38px;align-items:center;gap:10px;padding:11px;border-radius:10px;background:var(--surface-2)}.ops-team-metrics strong,.ops-team-metrics small{display:block}.ops-team-metrics strong{font-size:10px}.ops-team-metrics small{margin-top:3px;color:var(--muted);font-size:8px}.ops-team-metrics b{text-align:right;font-size:11px}.ops-team-metrics .mastery i{background:#26866a}.ops-team-metrics .coverage i{background:#7163d9}@media(max-width:720px){.ops-team-metrics{grid-template-columns:1fr}.ops-team-metrics>div{grid-template-columns:minmax(110px,1fr) minmax(70px,1fr) 34px}}
.readiness-content.ops-dual-donuts{display:grid;grid-template-columns:142px minmax(90px,1fr) 142px;align-items:center;justify-content:center;gap:22px}.ops-dual-donuts .coverage-list{display:block}.ops-donut-metric{text-align:center}.ops-donut-metric>.donut{margin:0 auto 12px}.ops-mastery-donut{background:conic-gradient(#26866a calc(var(--value)*1%),#ededef 0)}.ops-donut-metric>strong,.ops-donut-metric>small,.ops-donut-caption strong,.ops-donut-caption small{display:block}.ops-donut-metric>small,.ops-donut-caption small{margin-top:4px;color:var(--muted);font-size:8px}.ops-donut-caption{align-self:center}.ops-donut-caption strong{font:800 13px Manrope}.ops-dual-donuts>#readinessDonut{grid-column:1;grid-row:1}.ops-dual-donuts>.ops-donut-caption{grid-column:2;grid-row:1}.ops-dual-donuts>#coverageList{grid-column:3;grid-row:1}@media(max-width:720px){.readiness-content.ops-dual-donuts{grid-template-columns:1fr 1fr;gap:18px}.ops-dual-donuts>#readinessDonut{grid-column:1}.ops-dual-donuts>.ops-donut-caption{grid-column:1;grid-row:2;text-align:center}.ops-dual-donuts>#coverageList{grid-column:2}.readiness-content.ops-dual-donuts .donut{width:120px;height:120px}.readiness-content.ops-dual-donuts .donut:before{width:88px;height:88px}}
/* Deux moitiés indépendantes : aucun libellé ne peut sortir de la carte. */
.readiness-panel{overflow:hidden}.readiness-content.ops-dual-donuts{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:12px 28px;min-width:0}.ops-dual-donuts>#readinessDonut{grid-column:1;grid-row:1;justify-self:center}.ops-dual-donuts>.ops-donut-caption{grid-column:1;grid-row:2;align-self:start;text-align:center;min-width:0}.ops-dual-donuts>#coverageList{grid-column:2;grid-row:1/3;min-width:0;width:100%}.ops-dual-donuts .coverage-list>div.ops-donut-metric{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;width:100%;text-align:center}.ops-donut-metric>.donut{flex:none}.ops-donut-metric>strong,.ops-donut-metric>small,.ops-donut-caption strong,.ops-donut-caption small{max-width:100%;overflow-wrap:anywhere}.ops-donut-caption strong,.ops-donut-metric>strong{font:800 13px Manrope}.ops-donut-caption small,.ops-donut-metric>small{line-height:1.4}@media(max-width:1100px){.readiness-content.ops-dual-donuts{gap:10px 18px}.readiness-content.ops-dual-donuts .donut{width:126px;height:126px}.readiness-content.ops-dual-donuts .donut:before{width:92px;height:92px}}@media(max-width:720px){.readiness-content.ops-dual-donuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.readiness-content.ops-dual-donuts .donut{width:108px;height:108px}.readiness-content.ops-dual-donuts .donut:before{width:78px;height:78px}.readiness-content.ops-dual-donuts .donut strong{font-size:18px}}
/* Vues tabulaires optimisées des plans de progrès. */
.plan-optimized-group{margin-bottom:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}.plan-optimized-group>header{min-height:68px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.plan-optimized-group>header>span{display:flex;align-items:center;gap:10px}.plan-optimized-group>header strong,.plan-optimized-group>header small{display:block}.plan-optimized-group>header small{margin-top:3px;color:var(--muted)}.plan-optimized-group>header>b{color:#66726a}.plan-optimized-scroll{overflow-x:auto}.plan-optimized-group table{width:100%;min-width:1040px;border-collapse:collapse}.plan-optimized-group th{padding:11px 12px;background:var(--surface-2);color:var(--muted);font-size:10px;text-align:left;white-space:nowrap}.plan-optimized-group td{padding:12px;border-top:1px solid var(--line);vertical-align:middle}.plan-optimized-group tbody tr:first-child td{border-top:0}.plan-optimized-group tbody tr:hover{background:var(--surface-2)}.plan-table-person{display:flex;align-items:center;gap:9px;min-width:190px}.plan-table-person strong,.plan-table-person small,.plan-optimized-group td>strong,.plan-optimized-group td>small{display:block}.plan-table-person small,.plan-optimized-group td>small{margin-top:3px;color:var(--muted);font-size:10px}.plan-stage-label{display:inline-block;max-width:170px;color:#5147a8;font-size:11px;font-weight:700}.plan-table-progress{display:inline-block;width:78px;height:5px;margin-right:7px;border-radius:5px;background:var(--line);overflow:hidden;vertical-align:middle}.plan-table-progress i{display:block;height:100%;background:#7163d9}.plan-optimized-group time{white-space:nowrap;font-weight:700}.plan-optimized-group time.overdue{color:#bd523a}.plan-table-actions{white-space:nowrap}.plan-table-actions button{padding:8px 10px;border:0;border-radius:8px;background:#242529;color:#fff;font-size:10px;font-weight:700}.plan-table-actions button+button{margin-left:5px;background:var(--surface-2);color:var(--text)}@media(max-width:760px){.plan-optimized-group{border-radius:12px}.plan-optimized-group>header{padding:10px 12px}.plan-optimized-group table{min-width:950px}.plan-optimized-group th,.plan-optimized-group td{padding:10px}.plan-optimized-scroll{scrollbar-width:thin}}

.group-training-dialog{width:min(920px,calc(100% - 28px))}.group-training-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;padding:20px}.group-training-summary{margin-bottom:12px;padding:12px;border:1px solid #b9dfd0;border-radius:10px;background:#edf8f3}.group-training-summary strong,.group-training-summary small{display:block}.group-training-summary small{margin-top:4px;color:#4c7566}.group-training-candidates{max-height:430px;overflow:auto;display:grid;gap:7px}.group-training-candidates label{padding:10px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:auto 36px 1fr;align-items:center;gap:9px}.group-training-candidates label.eligible{background:#f3faf6}.group-training-candidates label.excluded{background:var(--surface-2);opacity:.72}.group-training-candidates strong,.group-training-candidates small{display:block}.group-training-candidates small{margin-top:3px;color:var(--muted)}.group-training-settings{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.group-training-settings h3{margin:0 0 14px}@media(max-width:760px){.group-training-body{grid-template-columns:1fr}.group-training-candidates{max-height:300px}}
.plan-deadline-report{font-size:10px}.plan-deadline-report>header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:10px;border-bottom:2px solid #123d20}.plan-deadline-report h1{margin:3px 0 0!important;color:#123d20}.plan-deadline-report>header>span:last-child{text-align:right}.plan-deadline-report>header small,.plan-deadline-report>header strong{display:block}.plan-print-summary{margin:12px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plan-print-summary span{padding:9px;border:1px solid #d8dfda;border-radius:7px}.plan-print-summary strong,.plan-print-summary small{display:block}.plan-print-summary strong{font-size:18px}.plan-print-section{margin-top:14px;break-inside:avoid}.plan-print-section h2{margin:0 0 7px!important;padding:7px 9px;border-left:5px solid #d16b51;background:#f9ebe7;font-size:14px!important}.plan-print-section.upcoming h2{border-left-color:#d89a35;background:#fff5e2}.plan-print-section h2 span{float:right}.plan-print-section table{font-size:9px}.plan-print-section td strong,.plan-print-section td small{display:block}.plan-print-section td small{margin-top:2px;color:#666}.plan-print-empty{padding:12px;border:1px dashed #bbb}.plan-deadline-report>footer{margin-top:14px;padding-top:8px;border-top:1px solid #ccc;color:#666}@media print{body.printing-plans .print-sheet{padding:0!important}.plan-deadline-report{width:100%}.plan-print-section table{table-layout:fixed}.plan-print-section th:nth-child(1){width:11%}.plan-print-section th:nth-child(2){width:19%}.plan-print-section th:nth-child(3){width:24%}.plan-print-section th:nth-child(4){width:18%}.plan-print-section th:nth-child(5){width:10%}.plan-print-section th:nth-child(6){width:18%}}
.matrix-panel .table-scroll{padding-bottom:18px;scrollbar-gutter:stable;box-sizing:border-box}.matrix-table .sticky{isolation:isolate;background:var(--surface)!important}.matrix-table thead th.sticky{box-shadow:8px 1px 14px -13px rgba(21,44,31,.75)}.matrix-table tbody td.sticky{box-shadow:8px 0 14px -13px rgba(21,44,31,.75)}.matrix-table td.matrix-skill-cell{overflow:hidden;isolation:isolate}.matrix-table .matrix-level-button{z-index:1}.matrix-table td.matrix-skill-cell .target-note{z-index:2;max-width:calc(100% - 10px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-compact .matrix-table td.matrix-skill-cell .target-note{max-width:calc(100% - 8px)}@media print{.matrix-panel .table-scroll{padding-bottom:0;scrollbar-gutter:auto}.matrix-table td.matrix-skill-cell{overflow:visible}}
.matrix-table td.matrix-skill-cell .pending-note{position:absolute;z-index:2;left:5px;bottom:5px;max-width:calc(100% - 40px);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.matrix-compact .matrix-table td.matrix-skill-cell .pending-note{display:block;left:50%;bottom:3px;max-width:calc(100% - 8px);padding:1px 4px;transform:translateX(-50%);font-size:7px}.matrix-audit .matrix-table td.matrix-skill-cell .pending-note{display:none}
.matrix-table td.matrix-skill-cell .cell-status,.matrix-compact .matrix-table td.matrix-skill-cell .cell-status{top:6px!important;left:-6px!important;right:auto!important;bottom:auto!important;z-index:3;width:8px;height:8px;box-shadow:0 0 0 2px var(--surface)}
.matrix-table td.matrix-skill-cell .cell-status.empty{padding:0!important;text-align:initial!important;color:inherit!important;font-size:0!important}
.matrix-table td.matrix-skill-cell .target-note.member-objective-trigger{display:grid;place-items:center;width:24px;min-width:24px;max-width:24px;height:24px;padding:0;border-radius:50%;overflow:hidden;font-size:12px!important;line-height:1;text-overflow:clip}.matrix-compact .matrix-table td.matrix-skill-cell .target-note.member-objective-trigger{width:22px;min-width:22px;max-width:22px;height:22px}
.objective-request-note{position:absolute;z-index:4;right:4px;bottom:4px;max-width:calc(100% - 8px);padding:2px 5px;border:1px solid #d9d2ff;border-radius:6px;background:#f1efff;color:#5145a8;font-size:8px!important;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.objective-request-note.accepted{border-color:#b9decf;background:#e7f5ef;color:#176348}.objective-request-card{margin:14px 0;padding:16px;border:1px solid #d9d2ff;border-radius:12px;background:#f8f6ff}.objective-request-card h3{margin:6px 0;font:800 16px Manrope}.objective-request-card p,.objective-request-card blockquote,.objective-request-card small{display:block;margin:7px 0;color:#62656d;font-size:12px;line-height:1.5}.objective-request-card blockquote{padding:9px 11px;border-left:3px solid #7567e8;background:#fff}.objective-request-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media(max-width:820px){.objective-request-actions{align-items:stretch;flex-direction:column}.objective-request-actions .button{justify-content:center}}
.matrix-purpose-switch{width:max-content;max-width:100%;margin:0 0 14px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;gap:4px}.matrix-purpose-switch button{min-height:38px;padding:0 18px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.matrix-purpose-switch button.active{background:var(--text);color:#fff}.matrix-control[hidden]{display:none}.matrix-control{overflow:auto}.matrix-control-table{width:100%;min-width:1120px;border-collapse:collapse}.matrix-control-table th,.matrix-control-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:11px;vertical-align:middle}.matrix-control-table th{position:sticky;top:0;z-index:2;background:var(--surface-2);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.matrix-control-table td strong,.matrix-control-table td small{display:block}.matrix-control-table td small{margin-top:2px;color:var(--muted)}.matrix-control-table tbody tr{cursor:pointer}.matrix-control-table tbody tr:hover{background:var(--surface-2)}.control-status{display:inline-block;padding:4px 7px;border-radius:999px;background:#f0f1f3;color:#686c73;font-weight:800;white-space:nowrap}.control-status.validée{background:#e5f4ee;color:#247a60}.control-status.à-valider{background:#fff1da;color:#91631e}.control-status.expirée{background:#ffebe7;color:#b84f43}.matrix-control-mode>.matrix-panel .table-scroll,.matrix-control-mode .matrix-mobile,.matrix-control-mode .matrix-bulk-bar{display:none!important}.matrix-control-mode .matrix-control{display:block}.matrix-control-mode .matrix-summary{grid-template-columns:repeat(4,1fr)}@media(max-width:700px){.matrix-purpose-switch{width:100%}.matrix-purpose-switch button{flex:1;padding-inline:9px}.matrix-control-table{min-width:980px}}


/* Connexion Opella : palette chaleureuse appliquée uniquement à l’écran d’accès. */
.auth-gate{background:#fffdf9}.auth-visual{background:linear-gradient(145deg,#032408 0%,#064012 72%,#0b521b 100%);color:#fffdf9}.auth-visual:before{width:620px;height:620px;right:-180px;top:-210px;border-color:rgba(255,120,210,.28);box-shadow:0 0 0 78px rgba(255,120,210,.10),0 0 0 156px rgba(255,120,210,.055)}.auth-kicker{color:#ff9ddd}.auth-story>p{color:#d9e8dc}.auth-proof-mark{background:#ff78d2!important;color:#042b0b!important}.auth-proof small,.auth-quote{color:#adc5b2}.auth-panel{background:#fffdf9}.auth-card{padding:34px;border:1px solid #dfe8e1;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(4,43,11,.10)}.auth-organization-context{border-left-color:#ff78d2!important;background:#fff1fa!important;color:#042b0b!important}.auth-form label>input:not([type=checkbox]),.auth-form label>select{background:#fbfcfa!important;border-color:#ccd9cf!important}.auth-form label>input:focus,.auth-form label>select:focus{border-color:#0b6b20!important;box-shadow:0 0 0 3px rgba(11,107,32,.12)!important}.auth-submit{background:#042b0b;color:#fff}.auth-submit:hover{background:#075317}.label-row button,.auth-switch button{color:#8f2f72}@media(max-width:820px){.auth-card{padding:24px;border-radius:18px}.auth-panel{background:#fffdf9}}
.matrix-control-mode .matrix-legend{display:none!important}
.skill-evaluators{display:grid;gap:2px;margin-top:5px;min-width:0}.skill-evaluator{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;font-size:8px;line-height:1.1;text-transform:none;letter-spacing:0}.skill-evaluator b{flex:0 0 auto;padding:2px 4px;border-radius:4px;font-size:7px;font-weight:900}.skill-evaluator em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-weight:800}.skill-evaluator.primary{color:#2369bd}.skill-evaluator.primary b{background:#deebff;color:#1557a5}.skill-evaluator.backup{color:#9a6b00}.skill-evaluator.backup b{background:#ffe083;color:#664500}@media print{.matrix-print-page .skill-evaluators{gap:1px!important;margin-top:2px!important}.matrix-print-page .skill-evaluator{gap:2px!important;font-size:7px!important}.matrix-print-page .skill-evaluator b{padding:1px 3px!important;font-size:6px!important}.matrix-print-page .skill-evaluator em{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1!important}}
.matrix-table thead th{height:auto;min-height:70px;padding-block:8px}
.legend-evaluator{display:inline-flex!important;align-items:center;gap:3px;font-weight:700;white-space:nowrap}.legend-evaluator b{padding:2px 4px;border-radius:4px;font-size:7px;font-weight:900}.legend-evaluator.primary{color:#2369bd}.legend-evaluator.primary b{background:#deebff;color:#1557a5}.legend-evaluator.backup{color:#9a6b00}.legend-evaluator.backup b{background:#ffe083;color:#664500}@media print{.matrix-print-legend .legend-evaluator{width:auto!important;font-size:7px!important}.matrix-print-legend .legend-evaluator b{padding:1px 3px!important;font-size:6px!important}}
.matrix-legend{height:auto;flex-wrap:wrap;padding-block:8px}
#skillValidatorPeople label{grid-template-columns:auto auto minmax(0,1fr) auto!important}#skillValidatorPeople .validator-primary-choice{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;background:#deebff;color:#1557a5;font-size:11px;font-weight:800}#skillValidatorPeople .validator-primary-choice input{margin:0}#skillValidatorPeople input[type="radio"]:disabled+.validator-primary-text{opacity:.45}.quick-validator-list label{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important}.quick-validator-list .validator-primary-choice{display:inline-flex;align-items:center;gap:5px;color:#1557a5;font-size:11px;font-weight:800}

.matrix-panel .table-scroll{padding-bottom:0}.matrix-scroll-spacer{width:100%;height:24px;min-height:24px;pointer-events:none}.matrix-scroll-spacer+*{clear:both}@media(max-width:700px){.matrix-scroll-spacer{display:none}}
.journey-next-action{margin:12px 0;padding:12px 14px;border:1px solid #cfe4d8;border-radius:12px;background:#f1f8f4;display:grid;grid-template-columns:1fr 1fr;gap:14px}.journey-next-action span{min-width:0}.journey-next-action small,.journey-next-action strong{display:block}.journey-next-action small{margin-bottom:3px;color:#628071;font-size:9px;font-weight:900;letter-spacing:.08em}.journey-next-action strong{overflow-wrap:anywhere;color:#123d20;font-size:12px}.shared-journey-steps .blocked i{background:#ffebe7!important;color:#b84f43!important}.shared-journey-steps .blocked strong{color:#b84f43}@media(max-width:700px){.journey-next-action{grid-template-columns:1fr}.shared-journey-steps{grid-template-columns:1fr!important}.shared-journey-steps button{min-width:0!important}}
.member-plans-view .plan-workspace{display:block;max-width:920px}.member-plans-view .plan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.member-plan-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 10px 28px rgba(24,50,34,.06)}.member-plan-card.overdue{border-color:#efc3b5}.member-plan-card header{display:flex;align-items:center;gap:10px}.member-plan-card header>span:nth-child(2){min-width:0;flex:1}.member-plan-card header small,.member-plan-card header h2{display:block;margin:0}.member-plan-card header small{color:var(--muted);font-size:9px;font-weight:800}.member-plan-card header h2{margin-top:3px;font:800 17px Manrope}.member-plan-card header>b{padding:5px 8px;border-radius:999px;background:var(--surface-2);font-size:9px}.member-plan-target{margin:18px 0;padding:13px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;gap:24px;text-align:center}.member-plan-target small,.member-plan-target strong{display:block}.member-plan-target small,.member-plan-next small{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.06em}.member-plan-target strong{margin-top:3px;font:800 22px Manrope}.member-plan-next{padding:12px 0;border-bottom:1px solid var(--line)}.member-plan-next strong{display:block;margin-top:4px;font-size:12px}.member-plan-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:13px 0}.member-plan-card dt{color:var(--muted);font-size:9px}.member-plan-card dd{margin:3px 0 0;font-size:11px;font-weight:800}.member-plan-card dd.late{color:#b84f43}.member-plan-progress{display:flex;align-items:center;gap:10px;margin:14px 0}.member-plan-progress span{height:7px;flex:1;border-radius:8px;background:var(--surface-2);overflow:hidden}.member-plan-progress span i{display:block;height:100%;background:#278066}.member-plan-progress strong{font-size:10px}.member-plan-card>.button{width:100%;justify-content:center}.member-plans-empty{padding:42px 24px;border:1px dashed #bfd3c6;border-radius:18px;background:#f8fcf9;text-align:center}.member-plans-empty>span{width:48px;height:48px;margin:0 auto 14px;border-radius:14px;background:#e2f2e9;color:#176348;display:grid;place-items:center;font-size:24px}.member-plans-empty h2{margin:0;font:800 20px Manrope}.member-plans-empty p{max-width:560px;margin:10px auto 20px;color:var(--muted);line-height:1.6}.member-plans-empty .button{display:inline-flex}@media(max-width:760px){.member-plans-view .plan-list{grid-template-columns:1fr}.member-plan-card{padding:16px}}

/* Tableau de pilotage interactif */
.bi-filters{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px;padding:12px 14px}.bi-filters label{min-width:150px;color:var(--muted);font-size:11px;font-weight:700}.bi-filters select{display:block;width:100%;height:38px;margin-top:4px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.bi-filters>button{height:38px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-weight:700}.bi-filters>span{margin-left:auto;padding-bottom:8px;color:var(--muted);font-size:11px;text-align:right}.bi-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.bi-kpi{position:relative;min-width:0;min-height:142px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-align:center;cursor:pointer;transition:.18s}.bi-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.bi-kpi-icon{position:absolute;top:12px;right:12px;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--surface-2);font-weight:900}.bi-kpi>small,.bi-kpi>strong,.bi-kpi>span:not(.bi-kpi-icon),.bi-kpi>b{display:block}.bi-kpi>small{min-height:32px;padding:3px 28px 0 0;color:var(--muted);font-size:11px;font-weight:700;text-align:left}.bi-kpi>strong{margin:8px 0 2px;font:800 30px Manrope}.bi-kpi>span:not(.bi-kpi-icon){color:var(--muted);font-size:10px}.bi-kpi>b{margin-top:7px;font-size:9px}.bi-kpi>b.up{color:#278066}.bi-kpi>b.down{color:#bd5142}.bi-kpi.violet{border-top:3px solid #7567e8}.bi-kpi.green{border-top:3px solid #278066}.bi-kpi.blue{border-top:3px solid #3187d6}.bi-kpi.orange{border-top:3px solid #e99b2f}.bi-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.bi-card{min-width:0;padding:19px;overflow:hidden}.bi-card .panel-head{margin-bottom:16px}.bi-card .panel-head h2{font-size:17px}.bi-coverage,.bi-trend,.bi-experts,.bi-training{grid-column:span 6}.bi-alerts{grid-column:span 7}.bi-deadlines{grid-column:span 5}.bi-dual-donuts{display:flex;align-items:center;justify-content:center;gap:42px;padding:12px}.bi-donut{--value:0;position:relative;width:138px;height:138px;display:grid;place-items:center;border:0;border-radius:50%;background:conic-gradient(#042b0b calc(var(--value)*1%),#e8ece9 0);color:var(--text);cursor:pointer}.bi-donut.mastery{background:conic-gradient(#7567e8 calc(var(--value)*1%),#e8e7f0 0)}.bi-donut:before{content:"";position:absolute;inset:17px;border-radius:50%;background:var(--surface)}.bi-donut>span{z-index:1;text-align:center}.bi-donut strong,.bi-donut small{display:block}.bi-donut strong{font:800 25px Manrope}.bi-donut small{max-width:82px;color:var(--muted);font-size:9px}.bi-coverage-summary{text-align:center}.bi-coverage-summary strong,.bi-coverage-summary span{display:block}.bi-coverage-summary span{margin-top:4px;color:var(--muted);font-size:11px}.bi-line-chart{width:100%;height:210px}.bi-line-chart .grid line{stroke:var(--line);stroke-width:1}.bi-line-chart polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.bi-line-chart polyline.trained{stroke:#3187d6}.bi-line-chart polyline.validated{stroke:#278066}.bi-line-chart circle.trained{fill:#3187d6}.bi-line-chart circle.validated{fill:#278066}.bi-line-chart text{fill:var(--muted);font-size:9px;text-anchor:middle}.bi-chart-legend{display:flex;justify-content:center;gap:22px;font-size:10px}.bi-chart-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:3px}.bi-chart-legend .trained:before,.bi-chart-legend .planned:before{background:#3187d6}.bi-chart-legend .validated:before,.bi-chart-legend .completed:before{background:#278066}.bi-expert-row{width:100%;min-height:50px;padding:7px 0;display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(100px,1fr) 62px;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.bi-expert-row strong,.bi-expert-row small{display:block}.bi-expert-row small{color:var(--muted);font-size:10px}.bi-stack{height:9px;display:flex;border-radius:8px;background:var(--surface-2);overflow:hidden}.bi-stack i{background:#042b0b}.bi-stack b{background:#8bc6b0}.bi-expert-row em{padding:4px 6px;border-radius:7px;font-size:9px;font-style:normal;font-weight:800;text-align:center}.bi-expert-row em.critique{background:#ffebe7;color:#bd5142}.bi-expert-row em.fragile{background:#fff1d9;color:#98671c}.bi-expert-row em.couvert{background:#e4f3ed;color:#24765d}.bi-bars{height:190px;display:flex;align-items:flex-end;justify-content:space-around;gap:8px;padding:12px 8px 0;border-bottom:1px solid var(--line)}.bi-bars>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;text-align:center}.bi-bars>div>span{height:155px;display:flex;align-items:flex-end;justify-content:center;gap:4px}.bi-bars i,.bi-bars b{width:min(20px,38%);min-height:2px;border-radius:5px 5px 0 0}.bi-bars i{background:#3187d6}.bi-bars b{background:#278066}.bi-bars small{padding:5px 0;color:var(--muted);font-size:9px}.bi-conversion{display:flex;justify-content:center;align-items:baseline;gap:7px;margin-top:12px}.bi-conversion strong{font:800 22px Manrope}.bi-conversion span{color:var(--muted);font-size:10px}.bi-alerts>div>button,.bi-alerts>button{width:100%;min-height:55px;padding:8px 0;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.bi-alerts button>b{color:#a2a6a3}.bi-alerts button span strong,.bi-alerts button span small{display:block}.bi-alerts button span small{margin-top:3px;color:var(--muted);font-size:10px}.bi-alerts button em{color:#6258c4;font-size:10px;font-style:normal;font-weight:800}.bi-deadlines>button{width:100%;min-height:74px;padding:10px;display:grid;grid-template-columns:74px repeat(3,1fr) auto;align-items:center;gap:6px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:center}.bi-deadlines>button>strong{text-align:left}.bi-deadlines span b,.bi-deadlines span small{display:block}.bi-deadlines span b{font:800 17px Manrope}.bi-deadlines span small{color:var(--muted);font-size:9px}.bi-deadlines em{color:#6258c4;font-size:10px;font-style:normal;font-weight:800}@media(max-width:1250px){.bi-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.bi-filters{align-items:stretch;flex-wrap:wrap}.bi-filters label{flex:1 1 180px}.bi-filters>span{width:100%;text-align:left}.bi-coverage,.bi-trend,.bi-experts,.bi-training,.bi-alerts,.bi-deadlines{grid-column:1/-1}}@media(max-width:620px){.bi-kpis{grid-template-columns:repeat(2,1fr)}.bi-dual-donuts{gap:14px}.bi-donut{width:112px;height:112px}.bi-deadlines>button{grid-template-columns:1fr repeat(3,1fr)}.bi-deadlines>button em{display:none}}@media(max-width:420px){.bi-kpis{grid-template-columns:1fr}.bi-dual-donuts{flex-direction:column}}

.bi-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.bi-kpi{min-height:118px}.bi-kpi>small{min-height:0;padding:0;text-align:center}.timeline-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.timeline-column{min-width:0;padding:18px;overflow:hidden}.timeline-column>header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.timeline-column>header>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-weight:900}.timeline-column.past>header>span{background:#e4f3ed;color:#24765d}.timeline-column.now>header>span{background:#fff0e7;color:#bd5142}.timeline-column.future>header>span{background:#e8f2fc;color:#276ea9}.timeline-column header small,.timeline-column header h2{display:block;margin:0}.timeline-column header small{color:var(--muted);font-size:9px;font-weight:800}.timeline-column header h2{font:800 15px Manrope}.timeline-column>div>button{width:100%;min-height:56px;padding:8px 3px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.timeline-column button strong,.timeline-column button small{display:block}.timeline-column button small{margin-top:3px;color:var(--muted);font-size:10px}.timeline-column button>b{color:#7163d9}.timeline-column button.late strong{color:#b94f40}.timeline-column button.timeline-more{min-height:38px;justify-content:center;color:#6258c4;font-weight:800}.timeline-empty{padding:24px 8px;color:#6f7871;text-align:center}.timeline-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.future-load-chart{display:grid;gap:12px;padding:12px 4px}.future-load-chart>div{display:grid;grid-template-columns:64px 1fr;gap:5px 10px;align-items:center}.future-load-chart>div>strong{grid-row:1/4}.future-load-chart span{position:relative;height:20px;border-radius:5px;background:var(--surface-2);overflow:hidden}.future-load-chart i,.future-load-chart b,.future-load-chart em{position:absolute;inset:0 auto 0 0;min-width:2px}.future-load-chart i{background:#3187d6}.future-load-chart b{background:#278066}.future-load-chart em{background:#e99b2f}.future-load-chart small{position:relative;z-index:1;display:block;padding:3px 6px;font-size:9px}.timeline-risks{margin-top:14px}.timeline-risks #biAlerts{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.timeline-risks #biAlerts>button{width:100%;min-height:54px;padding:7px 0;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.timeline-risks button span strong,.timeline-risks button span small{display:block}.timeline-risks button span small{color:var(--muted);font-size:10px}.timeline-risks button em{color:#6258c4;font-size:10px;font-style:normal;font-weight:800}@media(max-width:1000px){.bi-kpis{grid-template-columns:repeat(2,1fr)}.timeline-dashboard,.timeline-charts{grid-template-columns:1fr}.timeline-risks #biAlerts{grid-template-columns:1fr}}@media(max-width:520px){.bi-kpis{grid-template-columns:1fr}}
.training-calendar-date{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;padding:2px 4px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;cursor:pointer}.training-calendar-date:hover,.training-calendar-date:focus-visible{background:#eef7f1;color:#07552b;text-decoration-color:currentColor}.training-calendar-date i{font-style:normal;color:#16875c}.training-work-main>span>.training-calendar-date{font-size:12px;font-weight:600}.training-business-table .training-calendar-date{white-space:normal}

/* Actions du plan : pied lisible, sans chevauchement ni bouton coupe. */
#planDetailDialog .plan-detail-actions{position:sticky;bottom:0;z-index:8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:14px 18px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -10px 24px rgba(21,38,29,.08)}
#planDetailDialog .plan-detail-actions>button{width:100%;min-width:0;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.25;font-size:10px;font-weight:750;cursor:pointer}
#planDetailDialog .plan-detail-actions>button:hover{background:var(--surface-2);border-color:#b8c4bc}
#planDetailDialog .plan-detail-actions>.dark{border-color:#043a1a;background:#043a1a;color:#fff}#planDetailDialog .plan-detail-actions>.dark:hover{background:#075126;border-color:#075126}
#planDetailDialog .plan-detail-actions>.plan-override-button{border-color:#e0b06d!important;background:#fff8ec!important;color:#875411!important}
#planDetailDialog .plan-detail-actions>[data-plan-cancel]{border-color:#e6c785;background:#fffaf0;color:#825912}
#planDetailDialog .plan-detail-actions>[data-plan-delete-objective]{border-color:#e7aaa4;background:#fff4f2;color:#a2352c}#planDetailDialog .plan-detail-actions>[data-plan-delete-objective]:hover{border-color:#d67f77;background:#ffe9e6}
.owner-bulk-action.danger-button{border-color:#d98f87;background:#fff4f2;color:#9f3028}.owner-bulk-action.danger-button:hover{border-color:#c8645a;background:#ffe8e4}
@media(max-width:700px){dialog#planDetailDialog .plan-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:14px}}
@media(max-width:440px){body dialog#planDetailDialog .plan-detail-actions{grid-template-columns:1fr}dialog#planDetailDialog .plan-detail-actions>button{width:100%}}
.profile-certificate-list article>span:last-child{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.certificate-email-status.sent{color:#24765d}.certificate-email-status.failed{color:#bd5142}.certificate-email-status.sending{color:#8c631f}
.training-toolbar:has(.training-search[hidden]){grid-template-columns:minmax(220px,1fr) minmax(155px,170px) minmax(300px,max-content)}
.training-toolbar:has(.training-search[hidden]) .training-view-switch{min-width:0;max-width:100%;justify-self:stretch;overflow-x:auto}
@media(max-width:1250px){body .training-toolbar:has(.training-search[hidden]){grid-template-columns:minmax(0,1fr) minmax(155px,.55fr)}body .training-toolbar:has(.training-search[hidden]) .training-view-switch{grid-column:1/-1;width:100%}}
@media(max-width:800px){html body .training-toolbar:has(.training-search[hidden]){grid-template-columns:minmax(0,1fr)}html body .training-toolbar:has(.training-search[hidden]) .training-view-switch{grid-column:auto}html body .training-toolbar:has(.training-search[hidden]) .training-view-switch button{flex:1 0 auto}}
.objective-delivery-history{margin-top:16px;padding-top:14px;border-top:1px solid var(--line,#d9e0dc)}
.objective-delivery-history>strong{display:block;margin-bottom:8px}
.objective-delivery-history ul{display:grid;gap:7px;margin:0 0 10px;padding:0;list-style:none}
.objective-delivery-history li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;background:#edf8f3;color:#07552b}
.objective-delivery-history li.failed{background:#fff1ed;color:#9b3f2d}
.objective-delivery-history li small{color:inherit;text-align:right;overflow-wrap:anywhere}
.matrix-panel .matrix-table tbody td.matrix-skill-cell .matrix-level-button>.level{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:auto!important;border-radius:8px!important;transform:none!important}
.matrix-compact .matrix-panel .matrix-table tbody td.matrix-skill-cell .matrix-level-button>.level{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}


/* Persistent delivery feedback for training emails. */
#trainingEmailFeedback{padding:12px 14px;margin:0 0 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.delivery-badges [data-training-delivery]{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.delivery-badges .failed{background:#fff0ee;color:#a12424}.training-participant-table i.failed{color:#a12424;font-style:normal}.attendance-rows article>span:first-child>span{min-width:0}
.registry-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:138px}.registry-reverse{border:1px solid #e8bfd7;background:#fff3fa;color:#a62973;border-radius:9px;padding:7px 9px;font-weight:750;cursor:pointer}.registry-reverse:hover{background:#ffdff1;border-color:#d9579e}.registry-reverse.unavailable{background:#f4f4f2;border-color:#deded8;color:#999;cursor:not-allowed}.registry-status.revoked,.registry-status.cancelled{background:#f7e8ee;color:#9e315a}

/* Align accordion headings with standard navigation items. */
.nav-group>summary{gap:12px}
.attendance-summary.with-visa{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.attendance-summary .visa-wait{border-color:#e7c98c;background:#fff3dc;color:#94651c}.attendance-summary .visa-wait small{color:#94651c}
.attendance-visa{margin-top:10px;padding:14px;border:2px solid var(--violet);border-radius:13px;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:12px;background:var(--surface)}.attendance-visa .visa-who{display:flex;align-items:center;gap:9px;min-width:0}.attendance-visa strong,.attendance-visa small{display:block}.attendance-visa .visa-who small{color:var(--muted)}.visa-avatar{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--dark);color:#fff;font-weight:800}
.attendance-visa .visa-sign{padding:10px 14px;border-radius:9px;background:var(--dark);color:#fff;font-size:12px}.attendance-visa .visa-sign:disabled{opacity:.35;cursor:not-allowed}
.attendance-visa-rule{display:flex;gap:10px;margin:10px 0 0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:12px}.attendance-visa-rule b{color:var(--text)}
.attendance-close-hint{margin-right:auto;align-self:center;color:var(--muted);font-size:12px}
.visa-fields{display:grid;gap:13px}.visa-fields select{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font:600 13px Manrope,sans-serif}.visa-fields small{color:var(--muted);font-weight:500;font-size:11px}.visa-attest{margin:0;padding:11px 13px;border-left:3px solid var(--violet);border-radius:0 9px 9px 0;background:#ebe8ff;font-size:12px;font-weight:500}
@media(max-width:760px){.attendance-visa{grid-template-columns:1fr}}
.print-visa-box{margin-top:14px;border:1.5px solid #1d1f23;border-radius:4px;display:grid;grid-template-columns:1.3fr 1fr;min-height:92px;break-inside:avoid}.print-visa-box>div{padding:10px 12px}.print-visa-box>div+div{border-left:1px solid #d4d5d9}.print-visa-box h4{margin:0 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.print-visa-box p{margin:2px 0;color:#3c3f46;font-size:11px}.print-visa-box .print-visa-note{margin-top:6px;font-size:10px;color:#6b6e75}.print-visa-box img{width:150px;height:52px;object-fit:contain}

/* Shared logo sizing also applies to standalone public and administration pages. */
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}

/* === dashboard-executive.css === */
/* Vue d'ensemble exécutive Opella. Ce fichier reste isolé du reste de l'application. */
#view-dashboard>.page-heading{position:relative;min-height:172px;margin:-2px 0 0;padding:30px 34px 54px;border:0;border-radius:22px;overflow:hidden;background:linear-gradient(125deg,#052c19 0%,#0b4730 62%,#153c34 100%);color:#fff;box-shadow:0 18px 45px rgba(4,43,11,.16)}
#view-dashboard>.page-heading:before,#view-dashboard>.page-heading:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
#view-dashboard>.page-heading:before{width:340px;height:340px;right:-110px;top:-220px;border:55px solid rgba(255,255,255,.055)}
#view-dashboard>.page-heading:after{width:170px;height:170px;right:245px;bottom:-135px;background:rgba(201,164,83,.14)}
#view-dashboard>.page-heading>div,#view-dashboard>.page-heading>.heading-actions{position:relative;z-index:1}
#view-dashboard>.page-heading .date-label{color:#d5c08b;letter-spacing:.16em}
#view-dashboard>.page-heading h1{margin:8px 0 5px;font-size:clamp(28px,3vw,42px);letter-spacing:-.035em}
#view-dashboard>.page-heading p{max-width:650px;color:rgba(255,255,255,.72);font-size:14px}
#view-dashboard>.page-heading .button{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(8px)}
#view-dashboard>.page-heading .button.dark{border-color:#d6bb79;background:#d6bb79;color:#173225}
#view-dashboard .bi-filters{position:relative;z-index:2;margin:-34px 20px 22px;padding:15px 18px;border-color:rgba(4,43,11,.09);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 14px 32px rgba(19,48,33,.12);backdrop-filter:blur(14px)}
#view-dashboard .bi-filters select,#view-dashboard .bi-filters>button{background:#f7f8f5}
#view-dashboard .bi-kpis{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:12px;margin-bottom:18px}
#view-dashboard .bi-kpi{min-height:112px;padding:16px 18px;border:0;border-radius:16px;background:#fff;text-align:left;box-shadow:0 7px 24px rgba(20,44,31,.07)}
#view-dashboard .bi-kpi:after{content:"";position:absolute;right:15px;bottom:15px;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,rgba(4,43,11,.04),rgba(4,43,11,.12))}
#view-dashboard .bi-kpi>small{min-height:0;padding:0;text-align:left;text-transform:uppercase;letter-spacing:.07em;font-size:9px}
#view-dashboard .bi-kpi>strong{margin:10px 0 4px;font-size:32px;line-height:1}
#view-dashboard .bi-kpi>span:not(.bi-kpi-icon){max-width:85%;font-size:10px}
#view-dashboard .bi-kpi:nth-child(3){grid-column:1/7;grid-row:1;min-height:154px;padding:24px 26px;background:linear-gradient(125deg,#082f1d,#11523a);color:#fff;box-shadow:0 14px 34px rgba(4,43,11,.18)}
#view-dashboard .bi-kpi:nth-child(4){grid-column:7/13;grid-row:1;min-height:154px;padding:24px 26px;background:linear-gradient(125deg,#29254d,#514789);color:#fff;box-shadow:0 14px 34px rgba(54,47,106,.16)}
#view-dashboard .bi-kpi:nth-child(3)>small,#view-dashboard .bi-kpi:nth-child(3)>span,#view-dashboard .bi-kpi:nth-child(4)>small,#view-dashboard .bi-kpi:nth-child(4)>span{color:rgba(255,255,255,.72)}
#view-dashboard .bi-kpi:nth-child(3)>strong,#view-dashboard .bi-kpi:nth-child(4)>strong{font-size:46px}
#view-dashboard .bi-kpi:nth-child(3):after,#view-dashboard .bi-kpi:nth-child(4):after{width:76px;height:76px;right:24px;bottom:22px;border:14px solid rgba(255,255,255,.12);border-radius:50%;background:transparent}
#view-dashboard .bi-kpi:nth-child(1){grid-column:1/4;grid-row:2}#view-dashboard .bi-kpi:nth-child(2){grid-column:4/7;grid-row:2}#view-dashboard .bi-kpi:nth-child(5){grid-column:7/10;grid-row:2}#view-dashboard .bi-kpi:nth-child(6){grid-column:10/13;grid-row:2}
#view-dashboard .timeline-dashboard{position:relative;align-items:start;gap:16px}
#view-dashboard .timeline-dashboard:before{content:"";position:absolute;left:16.66%;right:16.66%;top:36px;height:2px;background:linear-gradient(90deg,#4f9b7e,#d59b4c,#528bc4);opacity:.45}
#view-dashboard .timeline-column{position:relative;align-self:start;height:auto;min-height:0;padding:20px;border:0;border-radius:17px;background:#fff;box-shadow:0 7px 25px rgba(20,44,31,.065)}
#view-dashboard .timeline-column>header{position:relative;z-index:1;padding-bottom:13px;border-bottom:1px solid var(--line)}
#view-dashboard .timeline-column>header>span{box-shadow:0 0 0 7px #fff}
#view-dashboard .timeline-column>div>button{padding:11px 5px;transition:.16s}
#view-dashboard .timeline-column button strong{font-size:12px;line-height:1.35}
#view-dashboard .timeline-column button small{font-size:10.5px;line-height:1.4}
#view-dashboard .timeline-column>div>button:hover{padding-left:10px;border-radius:9px;background:#f7f8f5}
#view-dashboard .timeline-charts{gap:16px;margin-top:16px}
#view-dashboard .timeline-charts .bi-card{border:0;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,44,31,.07)}
#view-dashboard .timeline-charts .bi-card{min-height:330px;padding:23px}
#view-dashboard .bi-card .panel-head{padding-bottom:14px;border-bottom:1px solid var(--line)}
#view-dashboard .bi-line-chart{height:225px}#view-dashboard .bi-line-chart polyline{filter:drop-shadow(0 4px 4px rgba(39,128,102,.16))}
#view-dashboard .future-load-chart span{height:23px;background:#f0f2ef}
#view-dashboard .future-load-chart i,#view-dashboard .future-load-chart b,#view-dashboard .future-load-chart em{border-radius:5px}
#view-dashboard .bi-filters label{font-size:11px}#view-dashboard .bi-filters select{font-size:12px;font-weight:650}
#view-dashboard .bi-kpi>small{font-size:10px}#view-dashboard .bi-kpi>span:not(.bi-kpi-icon){font-size:11px;line-height:1.4}
@media(max-width:1100px){#view-dashboard .bi-kpi:nth-child(3),#view-dashboard .bi-kpi:nth-child(4){grid-column:span 6;grid-row:auto}#view-dashboard .bi-kpi:nth-child(1),#view-dashboard .bi-kpi:nth-child(2),#view-dashboard .bi-kpi:nth-child(5),#view-dashboard .bi-kpi:nth-child(6){grid-column:span 6;grid-row:auto}#view-dashboard .timeline-dashboard:before{display:none}}
@media(max-width:650px){#view-dashboard>.page-heading{padding:24px 20px 46px;border-radius:16px}#view-dashboard .bi-filters{margin:-27px 8px 18px}#view-dashboard .bi-kpi:nth-child(n){grid-column:1/-1;grid-row:auto}#view-dashboard .bi-kpi:nth-child(3),#view-dashboard .bi-kpi:nth-child(4){min-height:135px}#view-dashboard .timeline-charts .bi-card{min-height:0}}

/* Bandeau et commandes restent deux blocs distincts, sans aucun chevauchement. */
#view-dashboard>.page-heading{min-height:0;margin:0;padding:25px 28px;border-radius:18px}
#view-dashboard .bi-filters{margin:14px 0 20px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 18px rgba(20,44,31,.055);backdrop-filter:none}
/* Les indicateurs stratégiques restent sobres et lisibles, sans aplats trop lourds. */
#view-dashboard .bi-kpi:nth-child(3){background:linear-gradient(135deg,#edf5f0,#f8faf8);color:#123323;border:1px solid #cddfd5;box-shadow:0 8px 24px rgba(20,74,48,.08)}
#view-dashboard .bi-kpi:nth-child(4){background:linear-gradient(135deg,#f1eff9,#faf9fd);color:#302b58;border:1px solid #dbd7ef;box-shadow:0 8px 24px rgba(54,47,106,.08)}
#view-dashboard .bi-kpi:nth-child(3)>small,#view-dashboard .bi-kpi:nth-child(3)>span{color:#61766a}
#view-dashboard .bi-kpi:nth-child(4)>small,#view-dashboard .bi-kpi:nth-child(4)>span{color:#716d8b}
#view-dashboard .bi-kpi:nth-child(3):after{border-color:rgba(23,104,67,.14)}#view-dashboard .bi-kpi:nth-child(4):after{border-color:rgba(81,71,137,.14)}
@media(max-width:650px){#view-dashboard>.page-heading{padding:22px 19px}#view-dashboard .bi-filters{margin:12px 0 17px}body #view-dashboard .dashboard-command{padding:18px 16px;border-radius:16px}body #view-dashboard .dashboard-command>header{display:block}body #view-dashboard .dashboard-role-badge{display:inline-block;margin-top:10px}html body #view-dashboard .dashboard-command-grid{grid-template-columns:minmax(0,1fr)}body #view-dashboard .dashboard-decision,html body #view-dashboard .dashboard-decision:nth-child(3){grid-column:auto;min-height:210px}body #view-dashboard .dashboard-decision>span:not(.dashboard-decision-top){grid-template-columns:52px minmax(0,1fr)}}

/* Chaque indicateur expose sa progression et ouvre seulement les données concernées. */
#view-dashboard .bi-kpi{padding-bottom:32px}
#view-dashboard .bi-kpi-progress{position:absolute;z-index:2;left:18px;right:18px;bottom:14px;height:6px;border-radius:999px;background:#e7ebe8;overflow:hidden}
#view-dashboard .bi-kpi-progress>b{display:block;height:100%;min-width:0;border-radius:inherit;background:#24765d;transition:width .25s ease}
#view-dashboard .bi-kpi.violet .bi-kpi-progress>b{background:#6559b8}#view-dashboard .bi-kpi.orange .bi-kpi-progress>b{background:#dd8f2d}#view-dashboard .bi-kpi.blue .bi-kpi-progress>b{background:#3187d6}
#view-dashboard .bi-kpi:nth-child(3),#view-dashboard .bi-kpi:nth-child(4){padding-bottom:38px}
.dashboard-metric-dialog{width:min(820px,calc(100vw - 28px));max-height:min(760px,90vh)}
.dashboard-metric-list{max-height:58vh;padding:5px 22px 18px;overflow:auto}
.dashboard-metric-list>button{width:100%;min-height:58px;padding:10px 8px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}
.dashboard-metric-list>button:hover{padding-left:13px;border-radius:9px;background:var(--surface-2)}
.dashboard-metric-list strong,.dashboard-metric-list small{display:block}.dashboard-metric-list small{margin-top:4px;color:var(--muted)}.dashboard-metric-list button>b{color:#6258c4;white-space:nowrap}
.dashboard-metric-list .dashboard-source-type{display:inline-block;margin-bottom:5px;padding:3px 7px;border-radius:99px;background:#eef4f0;color:#28634f;font-size:8px;font-style:normal;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
#biFutureChart[role="button"]{cursor:pointer;border-radius:10px;outline-offset:4px}
#biFutureChart[role="button"]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent)}

/* Seuls les deux indicateurs stratégiques utilisent une progression circulaire. */
#view-dashboard .bi-kpi{padding:17px 18px;text-align:center}
#view-dashboard .bi-kpi>small,#view-dashboard .bi-kpi>span:not(.bi-kpi-icon){max-width:100%;text-align:center}
#view-dashboard .bi-kpi>strong{margin:10px auto 4px;text-align:center}
#view-dashboard .bi-kpi:after,#view-dashboard .bi-kpi-progress{display:none}
#view-dashboard .bi-kpi.strategic{min-height:190px;padding:18px 24px;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:center}
#view-dashboard .bi-kpi-donut{--value:0;position:relative;width:96px;height:96px;margin:8px auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#24765d calc(var(--value)*1%),#dce8e1 0);font-style:normal}
#view-dashboard .bi-kpi-donut:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#f7faf8}
#view-dashboard .bi-kpi-donut>b{position:relative;z-index:1;color:#123323;font:800 24px Manrope}
#view-dashboard .bi-kpi:nth-child(4) .bi-kpi-donut{background:conic-gradient(#6559b8 calc(var(--value)*1%),#e3e0f1 0)}
#view-dashboard .bi-kpi:nth-child(4) .bi-kpi-donut:before{background:#f8f7fc}#view-dashboard .bi-kpi:nth-child(4) .bi-kpi-donut>b{color:#302b58}
/* Passé, cette semaine et à venir forment un cadre unique, aligné et centré. */
#view-dashboard .timeline-dashboard{align-items:stretch;gap:0;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,44,31,.07);overflow:hidden}
#view-dashboard .timeline-dashboard:before{display:none}
#view-dashboard .timeline-column{align-self:stretch;height:100%;border-radius:0;background:transparent;box-shadow:none}
#view-dashboard .timeline-column:not(:last-child){border-right:1px solid var(--line)}
#view-dashboard .timeline-column>header{justify-content:center;text-align:center}
#view-dashboard .timeline-column>div>button{text-align:center}#view-dashboard .timeline-column>div>button>span{flex:1}
@media(max-width:1000px){#view-dashboard .timeline-dashboard{gap:12px;border:0;background:transparent;box-shadow:none;overflow:visible}#view-dashboard .timeline-column{border:1px solid var(--line)!important;border-radius:16px;background:#fff;box-shadow:0 7px 25px rgba(20,44,31,.065)}body #view-dashboard .dashboard-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body #view-dashboard .dashboard-decision:nth-child(3){grid-column:1/-1}}

#view-dashboard .bi-objective-summary{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:3px 0 7px;text-align:center}
#view-dashboard .bi-objective-summary strong{color:#153426;font:800 20px Manrope,sans-serif}
#view-dashboard .bi-objective-summary span{color:var(--muted);font-size:10px}
#view-dashboard .objective-chart .chart-axis{stroke:#8d9a92;stroke-width:1.2}
#view-dashboard .objective-chart .axis-tick{fill:#65736b;font-size:9px;text-anchor:end}
#view-dashboard .objective-chart .axis-title{fill:#43574b;font-size:9px;font-weight:800;letter-spacing:.03em}
#view-dashboard .objective-chart .axis-title-y{text-anchor:middle}
#view-dashboard .objective-chart .axis-title-x{text-anchor:middle}
#view-dashboard .objective-chart .point-value{font-size:9px;font-weight:900;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
#view-dashboard .objective-chart .planned-value{fill:#2675bb}
#view-dashboard .objective-chart .achieved-value{fill:#1d7255}
#view-dashboard .objective-chart .x-label{fill:#65736b;font-size:9px;text-anchor:middle}

/* Classement actionnable, calculé uniquement sur les validations officielles actives. */
#view-dashboard .skill-maturity-card{margin-top:16px;padding:22px 24px;border:0;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,44,31,.07)}
#view-dashboard .skill-maturity-card .panel-head p{margin:4px 0 0;color:var(--muted);font-size:10.5px}
#view-dashboard #biSkillMaturity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
#view-dashboard #biSkillMaturity>button{min-width:0;padding:12px;display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:11px;border:1px solid #e1e8e3;border-radius:14px;background:linear-gradient(145deg,#fff,#fafcfb);color:var(--text);text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
#view-dashboard #biSkillMaturity>button:hover{transform:translateY(-2px);border-color:rgba(255,91,167,.42);box-shadow:0 9px 22px rgba(50,69,57,.09)}
#view-dashboard .skill-maturity-score{--value:0;position:relative;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#ff78d2 calc(var(--value)*1%),#f2e6ed 0)}
#view-dashboard .skill-maturity-score:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
#view-dashboard .skill-maturity-score b{position:relative;color:#74325b;font:850 11px Manrope}
#view-dashboard .skill-maturity-copy{display:block;min-width:0}
#view-dashboard .skill-maturity-copy strong,#view-dashboard .skill-maturity-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-dashboard .skill-maturity-copy strong{font-size:12px}#view-dashboard .skill-maturity-copy small{margin-top:4px;color:var(--muted);font-size:9px}
#view-dashboard .skill-maturity-copy i{height:4px;margin-top:8px;display:block;border-radius:99px;background:#edf1ee;overflow:hidden}#view-dashboard .skill-maturity-copy i em{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#ff78d2,#8a67df)}
#view-dashboard .skill-maturity-open{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#fff0f8;color:#c83e91;font-weight:900}
#view-dashboard .top-mastery-card{margin-top:16px;padding:22px 24px;border:0;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,44,31,.07)}
#view-dashboard .top-mastery-card .live-pill{border:0;cursor:pointer}
#view-dashboard #biTopMastery>button{width:100%;min-height:62px;padding:9px 7px;display:grid;grid-template-columns:24px 38px minmax(0,1fr) 48px;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}
#view-dashboard #biTopMastery>button:hover{border-radius:10px;background:#f7f9f7}
#view-dashboard #biTopMastery>button>b{color:#829087;font:800 13px Manrope;text-align:center}
#view-dashboard #biTopMastery .avatar{width:38px;height:38px}
#view-dashboard #biTopMastery span{display:block;min-width:0}
#view-dashboard #biTopMastery strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
#view-dashboard #biTopMastery small{display:block;min-width:0;margin-top:3px;color:var(--muted);font-size:9.5px}
#view-dashboard #biTopMastery i{height:4px;margin-top:7px;display:block;border-radius:99px;background:#e4ebe6;overflow:hidden}
#view-dashboard #biTopMastery i em{height:100%;display:block;border-radius:inherit;background:#24765d}
#view-dashboard #biTopMastery mark{padding:5px 7px;border-radius:9px;background:#e8f3ed;color:#155f43;font:800 12px Manrope;text-align:center}

/* Couche de décision : priorités contextualisées et explicables, sans dupliquer les règles métier. */
#view-dashboard .dashboard-command{margin:0 0 18px;padding:22px 24px;border:1px solid #dbe5de;border-radius:18px;background:linear-gradient(135deg,#fbfdfb 0%,#f3f8f5 100%);box-shadow:0 8px 28px rgba(20,44,31,.06)}
#view-dashboard .dashboard-command>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}
#view-dashboard .dashboard-command h2{margin:4px 0;font-size:22px;letter-spacing:-.025em}
#view-dashboard .dashboard-command p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
#view-dashboard .dashboard-role-badge{flex:none;padding:7px 11px;border:1px solid #c9ddd1;border-radius:999px;background:#fff;color:#205f45;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
#view-dashboard .dashboard-command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#view-dashboard .dashboard-decision{min-width:0;min-height:224px;padding:17px;display:flex;flex-direction:column;gap:8px;border:1px solid #dce6df;border-radius:15px;background:#fff;color:var(--text);text-align:left;cursor:pointer;box-shadow:0 5px 18px rgba(20,44,31,.045);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
#view-dashboard .dashboard-decision:hover{transform:translateY(-2px);border-color:#b9d2c3;box-shadow:0 10px 24px rgba(20,74,48,.1)}
#view-dashboard .dashboard-decision.primary{border-color:#accbbb;background:linear-gradient(145deg,#0b4730,#145d42);color:#fff;box-shadow:0 10px 26px rgba(11,71,48,.16)}
#view-dashboard .dashboard-decision-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
#view-dashboard .dashboard-decision-top em{color:#2a7056;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
#view-dashboard .dashboard-decision-top>b{color:#9aaba1;font:800 11px Manrope}
#view-dashboard .dashboard-decision>strong{min-width:0;overflow-wrap:anywhere;font:800 14px/1.35 Manrope}
#view-dashboard .dashboard-decision>small{color:#6e8175;font-size:10px;font-weight:750}
#view-dashboard .dashboard-decision>span:not(.dashboard-decision-top){display:grid;grid-template-columns:55px minmax(0,1fr);gap:7px;color:#617269;font-size:10.5px;line-height:1.45}
#view-dashboard .dashboard-decision>span:not(.dashboard-decision-top)>b{color:#2c4939;font-size:9px;text-transform:uppercase}
#view-dashboard .dashboard-decision>i{margin-top:auto;color:#23684e;font-size:10px;font-style:normal;font-weight:850}
#view-dashboard .dashboard-decision.primary .dashboard-decision-top em,#view-dashboard .dashboard-decision.primary>small,#view-dashboard .dashboard-decision.primary>span:not(.dashboard-decision-top),#view-dashboard .dashboard-decision.primary>span:not(.dashboard-decision-top)>b{color:rgba(255,255,255,.72)}
#view-dashboard .dashboard-decision.primary .dashboard-decision-top>b,#view-dashboard .dashboard-decision.primary>i{color:#efd898}
#view-dashboard .dashboard-decision-clear{grid-column:1/-1;min-height:190px}
@media(max-width:760px){#view-dashboard #biSkillMaturity{grid-template-columns:1fr}}

/* === site-modern.css === */
/* 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)}
.refresh-status{align-self:center;color:var(--muted);font-size:11px;white-space:nowrap}
#workspaceRefreshButton:disabled{opacity:.6;cursor:wait}
.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;min-height:30px;padding:5px 10px 5px 6px;border:1px solid transparent;border-radius:999px;background:#eef0ef;color:#68716b;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:850;letter-spacing:.01em;white-space:nowrap;box-shadow:0 4px 14px rgba(4,43,11,.06);transition:.18s}.sync-status:before{content:"";width:18px;height:18px;flex:0 0 18px;border-radius:50%;display:grid;place-items:center;background:currentColor;color:#fff;font-size:10px;line-height:1}.sync-status.saved{border-color:#cce4d7;background:linear-gradient(135deg,#edf8f2,#e3f3ea);color:#176348}.sync-status.saved:before{content:"✓"}.sync-status.pending{border-color:#eadbb8;background:#fff8e8;color:#8a611d}.sync-status.pending:before{content:"·";font-size:18px}.sync-status.saving{border-color:#dcd7f5;background:linear-gradient(135deg,#f7f5ff,#ece9ff);color:#5e53b8}.sync-status.saving:before{width:16px;height:16px;flex-basis:16px;border:2px solid #c9c2f3;border-top-color:#5e53b8;background:transparent;animation:kartence-sync-spin .75s linear infinite}.sync-status.error{border-color:#efbdb6;background:#ffebe7;color:#a63d32;cursor:pointer;box-shadow:0 4px 14px rgba(166,61,50,.10)}.sync-status.error:before{content:"!"}.sync-status.error:hover{background:#ffddd7;transform:translateY(-1px)}.sync-status[role="button"]:focus-visible{outline:2px solid #b84f43;outline-offset:2px}@keyframes kartence-sync-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sync-status.saving:before{animation-duration:1.8s}}@media(max-width:1050px){#syncStatus{width:32px;height:32px;min-height:32px;padding:0;justify-content:center;border-radius:10px;font-size:0}#syncStatus:before{margin:0}}
.sync-backup-button:not([hidden]){display:inline-grid;place-items:center;flex:none;color:#a63d32;border-color:#efbdb6;background:#fff4f0;font-weight:900}
@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}}
.view-render-error{position:relative;z-index:20;width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 16px;padding:13px 15px;border:1px solid #e4a39c;border-radius:12px;background:#fff4f1;color:#6e211b;box-shadow:0 10px 30px #6e211b12}.view-render-error>i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#fbded9;font-style:normal;font-weight:900}.view-render-error span>*{display:block}.view-render-error strong{font-size:13px}.view-render-error small{margin-top:2px;color:#8e5b56;font-size:11px}.view-render-error button{min-height:34px;padding:0 13px;border:1px solid #c96157;border-radius:8px;background:#fff;color:#9c3027;font-weight:800;cursor:pointer}@media(max-width:620px){body .view-render-error{grid-template-columns:36px minmax(0,1fr)}body .view-render-error button{grid-column:2;justify-self:start}}

/* === employee-badges.css === */
/* Fiche d'identité professionnelle — l'organisation reste la marque principale. */
#peopleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.identity-badge-card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}.identity-badge-face{aspect-ratio:85.6/54;min-width:0;display:grid;grid-template-columns:29% 1fr;border:1px solid rgba(7,66,36,.18);border-radius:19px;background:#fbf8f2;overflow:hidden;box-shadow:0 13px 30px rgba(4,48,24,.11)}.identity-badge-brand{position:relative;min-width:0;padding:22px 16px;background:linear-gradient(155deg,#003b1d,#00522b);color:#fff;display:flex;flex-direction:column;align-items:flex-start}.identity-badge-brand>strong{max-width:100%;font:850 clamp(15px,1.45vw,23px) Manrope;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-badge-brand>i{width:31px;height:4px;margin:12px 0;border-radius:4px;background:#ff5bb6}.identity-badge-brand>small{margin-top:auto;font-size:7px;font-weight:750;line-height:1.65;letter-spacing:.14em}.identity-badge-photo{width:clamp(68px,8vw,94px);height:clamp(68px,8vw,94px);border-radius:15px;overflow:hidden;display:grid;place-items:center;background:#e8eee9;color:#063c21;font:850 22px Manrope}.identity-badge-photo img{width:100%;height:100%;object-fit:cover}.identity-badge-body{position:relative;min-width:0;padding:18px 18px 15px;display:flex;flex-direction:column}.identity-badge-body>header{display:flex;justify-content:flex-end;gap:7px}.identity-badge-body .availability,.identity-badge-active{height:auto;padding:6px 9px;border-radius:999px;background:#e1f4eb;color:#0b7048;font-size:9px;font-weight:800}.identity-badge-active{display:flex;align-items:center;gap:5px}.identity-badge-active>i{width:7px;height:7px;border-radius:50%;background:#11a56c}.identity-badge-body>h3{margin:11px 0 2px!important;color:#052f19;font:850 clamp(16px,1.55vw,24px) Manrope!important;line-height:1!important}.identity-badge-role{margin:0!important;color:#535b57!important;font-size:clamp(9px,.72vw,12px)!important}.identity-badge-assignment{margin:8px 0 0!important;padding-bottom:8px;border-bottom:1px solid #ced7d1;color:#123f27!important;white-space:normal!important}.identity-badge-assignment strong,.identity-badge-assignment small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-badge-assignment strong{font-size:10px}.identity-badge-assignment small{margin-top:2px;color:#77827b;font-size:8px}.identity-badge-mastery{padding:8px 0 6px}.identity-badge-mastery>small,.identity-badge-skills>small{display:block;margin-bottom:5px;color:#31543f;font-size:7px;font-weight:900;letter-spacing:.13em}.identity-badge-mastery>span{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px}.identity-badge-mastery strong{color:#06391f;font:850 20px Manrope}.identity-badge-mastery span>i{height:8px;border-radius:999px;background:#d9eee5;overflow:hidden}.identity-badge-mastery span>i>b{display:block;height:100%;border-radius:inherit;background:#08754b}.identity-badge-skills{padding-top:7px;border-top:1px solid #ced7d1}.identity-badge-skills>div{display:flex;gap:4px}.identity-badge-skills span{flex:1;min-width:0;padding:5px 3px;border:1px solid #e5ded5;border-radius:7px;background:#f7f2eb;text-align:center;font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-badge-skills span.featured{border-color:#ffb7da;background:#ffe5f2}.identity-badge-skills b{color:#078052;font-size:9px}.identity-badge-skills em{color:#7e8881;font-size:8px}.identity-badge-body>footer{margin-top:auto;color:#707972;font-size:7px;text-align:right}.identity-badge-body>footer span{color:#ff4eae;font-size:11px}.identity-badge-actions{position:relative;display:flex;align-items:center;gap:8px;margin:8px 5px 0}.identity-badge-actions .card-action{min-height:38px;margin:0;padding:8px 10px;border:1px solid rgba(7,66,36,.14);border-radius:11px;background:#fff;color:#093c22;font-size:11px}.identity-badge-actions details{position:relative}.identity-badge-actions summary{width:38px;height:38px;border:1px solid rgba(7,66,36,.14);border-radius:11px;background:#fff;color:#16452b;display:grid;place-items:center;cursor:pointer;list-style:none}.identity-badge-actions summary::-webkit-details-marker{display:none}.identity-badge-actions details[open] .entity-actions{position:absolute;z-index:8;right:0;bottom:44px;width:150px;margin:0;padding:7px;border:1px solid rgba(7,66,36,.15);border-radius:12px;background:#fff;box-shadow:0 14px 32px rgba(3,44,20,.16);display:grid;grid-template-columns:1fr}.identity-badge-actions details:not([open]) .entity-actions{display:none}@media(max-width:1120px){#peopleGrid{grid-template-columns:1fr}.identity-badge-face{max-width:680px}}@media(max-width:620px){#peopleGrid{gap:14px}.identity-badge-face{aspect-ratio:auto;grid-template-columns:105px minmax(0,1fr)}.identity-badge-brand{padding:16px 12px}.identity-badge-brand>small{display:none}.identity-badge-photo{width:70px;height:70px}.identity-badge-body{padding:13px 12px 12px}.identity-badge-body>h3{margin-top:8px!important}.identity-badge-skills>div{display:grid;grid-template-columns:repeat(3,1fr)}.identity-badge-body>footer{margin-top:7px}}

/* === people-view-switch.css === */
/* Les badges complètent la vue historique sans remplacer ses cartes. */
.people-view-switch{width:max-content;margin:0 0 14px;padding:4px}
.people-view-switch button{min-height:36px;padding:8px 14px}
#peopleGrid:not(.people-badge-grid){grid-template-columns:repeat(4,1fr);gap:13px}
@media(max-width:1150px){#peopleGrid:not(.people-badge-grid){grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){#peopleGrid:not(.people-badge-grid){grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.people-view-switch{width:100%}.people-view-switch button{flex:1}}
@media(max-width:540px){#peopleGrid:not(.people-badge-grid){grid-template-columns:1fr}}

.badge-brand-name{display:grid;gap:1px;color:#fff;font:850 clamp(13px,1.25vw,20px)/1.02 Manrope,sans-serif;letter-spacing:-.03em}
.badge-brand-name span{display:block;white-space:nowrap}
.badge-brand-name b{color:#ff5bb6;font:inherit}
.badge-brand-name.single{font-size:clamp(15px,1.45vw,23px);text-transform:uppercase}
.identity-badge-brand>.badge-brand-name+small{display:block;margin:8px 0 12px;color:#fff;font-size:6px;font-weight:800;line-height:1.45;letter-spacing:.11em}
.identity-badge-brand>.identity-badge-photo{margin-top:auto}
@media(max-width:620px){.badge-brand-name{font-size:12px}.identity-badge-brand>.badge-brand-name+small{display:block;margin:6px 0 9px;font-size:5px;letter-spacing:.06em}}
@media print{.employee-badge>aside>.badge-brand-name{display:grid!important;gap:.3mm!important;color:#fff!important;font:800 3.3mm/1 Manrope,Arial,sans-serif!important;letter-spacing:-.03em!important}.employee-badge>aside>.badge-brand-name span{display:block!important;white-space:nowrap!important}.employee-badge>aside>.badge-brand-name b{color:#ff5bb6!important;font:inherit!important}.employee-badge>aside>.badge-brand-name.single{font-size:4.1mm!important;text-transform:uppercase!important}.employee-badge>aside>.badge-brand-name+small{display:block!important;margin:2mm 0!important;color:#fff!important;font-size:1.35mm!important;font-weight:800!important;line-height:1.45!important;letter-spacing:.12em!important}.employee-badge>aside>.employee-badge-photo{margin-top:auto!important}}

/* Recto fidèle à la maquette Opella validée. */
.ops-badge-brand{position:relative;min-width:0;padding:22px 16px;background:linear-gradient(155deg,#003b1d,#00522b);color:#fff;display:flex;flex-direction:column;overflow:hidden}.ops-badge-brand::after{content:"";position:absolute;right:-45%;bottom:-8%;width:150%;height:58%;border-radius:50%;border:1px solid rgba(255,255,255,.1);transform:rotate(-19deg)}.ops-badge-brand>.badge-brand-name{position:relative;z-index:1}.ops-badge-brand>small{position:relative;z-index:1;margin-top:9px;font-size:6px;font-weight:850;line-height:1.4;letter-spacing:.09em}.ops-badge-brand>p{position:relative;z-index:1;margin:auto 0 0!important;color:#d9e7de!important;font:500 clamp(12px,1vw,17px)/1.05 Georgia,serif!important}.ops-badge-brand>p span{color:#ff5bb6}.ops-badge-main{min-width:0;padding:17px 18px 13px;display:flex;flex-direction:column}.ops-badge-main>header{display:grid;grid-template-columns:clamp(78px,9vw,112px) minmax(0,1fr);gap:16px;align-items:start;padding-bottom:12px;border-bottom:1px solid #ced7d1}.ops-badge-photo{aspect-ratio:1;overflow:hidden;border-radius:15px;background:#e6ece8;color:#063c21;display:grid;place-items:center;font:850 22px Manrope}.ops-badge-photo img{width:100%;height:100%;object-fit:cover}.ops-badge-person{min-width:0}.ops-badge-person h3{margin:2px 0 3px!important;color:#003b1d;font:850 clamp(18px,2vw,30px)/1 Manrope!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-badge-person>strong{display:block;color:#58655e;font-size:clamp(8px,.9vw,13px);letter-spacing:.17em;text-transform:uppercase}.ops-badge-person>small{display:block;margin-top:5px;color:#7a857e;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-badge-person>i{display:flex;align-items:center;gap:8px;margin-top:10px;font-style:normal}.ops-badge-person>i>b,.ops-badge-person>i>em{padding:6px 9px;border-radius:999px;background:#e1f4eb;color:#0b7048;font-size:9px;font-style:normal}.ops-badge-person>i>em{display:flex;align-items:center;gap:5px}.ops-badge-person>i>em u{width:7px;height:7px;border-radius:50%;background:#11a56c;text-decoration:none}.ops-badge-mastery{padding:12px 0 9px}.ops-badge-mastery>small,.ops-badge-skills>small{display:block;margin-bottom:7px;color:#405b4b;font-size:8px;font-weight:900;letter-spacing:.14em}.ops-badge-mastery>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.ops-badge-mastery>div>i{height:9px;border-radius:999px;background:#d8eee5;overflow:hidden}.ops-badge-mastery>div>i>b{display:block;height:100%;border-radius:inherit;background:#08754b}.ops-badge-mastery>div>strong{color:#06391f;font:850 21px Manrope}.ops-badge-skills{padding:9px 0 10px;border-top:1px solid #ced7d1}.ops-badge-skills>div{display:flex;gap:5px}.ops-badge-skills span{flex:1;min-width:0;padding:7px 4px;border:1px solid #dbe5de;border-radius:999px;background:#eaf3ed;color:#163e28;text-align:center;font-size:7px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-badge-skills span.featured{border-color:#ffb7da;background:#ffe5f2;color:#c32b84}.ops-badge-skills span>i{margin-right:3px;font-style:normal}.ops-badge-skills span>b{color:#078052}.ops-badge-main>footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px;border-top:1px solid #ced7d1;color:#66736b;font-size:7px}.ops-badge-main>footer em{font-style:normal;letter-spacing:.12em}.ops-badge-main>footer em i{color:#ff4eae;font-style:normal}
@media(max-width:620px){.ops-badge-brand{padding:15px 10px}.ops-badge-brand>small{font-size:5px}.ops-badge-brand>p{font-size:10px!important}.ops-badge-main{padding:12px 10px}.ops-badge-main>header{grid-template-columns:62px minmax(0,1fr);gap:9px;padding-bottom:8px}.ops-badge-person h3{font-size:16px!important}.ops-badge-person>small{display:none}.ops-badge-person>i{margin-top:7px}.ops-badge-person>i>b,.ops-badge-person>i>em{padding:4px 6px;font-size:7px}.ops-badge-mastery{padding:8px 0 6px}.ops-badge-skills{padding:6px 0}.ops-badge-skills>div{display:grid;grid-template-columns:repeat(3,1fr)}.ops-badge-main>footer{font-size:6px}}
@media print{body.printing-badges .employee-badge>.ops-badge-brand{position:relative!important;padding:4mm 2.4mm!important;background:#003b1d!important;color:#fff!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}body.printing-badges .employee-badge>.ops-badge-brand>.badge-brand-name{font-size:3.3mm!important}body.printing-badges .employee-badge>.ops-badge-brand>small{display:block!important;margin-top:2mm!important;color:#fff!important;font-size:1.25mm!important;font-weight:850!important;line-height:1.35!important;letter-spacing:.09em!important}body.printing-badges .employee-badge>.ops-badge-brand>p{margin:auto 0 0!important;padding:0!important;border:0!important;color:#d9e7de!important;font:500 2.8mm/1.08 Georgia,serif!important}body.printing-badges .employee-badge>.ops-badge-brand>p span{color:#ff5bb6!important}body.printing-badges .employee-badge>.ops-badge-main{position:relative!important;min-width:0!important;padding:3.2mm 3mm 2.2mm!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important}body.printing-badges .employee-badge .ops-badge-main>header{display:grid!important;grid-template-columns:18.5mm minmax(0,1fr)!important;gap:3mm!important;align-items:start!important;padding-bottom:2.2mm!important;border-bottom:.25mm solid #ced7d1!important}body.printing-badges .ops-badge-photo{width:18.5mm!important;height:18.5mm!important;border-radius:2.5mm!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:#e6ece8!important;color:#063c21!important;font-size:4mm!important;font-weight:850!important}body.printing-badges .ops-badge-photo img{width:100%!important;height:100%!important;object-fit:cover!important}body.printing-badges .ops-badge-person h3{margin:.5mm 0!important;color:#003b1d!important;font-size:4.3mm!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body.printing-badges .ops-badge-person>strong{display:block!important;color:#58655e!important;font-size:2mm!important;letter-spacing:.15em!important;text-transform:uppercase!important}body.printing-badges .ops-badge-person>small{display:block!important;margin-top:.8mm!important;color:#7a857e!important;font-size:1.4mm!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body.printing-badges .ops-badge-person>i{display:flex!important;align-items:center!important;gap:1mm!important;margin-top:1.6mm!important;font-style:normal!important}body.printing-badges .ops-badge-person>i>b,body.printing-badges .ops-badge-person>i>em{padding:1mm 1.5mm!important;border-radius:3mm!important;background:#e1f4eb!important;color:#0b7048!important;font-size:1.6mm!important;font-style:normal!important}body.printing-badges .ops-badge-person>i>em u{display:inline-block!important;width:1.3mm!important;height:1.3mm!important;margin-right:.6mm!important;border-radius:50%!important;background:#11a56c!important}body.printing-badges .ops-badge-mastery{padding:2.2mm 0 1.5mm!important}body.printing-badges .ops-badge-mastery>small,body.printing-badges .ops-badge-skills>small{display:block!important;margin-bottom:1mm!important;font-size:1.45mm!important;font-weight:900!important;letter-spacing:.14em!important}body.printing-badges .ops-badge-mastery>div{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:2mm!important}body.printing-badges .ops-badge-mastery>div>i{height:2mm!important;border-radius:2mm!important;background:#d8eee5!important;overflow:hidden!important}body.printing-badges .ops-badge-mastery>div>i>b{display:block!important;height:100%!important;background:#08754b!important}body.printing-badges .ops-badge-mastery>div>strong{font-size:4mm!important}body.printing-badges .ops-badge-skills{padding:1.5mm 0!important;border-top:.25mm solid #ced7d1!important}body.printing-badges .ops-badge-skills>div{display:flex!important;gap:.7mm!important}body.printing-badges .ops-badge-skills span{flex:1!important;min-width:0!important;padding:1mm .4mm!important;border:.2mm solid #dbe5de!important;border-radius:3mm!important;background:#eaf3ed!important;text-align:center!important;font-size:1.35mm!important;font-weight:750!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body.printing-badges .ops-badge-skills span.featured{border-color:#ffb7da!important;background:#ffe5f2!important;color:#c32b84!important}body.printing-badges .ops-badge-main>footer{position:static!important;display:flex!important;justify-content:space-between!important;gap:2mm!important;margin-top:auto!important;padding-top:1.2mm!important;border-top:.25mm solid #ced7d1!important;color:#66736b!important;font-size:1.25mm!important}body.printing-badges .ops-badge-main>footer em{font-style:normal!important;letter-spacing:.1em!important}}
/* Les compétences utilisent toutes le même traitement, y compris OPS. */
.ops-badge-skills span.featured{border-color:#dbe5de;background:#eaf3ed;color:#163e28}
@media print{body.printing-badges .ops-badge-skills span.featured{border-color:#dbe5de!important;background:#eaf3ed!important;color:#163e28!important}}
/* Dix acquis lisibles sur deux colonnes : le texte indique le niveau validé. */
.ops-badge-skills>div{display:grid;grid-template-columns:1fr;gap:3px}
.ops-badge-skill{min-width:0;padding:3px 7px;border:1px solid #dbe5de;border-radius:6px;background:#eaf3ed;color:#163e28;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}
.ops-badge-skill strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
.ops-badge-skill small{color:#3e7157;font-size:8px;font-weight:800;white-space:nowrap}
@media(max-width:620px){.ops-badge-skill{padding:2px 4px;gap:3px}.ops-badge-skill strong{font-size:7px}.ops-badge-skill small{font-size:6px}}
@media print{body.printing-badges .ops-badge-skills{padding:.7mm 0!important}body.printing-badges .ops-badge-skills>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.4mm!important}body.printing-badges .ops-badge-skill{min-height:3.2mm!important;padding:.25mm .6mm!important;border:.2mm solid #dbe5de!important;border-radius:1mm!important;background:#eaf3ed!important;color:#163e28!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:.4mm!important;box-sizing:border-box!important}body.printing-badges .ops-badge-skill strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:1.35mm!important;line-height:1!important}body.printing-badges .ops-badge-skill small{font-size:1.15mm!important;line-height:1!important;color:#3e7157!important;font-weight:800!important;white-space:nowrap!important}}
/* Le recto coulisse pour révéler le même verso que celui de l'impression. */
.identity-badge-stage{position:relative;aspect-ratio:85.6/54;overflow:hidden;border-radius:19px;box-shadow:0 13px 30px rgba(4,48,24,.11)}
.identity-badge-stage>.identity-badge-face,.identity-badge-stage>.identity-badge-back{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;aspect-ratio:auto;box-shadow:none}
.identity-badge-stage>.identity-badge-face{z-index:2;cursor:pointer;transition:transform .48s cubic-bezier(.22,.7,.18,1)}
.identity-badge-card.is-back .identity-badge-face{transform:translateX(104%)}
.identity-badge-stage>.identity-badge-back{z-index:1;display:grid;grid-template-columns:29% minmax(0,1fr);border:1px solid rgba(7,66,36,.18);border-radius:19px;background:#fbf8f2;color:#143a26;cursor:pointer}
.identity-badge-back>aside{min-width:0;padding:22px 16px;background:linear-gradient(155deg,#003b1d,#00522b);color:#fff;display:flex;flex-direction:column}
.identity-badge-back>aside>small{margin-top:10px;color:#e1ece4;font-size:7px;font-weight:800;letter-spacing:.1em}
.identity-badge-back>main{min-width:0;padding:16px 18px 12px;display:flex;flex-direction:column;overflow:hidden}
.identity-badge-back>main>h1{margin:0 0 8px;padding-bottom:7px;border-bottom:2px solid #ff5bb6;color:#06391f;font-size:17px;line-height:1.1}
.identity-badge-back>main>h1 small{font-size:9px;font-weight:600}
.identity-badge-back main>section{min-width:0;padding:5px 0;border-bottom:1px solid #d3ddd6}
.identity-badge-back main>section h2{margin:0 0 4px;color:#466052;font-size:8px;letter-spacing:.1em}
.identity-badge-back main>section p{display:grid;grid-template-columns:6px minmax(0,1fr) auto;gap:5px;align-items:center;margin:2px 0;font-size:8px}
.identity-badge-back main>section p i{width:5px;height:5px;border-radius:50%;background:#10a76d}
.identity-badge-back main>section p span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.identity-badge-back main>section p b{font-size:7px;white-space:nowrap}
.identity-badge-back main>section em{color:#728177;font-size:8px;font-style:normal}
.identity-badge-back main>footer{display:flex;align-items:center;gap:8px;margin-top:auto}
.identity-badge-back main>section p.badge-cert-line span{display:grid;gap:1px;white-space:normal}
.identity-badge-back main>section p.badge-cert-line strong{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.identity-badge-back main>section p.badge-cert-line small{font-size:6.5px;font-weight:500;color:#728177;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.identity-badge-back main>footer strong,.identity-badge-back main>footer small{display:block;font-size:7px;line-height:1.25}
.identity-badge-back main>footer small{margin-top:3px;color:#69736d}
.identity-badge-back .employee-badge-issuer{margin-top:5px;color:#647168;font-size:7px}
.identity-badge-actions{flex-wrap:wrap}.identity-badge-actions>[data-toggle-person-badge],.identity-badge-actions>[data-print-person-badge]{min-height:38px;padding:8px 10px;border:1px solid rgba(7,66,36,.14);border-radius:11px;background:#fff;color:#093c22;font-size:11px;font-weight:750;cursor:pointer}
.identity-badge-actions>[data-print-person-badge]{background:#eaf3ed}
@media(max-width:620px){.identity-badge-back>aside{padding:13px 9px}.identity-badge-back>aside>small{font-size:5px}.identity-badge-back>main{padding:10px}.identity-badge-back>main>h1{font-size:12px}.identity-badge-back>main>h1 small{font-size:6px}.identity-badge-back main>section{padding:3px 0}.identity-badge-back main>section h2{font-size:6px}.identity-badge-back main>section p,.identity-badge-back main>section p b,.identity-badge-back main>section em{font-size:6px}.identity-badge-back main>footer img{width:38px;height:38px}.identity-badge-back main>footer strong,.identity-badge-back main>footer small{font-size:5px}.identity-badge-back .employee-badge-issuer{font-size:5px}}
@media(prefers-reduced-motion:reduce){.identity-badge-stage>.identity-badge-face{transition:none}}
/* Format carte : trois colonnes, niveau lisible sous chaque compétence. */
.identity-badge-stage .ops-badge-main{padding:10px 12px 8px}
.identity-badge-stage .ops-badge-main>header{grid-template-columns:clamp(58px,6vw,78px) minmax(0,1fr);gap:9px;padding-bottom:6px}
.identity-badge-stage .ops-badge-person h3{font-size:clamp(15px,1.5vw,21px)!important}
.identity-badge-stage .ops-badge-person>small{margin-top:2px;font-size:7px!important}
.identity-badge-stage .ops-badge-person>i{margin-top:3px}
.identity-badge-stage .ops-badge-person>i>b,.identity-badge-stage .ops-badge-person>i>em{padding:3px 6px;font-size:7px}
.identity-badge-stage .ops-badge-mastery{padding:5px 0 4px}
.identity-badge-stage .ops-badge-mastery>small,.identity-badge-stage .ops-badge-skills>small{margin-bottom:4px;font-size:7px!important}
.identity-badge-stage .ops-badge-mastery>div>strong{font-size:17px}
.identity-badge-stage .ops-badge-skills{padding:5px 0}
.identity-badge-stage .ops-badge-skills>div{grid-template-columns:1fr;gap:3px}
.identity-badge-stage .ops-badge-skill{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:2px 6px;gap:5px;line-height:1.15}
.identity-badge-stage .ops-badge-skill strong,.identity-badge-stage .ops-badge-skill small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.identity-badge-stage .ops-badge-skill small{font-size:7px!important;margin-top:0}
.identity-badge-stage .ops-badge-main>footer{padding-top:4px;font-size:6px}
@media(max-width:620px){.identity-badge-stage .ops-badge-main{padding:7px 8px 6px}.identity-badge-stage .ops-badge-main>header{grid-template-columns:48px minmax(0,1fr);gap:6px;padding-bottom:4px}.identity-badge-stage .ops-badge-person h3{font-size:13px!important}.identity-badge-stage .ops-badge-person>strong{font-size:7px}.identity-badge-stage .ops-badge-person>i{margin-top:3px}.identity-badge-stage .ops-badge-person>i>b,.identity-badge-stage .ops-badge-person>i>em{padding:2px 4px;font-size:6px}.identity-badge-stage .ops-badge-mastery{padding:3px 0}.identity-badge-stage .ops-badge-mastery>div>strong{font-size:14px}.identity-badge-stage .ops-badge-skills{padding:3px 0}.identity-badge-stage .ops-badge-skills>div{grid-template-columns:1fr;gap:2px}.identity-badge-stage .ops-badge-skill{padding:1px 4px;gap:4px}.identity-badge-stage .ops-badge-skill strong{font-size:6px}.identity-badge-stage .ops-badge-skill small{font-size:6px!important;margin-top:0}.identity-badge-stage .ops-badge-main>footer{font-size:5px}}
@media print{
 body.printing-badges .employee-badge>.ops-badge-main{height:54mm!important;max-height:54mm!important;padding:2mm 2.3mm 1.3mm!important;overflow:hidden!important}
 body.printing-badges .employee-badge .ops-badge-main>section{margin:0!important}
 body.printing-badges .employee-badge .ops-badge-main>header{grid-template-columns:13mm minmax(0,1fr)!important;gap:2mm!important;padding-bottom:1mm!important}
 body.printing-badges .ops-badge-photo{width:13mm!important;height:13mm!important;border-radius:1.8mm!important}
 body.printing-badges .ops-badge-person h3{font-size:3.3mm!important;margin:0 0 .3mm!important}
 body.printing-badges .ops-badge-person>strong{font-size:1.5mm!important;letter-spacing:.08em!important}
 body.printing-badges .ops-badge-person>small{margin-top:.4mm!important;font-size:1.1mm!important}
 body.printing-badges .ops-badge-person>i{margin-top:.6mm!important;gap:.5mm!important}
 body.printing-badges .ops-badge-person>i>b,body.printing-badges .ops-badge-person>i>em{padding:.5mm .8mm!important;font-size:1.2mm!important}
 body.printing-badges .ops-badge-mastery{padding:.8mm 0!important}
 body.printing-badges .ops-badge-mastery>small{margin-bottom:.5mm!important;font-size:1.4mm!important}
 body.printing-badges .ops-badge-skills>small{margin-bottom:.8mm!important;font-size:1.6mm!important;font-weight:900!important}
 body.printing-badges .ops-badge-mastery>div>i{height:1.4mm!important}
 body.printing-badges .ops-badge-mastery>div>strong{font-size:3mm!important}
 body.printing-badges .ops-badge-skills{padding:.8mm 0!important}
 body.printing-badges .ops-badge-skills>div{display:flex!important;flex-direction:column!important;gap:.6mm!important}
 body.printing-badges .ops-badge-skill{min-height:3.6mm!important;padding:.5mm 1.2mm!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:1.5mm!important;line-height:1.15!important}
 body.printing-badges .ops-badge-skill strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:2.3mm!important;font-weight:800!important}
 body.printing-badges .ops-badge-skill small{overflow:visible!important;white-space:nowrap!important;font-size:2.1mm!important;font-weight:900!important;letter-spacing:.02em!important}
 body.printing-badges .ops-badge-main>footer{min-height:0!important;margin-top:auto!important;padding-top:.5mm!important;font-size:1mm!important;line-height:1!important}
 body.printing-badges .identity-badge-back>main{position:relative!important;min-width:0!important;height:54mm!important;padding:3.6mm 3mm 2.4mm!important;box-sizing:border-box!important;overflow:hidden!important}
 body.printing-badges .identity-badge-back>main>h1{margin:0 0 1.5mm!important;padding-bottom:1.3mm!important;border-bottom:.7mm solid #ff5bb6!important;font-size:3.8mm!important}
 body.printing-badges .identity-badge-back>main>h1 small{font-size:2.6mm!important;font-weight:600!important}
 body.printing-badges .identity-badge-back main>section{margin:0!important;padding:1.4mm 0!important;border-bottom:.25mm solid #cbd4ce!important}
 body.printing-badges .identity-badge-back main>section h2{margin:0 0 .8mm!important;font-size:1.7mm!important;letter-spacing:.16em!important}
 body.printing-badges .identity-badge-back main>section p{display:grid!important;grid-template-columns:2mm 1fr auto!important;gap:1.2mm!important;align-items:center!important;margin:.7mm 0!important;padding:0!important;border:0!important}
 body.printing-badges .identity-badge-back main>section p i{width:1.7mm!important;height:1.7mm!important;border-radius:50%!important;background:#10a76d!important}
 body.printing-badges .identity-badge-back main>section p span,body.printing-badges .identity-badge-back main>section p b,body.printing-badges .identity-badge-back main>section em{font-size:1.8mm!important;font-style:normal!important}
 body.printing-badges .identity-badge-back main>footer{display:flex!important;align-items:center!important;gap:2mm!important;margin-top:1.7mm!important}
 body.printing-badges .identity-badge-back main>footer img{width:12mm!important;height:12mm!important}
 body.printing-badges .identity-badge-back main>footer span{min-width:0!important}
 body.printing-badges .identity-badge-back main>footer strong,body.printing-badges .identity-badge-back main>footer small{display:block!important;font-size:1.55mm!important;line-height:1.35!important}
 body.printing-badges .identity-badge-back main>footer small{margin-top:.6mm!important;color:#69736d!important}
 body.printing-badges .identity-badge-back .employee-badge-issuer{position:absolute!important;right:3mm!important;bottom:1.1mm!important;margin-top:0!important;color:#5f6863!important;font-size:1.45mm!important}
 body.printing-badges .identity-badge-back .employee-badge-issuer span{color:#ff4eae!important;font-size:2.5mm!important}
}

/* === organization-admin.css === */
.auth-form label > select {
  width: 100%;
  height: 44px;
  margin-top: 7px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--text);
  outline: 0;
  font-size: 11px;
}

.invitation-panel { grid-column: 1 / -1; }
.invitation-form {
  display: grid;
  grid-template-columns: 1fr 220px auto;
  align-items: end;
  gap: 10px;
  margin: 12px 0;
}
.invitation-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}
.invitation-form input,
.invitation-form select {
  height: 40px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
}
.invitation-list { margin-top: 14px; }
.access-row > span,
.member-row > span { min-width: 0; }
.access-row strong,
.access-row small,
.member-row strong,
.member-row small { overflow-wrap: anywhere; }
.member-row > select {
  height: 30px;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--text);
  font-size: 8px;
}
.developer-create textarea,
.developer-organization textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--text);
  resize: vertical;
}

@media (max-width: 1180px) and (min-width: 821px) {
  .access-layout { grid-template-columns: 1fr; }
  .invitation-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .invitation-form .button { justify-self: start; }
}

@media (max-width: 700px) {
  .invitation-form { grid-template-columns: 1fr; }
  .access-row,
  .member-row { align-items: flex-start; flex-wrap: wrap; }
  .access-row > span:nth-child(2),
  .member-row > span:nth-child(2) { flex-basis: calc(100% - 44px); }
}

.verification-actions {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.verification-actions[hidden] { display: none; }
.verification-actions button {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}

.developer-login-page{min-height:100vh;padding:24px;display:grid;place-items:center;background:linear-gradient(145deg,#161817,#26322b)}.developer-login-card{width:min(440px,100%);padding:34px;border-radius:22px;background:#fff;box-shadow:0 28px 90px #0004}.developer-login-card>.brand-mark{margin-bottom:25px}.developer-login-card h1{margin:9px 0;font:800 32px Manrope}.developer-login-card>p{margin:0 0 24px;color:#74787b;line-height:1.6}.developer-login-card form{display:grid;gap:15px}.developer-login-card label{display:grid;gap:7px;font-size:11px;font-weight:800}.developer-login-card input{height:45px;padding:0 12px;border:1px solid #d8dbd9;border-radius:9px}.developer-login-card .password-control{margin-top:0}.developer-login-actions{margin-top:12px;display:flex;justify-content:space-between;gap:8px}.developer-login-actions button{border:0;background:transparent;color:#50665a;font-size:10px;font-weight:800;cursor:pointer}.developer-back{display:block;margin-top:22px;color:#74787b;font-size:10px;text-align:center;text-decoration:none}
.platform-console .nav-item:not(.developer-only),.platform-console .nav-label,.platform-console .sidebar-insight{display:none!important}.platform-console .nav{flex:1}.platform-console .developer-only{margin-top:8px}.developer-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.developer-metrics span{padding:9px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:8px}.developer-metrics strong{display:block;margin-bottom:2px;color:var(--text);font-size:13px}@media(max-width:600px){.developer-metrics{grid-template-columns:1fr}}
.developer-login-actions button,.developer-back,.developer-metrics span{font-size:11px!important;line-height:1.4}

.consistency-card{grid-column:1/-1}.consistency-readonly{padding:5px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:800}.consistency-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.consistency-summary>span{padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.consistency-summary strong,.consistency-summary small{display:block}.consistency-summary strong{font:800 22px Manrope}.consistency-summary small{color:var(--muted);font-size:11px}.consistency-summary .has-alert strong{color:#b5342b}.consistency-summary .has-warning strong{color:#a86716}.consistency-summary .is-clear strong{color:#168063}.consistency-list{display:grid;gap:7px;max-height:440px;overflow:auto}.consistency-list>button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.consistency-list>button:hover{border-color:var(--primary)}.consistency-list>button>i,.consistency-clear>i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#fff0ed;color:#b5342b;font-style:normal;font-weight:900}.consistency-list>button.warning>i{background:#fff3dc;color:#a86716}.consistency-list>button span>*{display:block}.consistency-list em{color:var(--muted);font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.consistency-list strong{margin:2px 0;font-size:12px}.consistency-list small{color:var(--muted);font-size:11px}.consistency-list button>b{color:var(--primary);font-size:10px}.consistency-clear{display:flex;align-items:center;gap:11px;padding:16px;border-radius:10px;background:#eaf6f1}.consistency-clear>i{background:#d7f0e6;color:#168063}.consistency-clear span>*{display:block}.consistency-clear small{color:var(--muted)}@media(max-width:700px){.consistency-summary{grid-template-columns:1fr}.consistency-list>button{grid-template-columns:34px minmax(0,1fr)}.consistency-list button>b{grid-column:2}}
.workspace-backup-card .danger-button:disabled{cursor:not-allowed;opacity:.45}.workspace-backup-card .button span[data-icon]{display:inline-flex;width:16px;height:16px;margin-right:7px;vertical-align:middle}.workspace-backup-card .button span[data-icon] svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8}

/* === maintenance.css === */
#maintenanceScreen[hidden], [data-maintenance-open][hidden] { display: none !important; }
.maintenance-screen { position: fixed; inset: 0; z-index: 15000; display: grid; place-items: center; padding: 24px; overflow: auto; background: #f7f8f5; color: #163521; }
.maintenance-card { width: min(100%, 620px); padding: clamp(24px, 5vw, 48px); background: #fff; border: 1px solid #dce5dc; border-radius: 24px; box-shadow: 0 20px 70px #10241412; text-align: center; }
.maintenance-card .brand-mark { display: inline-grid; place-items: center; width: 56px; height: 56px; margin-bottom: 24px; background: #143e23; color: white; border-radius: 16px; font-size: 28px; }
.maintenance-card h1 { margin: 0 0 20px; font-size: clamp(26px, 5vw, 36px); }
.maintenance-card p { line-height: 1.65; overflow-wrap: anywhere; }
#maintenanceMessage { white-space: pre-wrap; }
#maintenanceResume { padding: 16px; border-radius: 12px; background: #edf4ed; font-weight: 600; }
.maintenance-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.maintenance-account { font-size: 13px; color: #597261; }
#maintenanceDialog{--mt-ink:#14201a;--mt-mut:#69736c;--mt-line:#e3dfd4;--mt-green:#0b6b3a;--mt-soft:#e9f3ec;--mt-bad:#b4472a;--mt-badbg:#fbeae4;--mt-warn:#9a6b00;--mt-warnbg:#fbf0d2;--mt-bg:#f1eee5;width:min(980px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--mt-line);border-radius:2px!important;color:var(--mt-ink);background:var(--surface,#fff);overflow:auto}
body.dark #maintenanceDialog{--mt-ink:#eef1ec;--mt-mut:#9aa39c;--mt-line:#2e362f;--mt-green:#5fc088;--mt-soft:#1d2f24;--mt-bad:#f0906f;--mt-badbg:#3a231b;--mt-warn:#e3b94f;--mt-warnbg:#3a3117;--mt-bg:#141815}
#maintenanceDialog::backdrop{background:rgba(20,26,22,.5)}
#maintenanceForm{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0}
@media(max-width:820px){#maintenanceForm{grid-template-columns:minmax(0,1fr)}}
.mt-main{min-width:0}
.mt-head{padding:18px 22px 14px;border-bottom:1px solid var(--mt-line);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mt-head h2{margin:4px 0 0;font-size:21px;letter-spacing:-.01em}
.mt-x{border:1px solid var(--mt-line);background:var(--surface,#fff);width:30px;height:30px;border-radius:0;cursor:pointer;color:inherit}
.mt-body{padding:18px 22px;display:grid;gap:18px}
.mt-state{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--mt-line);padding:12px 14px;background:var(--mt-soft)}
.mt-state.on{background:var(--mt-warnbg);border-color:var(--mt-warn)}
.mt-state b{display:flex;align-items:center;gap:8px;font-size:15px}
.mt-state small{display:block;color:var(--mt-mut);font-size:12.5px;margin-top:2px}
.mt-dot{width:10px;height:10px;background:var(--mt-green);display:inline-block}
.mt-state.on .mt-dot{background:var(--mt-warn)}
#maintenanceForm .mt-switch{appearance:none;-webkit-appearance:none;position:relative;width:52px;height:28px;margin:0;border:1px solid var(--mt-line);background:var(--surface,#fff);border-radius:0;cursor:pointer;padding:0}
#maintenanceForm .mt-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--mt-mut);transition:left .15s}
#maintenanceForm .mt-switch:checked{background:var(--mt-warn);border-color:var(--mt-warn)}
#maintenanceForm .mt-switch:checked::after{left:27px;background:#fff}
#maintenanceForm .mt-switch:focus-visible,.mt-chip:focus-visible{outline:2px solid var(--mt-ink);outline-offset:2px}
.mt-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--mt-mut);display:flex;justify-content:space-between;margin-bottom:6px}
.mt-l em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:600}
#maintenanceForm textarea,#maintenanceForm input[type=datetime-local]{width:100%;box-sizing:border-box;border:1px solid var(--mt-line);background:var(--surface,#fff);color:inherit;padding:10px 12px;border-radius:0;font:inherit}
#maintenanceForm textarea{min-height:84px;resize:vertical}
.mt-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.mt-chip{border:1px solid var(--mt-line);background:var(--surface,#fff);padding:4px 10px;font-size:12px;font-weight:700;border-radius:0;cursor:pointer;color:inherit}
.mt-chip:hover{background:var(--mt-soft);border-color:var(--mt-green);color:var(--mt-green)}
.mt-hint{font-size:12px;color:var(--mt-mut);margin:6px 0 0}
.mt-eff{border:1px solid var(--mt-line)}
.mt-eff div{padding:8px 12px;border-bottom:1px solid var(--mt-line);font-size:12.5px;display:flex;gap:10px;align-items:center}
.mt-eff div:last-child{border:0}
.mt-eff i{font-style:normal;font-weight:800;width:18px;height:18px;display:grid;place-items:center;font-size:11px;flex:none}
.mt-eff .no i{background:var(--mt-badbg);color:var(--mt-bad)}
.mt-eff .yes i{background:var(--mt-soft);color:var(--mt-green)}
#maintenanceFormStatus{margin:0;padding:0 22px;font-size:13px;line-height:1.5;color:var(--mt-warn);font-weight:700}
#maintenanceFormStatus:empty{display:none}
.mt-foot{padding:14px 22px;border-top:1px solid var(--mt-line);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.mt-foot .mt-hint{margin:0}
.mt-btns{display:flex;gap:8px}
.mt-btns .button{border-radius:2px}
#maintenanceSave.mt-warn{background:var(--mt-warn);border-color:var(--mt-warn);color:#fff}
.mt-side{background:var(--mt-bg);border-left:1px solid var(--mt-line);padding:18px;display:grid;gap:14px;align-content:start}
@media(max-width:820px){.mt-side{border-left:0;border-top:1px solid var(--mt-line)}}
.mt-card{border:1px solid var(--mt-line);background:var(--surface,#fff)}
.mt-card h3{margin:0;padding:10px 14px;border-bottom:1px solid var(--mt-line);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mt-mut)}
.mt-app{padding:14px}
.mt-know{font-size:12.5px;color:var(--mt-mut)}
.mt-bar{background:var(--mt-warnbg);border:1px solid var(--mt-warn);color:var(--mt-warn);padding:10px 14px;font-weight:700;font-size:13px;overflow-wrap:anywhere}
.mt-bar small{display:block;font-weight:600;margin-top:3px;color:var(--mt-ink);opacity:.85;white-space:pre-wrap}
.mt-fake{margin-top:10px;display:grid;gap:6px;opacity:.5}
.mt-fake i{display:block;height:10px;background:var(--mt-line)}
.mt-off{border:1px dashed var(--mt-line);padding:16px;color:var(--mt-mut);text-align:center;font-size:13px}
.site-maintenance { overflow: hidden; }
.site-maintenance #sidebar, .site-maintenance #mainContent { visibility: hidden !important; }
@media print { .site-maintenance > :not(#maintenanceScreen) { display: none !important; } .maintenance-screen { position: static; } }
#maintenanceForm .mt-x{color:var(--mt-ink)}

/* === organization-chart.css === */
.organization-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.organization-summary article{display:grid;gap:3px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.organization-summary strong{font:800 25px/1 Manrope,sans-serif;color:var(--text)}
.organization-summary span{font-size:12px;color:var(--muted)}
.organization-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:12px;margin-bottom:18px;padding:12px}
.organization-toolbar select{min-width:0}
.organization-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:18px;align-items:start}
.organization-tree{display:grid;gap:12px}
.organization-team{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}
.organization-team>summary{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}
.organization-team>summary::-webkit-details-marker{display:none}
.organization-team>summary span:nth-child(2){display:grid;gap:3px}
.organization-team>summary small,.organization-person small,.organization-manager p{color:var(--muted)}
.organization-team>summary>b{max-width:230px;color:var(--primary);font-size:12px;text-align:right}
.organization-node-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--primary);color:#fff;font-weight:800}
.organization-branches{display:grid;gap:12px;padding:0 16px 16px 70px;border-top:1px solid var(--line)}
.organization-manager{position:relative;margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.organization-manager:before{content:"";position:absolute;left:-27px;top:-15px;width:24px;height:35px;border-left:2px solid #bdd0c3;border-bottom:2px solid #bdd0c3;border-radius:0 0 0 10px}
.organization-manager>header{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.organization-manager>header span:nth-child(2){display:grid;gap:2px;min-width:0}
.organization-manager>header small{font-size:9px;letter-spacing:1.1px;color:var(--muted)}
.organization-manager>header button{margin-left:auto;border:0;background:none;color:var(--primary);font-weight:700;cursor:pointer}
.organization-manager>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.organization-manager.unassigned{background:transparent;border-style:dashed}
.organization-person{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}
.organization-person>span:nth-child(2){display:grid;gap:2px;min-width:0}
.organization-person strong,.organization-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.organization-person i{font-style:normal;color:var(--primary)}
.organization-reference{position:sticky;top:84px;padding:18px}
.organization-reference h2{margin:4px 0 14px}.organization-reference h3{margin:20px 0 9px;font-size:13px}
.organization-quality{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.organization-quality span{display:grid;padding:11px;border-radius:11px;background:var(--surface-2)}
.organization-quality strong{font-size:20px}.organization-quality small{color:var(--muted)}
.organization-role,.organization-categories button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left;cursor:pointer}
.organization-role span{display:grid;gap:2px}.organization-role small{color:var(--muted)}
.organization-role b,.organization-categories b{padding:3px 7px;border-radius:999px;background:#edf8f3;color:var(--primary);font-size:11px}
.organization-categories{display:grid;gap:1px}
@media(max-width:1150px){.organization-summary{grid-template-columns:repeat(3,1fr)}.organization-layout{grid-template-columns:1fr}.organization-reference{position:static}.organization-manager>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.organization-summary{grid-template-columns:repeat(2,1fr)}.organization-toolbar{grid-template-columns:1fr}.organization-team>summary{grid-template-columns:42px minmax(0,1fr)}.organization-team>summary>b{grid-column:2;text-align:left}.organization-branches{padding-left:42px}.organization-manager>div{grid-template-columns:1fr}}
@media(max-width:480px){.organization-summary{grid-template-columns:1fr 1fr}.organization-summary article{padding:12px}.organization-team>summary{padding:13px}.organization-branches{padding:0 10px 10px 31px}.organization-manager:before{left:-19px}.organization-quality{grid-template-columns:1fr}}

/* === organization-editor.css === */
#view-organization .page-heading{align-items:flex-start;gap:20px}
#view-organization .page-heading p{max-width:720px}
.org-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--border,#e2e5e9);margin:24px 0 16px;padding-bottom:10px}
.org-tabs button{padding:12px 15px;border:0;border-radius:10px;background:transparent;color:var(--muted,#626974);font-weight:600;font-size:13px;cursor:pointer}
.org-tabs button[aria-selected=true]{background:var(--primary,#24262b);color:#fff}
.org-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.org-toolbar .input-search{flex:1;min-width:220px;max-width:420px}
.org-actions{display:flex;gap:8px;flex-wrap:wrap}
.org-reference-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}
.org-category-panel{padding:18px;position:sticky;top:20px;min-width:0}
.org-category-panel h2{font-size:15px;margin:0 0 16px}
.org-category-panel p,.org-empty p,.org-explanation{font-size:13px;line-height:1.7;color:var(--muted,#626974)}
.org-category-panel button{border:0;background:transparent;padding:10px 8px;border-radius:8px;text-align:left;cursor:pointer;min-width:0;color:inherit;overflow-wrap:anywhere}
.org-category-panel>button{display:flex;justify-content:space-between;gap:10px;width:100%;font-size:13px}
.org-category-panel button.active{background:#eeebfa;color:#4c3dab;font-weight:650}
.org-category-row{display:flex;align-items:center;gap:3px;margin-top:4px}
.org-category-row>button:first-child{display:flex;justify-content:space-between;gap:10px;flex:1;font-size:12px}
.org-category-row>button:not(:first-child){flex-shrink:0}
.org-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;min-width:0}
.org-card{padding:22px;min-width:0;overflow-wrap:anywhere}
.org-card>small{color:#72619d;font-size:11px;font-weight:650}
.org-card h2{font-size:18px;line-height:1.4;margin:9px 0}
.org-card p{font-size:13px;color:var(--muted,#626974);line-height:1.6;margin:10px 0}
.org-tags{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.org-tags span{font-size:11px;padding:5px 8px;border-radius:6px;background:var(--background,#f3f4f6);color:var(--muted,#626974)}
.org-card footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#e2e5e9)}
.org-card footer .button{font-size:12px;padding:9px 12px}
.org-requirements{display:grid;gap:0;margin:16px 0;max-height:280px;overflow:auto}
.org-requirements>span{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee;font-size:12px}
.org-requirements b{white-space:nowrap;font-size:11px;color:#65539d}
.org-empty{padding:44px 24px;border:1px dashed #d2d5dc;border-radius:14px;text-align:center;grid-column:1/-1}
.org-explanation{margin:0 0 20px;max-width:900px}
.org-archived{opacity:.7}
.org-member-list{display:grid;gap:6px;margin:16px 0;max-height:280px;overflow:auto}
.org-member-list button{display:flex;align-items:center;gap:10px;text-align:left;padding:8px;border:0;border-radius:8px;background:#f7f8fa;color:inherit;cursor:pointer}
.org-member-list small{display:block;color:var(--muted,#626974);font-size:11px;margin-top:3px}
.org-people-list{display:grid;gap:10px}
.org-person{display:flex;align-items:center;gap:16px;padding:18px;min-width:0}
.org-person>div{flex:1;min-width:0;overflow-wrap:anywhere}
.org-person h2{font-size:15px;margin:0 0 6px}
.org-person p{font-size:12px;margin:0 0 6px}
.org-person small{font-size:11px;color:var(--muted,#626974)}
#organizationContent [hidden],#organizationActions [hidden]{display:none!important}
#quickEditFields [hidden]{display:none!important}
.org-editor-details{border:1px solid var(--border,#e2e5e9);border-radius:10px;min-width:0;padding:14px}
.org-editor-details summary{cursor:pointer;font-size:13px;font-weight:650;line-height:1.5}
.org-editor-details[open] summary{margin-bottom:18px}
.org-editor-details .form-grid{margin:0;padding:0}
.org-requirement-editor{min-width:0;border-top:1px solid var(--border,#e2e5e9);padding-top:16px}
.org-requirement-editor h3{font-size:15px;margin:0 0 8px}
.org-requirement-editor p{font-size:12px;line-height:1.6;color:var(--muted,#626974)}
.org-requirement-editor label{display:grid;gap:8px;min-width:0;font-size:12px;margin:14px 0}
.org-requirement-add{display:flex;align-items:end;gap:10px;margin:12px 0}
.org-requirement-add label{flex:1;margin:0;min-width:0}
.org-requirement-add select{width:100%;min-width:0}
.org-requirement-selected{display:grid;gap:6px;max-height:360px;overflow:auto}
.org-requirement-row{padding:12px;background:var(--background,#f3f4f6);border-radius:8px;overflow-wrap:anywhere}
.org-requirement-remove{justify-self:end;border:0;background:transparent;color:var(--muted,#626974);font-size:12px;cursor:pointer;padding:5px}
.org-editor-details fieldset.quick-check-list{min-width:0;max-height:340px;overflow:auto}
.org-editor-details .quick-check-list>input[type=search]{width:100%;margin:8px 0 12px}
.org-integrity-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin:16px 0;border:1px solid var(--border,#e2e5e9);border-radius:10px;font-size:13px;background:var(--surface,#fff)}
.org-integrity-status.has-alert{border-color:#c58d4f;background:#fff8ef;color:#754614}
@media(max-width:550px){.org-requirement-add{flex-direction:column;align-items:stretch}.org-requirement-add label{width:100%}.org-editor-details{padding:11px}.org-integrity-status{flex-wrap:wrap}}
@media(min-width:1500px){.org-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.org-reference-layout .org-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.org-reference-layout{grid-template-columns:210px minmax(0,1fr)}.org-reference-layout .org-cards{grid-template-columns:1fr}}
@media(max-width:700px){.org-reference-layout,.org-cards{grid-template-columns:1fr}.org-category-panel{position:static}.org-tabs{gap:4px}.org-tabs button{padding:10px;font-size:12px}.org-person{flex-wrap:wrap;gap:10px}.org-person>div{flex-basis:calc(100% - 64px)}.org-actions{width:100%}.org-actions .button{flex:1}.org-toolbar .input-search{max-width:none;min-width:0;width:100%}.org-card{padding:18px}}
.org-hierarchy{display:grid;gap:12px}.org-department{padding:14px}.org-department>header,.org-zone>header,.org-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.org-department h2,.org-zone h3,.org-line h4{margin:2px 0 3px}.org-department header p,.org-zone header p,.org-line p{margin:0;color:var(--muted);font-size:9px}.org-line .org-line-members{margin:5px 0;line-height:1.45}.org-department header small,.org-zone header small,.org-line small{color:#9b3e78;font-size:8px;font-weight:900;letter-spacing:.08em}.org-zone-list{display:grid;gap:9px;margin-top:12px}.org-zone{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.org-line-list{display:grid;gap:6px;margin-top:9px}.org-line{padding:9px 10px;border-left:3px solid #ff78d2;border-radius:8px;background:var(--surface)}.org-line footer,.org-department header>span:last-child,.org-zone header>span:last-child{display:flex;flex-wrap:wrap;gap:5px}.org-empty-inline{margin:8px 0 0;color:var(--muted);font-size:9px}@media(max-width:700px){.org-department>header,.org-zone>header,.org-line{display:grid}.org-line footer{margin-top:5px}}
/* Évaluateurs d'une compétence : une ligne par personne, lisible d'un coup d'œil. */
.org-editor-details fieldset.org-evaluators{display:block;max-height:none;overflow:visible;padding:0;border:0}
.org-evaluators legend{padding:0;font-size:14px}
.org-evaluators-summary{margin:4px 0 10px;color:var(--muted,#667085);font-size:13px}
.org-evaluators-summary b{color:var(--text,#101828);font-weight:700}
.org-editor-details .org-evaluators>input[type=search]{width:100%;margin:0 0 10px}
.org-evaluators-list{max-height:330px;overflow:auto;border:1px solid var(--border,#e2e5e9);border-radius:10px;background:var(--surface,#fff)}
.org-evaluators .org-evaluators-list>label{display:grid!important;grid-template-columns:20px 34px minmax(0,1fr) auto!important;gap:12px;align-items:center;margin:0;padding:9px 12px;border-radius:0;background:none;cursor:pointer}
.org-evaluators .org-evaluators-list>label+label{border-top:1px solid var(--border,#e2e5e9)}
.org-evaluators .org-evaluators-list>label.is-on{background:#f1f7f3}
.org-evaluators .org-evaluators-list>label:hover{background:#f6f7f8}
.org-evaluators .org-evaluators-list>label.is-on:hover{background:#eaf3ee}
.org-evaluators-list input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;accent-color:#0f3d2e}
.org-ev-av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9eceb;color:#3d4a44;font-size:12px;font-weight:700}
.is-on .org-ev-av{background:#d5e8dd;color:#0f3d2e}
.org-ev-who{min-width:0}
.org-ev-who b,.org-ev-who small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.org-ev-who b{font-size:14px;font-weight:600;color:var(--text,#101828)}
.org-ev-who small{color:var(--muted,#667085);font-size:12px;font-weight:400}
.org-evaluators-list .validator-primary-choice{display:inline-flex;position:relative;padding:0;background:none}
.org-evaluators-list label:not(.is-on) .validator-primary-choice{visibility:hidden}
.org-evaluators-list .validator-primary-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.org-evaluators-list .validator-primary-choice span{padding:5px 11px;border:1px solid #c5d0c9;border-radius:999px;background:#fff;color:#3d4a44;font-size:12px;font-weight:650;white-space:nowrap}
.org-evaluators-list .validator-primary-choice input:checked+span{border-color:#0f3d2e;background:#0f3d2e;color:#fff}
.org-evaluators-list .validator-primary-choice input:focus-visible+span{outline:2px solid #1f6f52;outline-offset:2px}
.org-evaluators-empty{margin:10px 0 0;color:var(--muted,#667085);font-size:13px}
@media(max-width:550px){.org-evaluators .org-evaluators-list>label{grid-template-columns:20px minmax(0,1fr) auto!important;gap:10px}.org-ev-av{display:none}}

/* === registry.css === */
.skill-pilot-filters,.registry-filters{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(5,minmax(135px,1fr)) auto;gap:10px;align-items:end;margin-bottom:14px;padding:16px}.skill-pilot-filters label,.registry-filters label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.skill-pilot-filters input,.skill-pilot-filters select,.registry-filters input,.registry-filters select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.skill-pilot-filters .wide,.registry-filters .wide{min-width:0}.skill-expectations{display:grid;gap:7px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.skill-expectations>span{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.skill-expectations small{color:var(--muted);font-size:10px}.skill-expectations strong{text-align:right;font-size:11px}.skill-coverage-line{height:6px;border-radius:99px;background:#dfe8e2;overflow:hidden}.skill-coverage-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--dark),var(--opella-pink,#ff78d2))}.skill-coverage-line.low i{background:#d67637}.registry-summary{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.registry-summary>div{padding:17px 19px}.registry-summary>div+div{border-left:1px solid var(--line)}.registry-summary strong,.registry-summary small{display:block}.registry-summary strong{font:800 21px Manrope}.registry-summary small{color:var(--muted);font-size:10px}.registry-filters{grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(125px,1fr));}.registry-result-head{display:flex;justify-content:space-between;gap:15px;margin:14px 2px 8px}.registry-result-head span{color:var(--muted);font-size:11px}.registry-table-wrap{max-width:100%;overflow:auto}.registry-table{width:100%;border-collapse:collapse;min-width:1180px}.registry-table th,.registry-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.registry-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.registry-table td{font-size:11px}.registry-table td strong,.registry-table td small{display:block}.registry-table td small{margin-top:2px;color:var(--muted)}.registry-kind,.registry-status{display:inline-flex;padding:4px 7px;border-radius:7px;font-size:9px;font-weight:900}.registry-kind.training{background:#e7f4ef;color:#26745d}.registry-kind.validation{background:#eef2ff;color:#5262aa}.registry-kind.certificate{background:#fff0cf;color:#97670c}.registry-kind.plan{background:#fde9f4;color:#9c3975}.registry-status.completed,.registry-status.validated,.registry-status.issued{background:#e7f4ef;color:#26745d}.registry-status.pending,.registry-status.planned,.registry-status.active{background:#fff0cf;color:#97670c}.registry-status.overdue,.registry-status.expired,.registry-status.revoked,.registry-status.cancelled{background:#fde8e8;color:#a63f3f}.registry-open{min-height:34px;padding:7px 10px;border:1px solid var(--dark);border-radius:9px;background:var(--surface);color:var(--dark);font-weight:800;cursor:pointer}.registry-empty{text-align:center!important;padding:28px!important;color:var(--muted)}
@media(max-width:1180px){.skill-pilot-filters,.registry-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-pilot-filters .wide,.registry-filters .wide{grid-column:span 2}.registry-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.skill-pilot-filters,.registry-filters{grid-template-columns:1fr}.skill-pilot-filters .wide,.registry-filters .wide{grid-column:auto}.registry-summary{grid-template-columns:1fr}.registry-summary>div+div{border-left:0;border-top:1px solid var(--line)}.registry-result-head{display:grid}.registry-table-wrap{border-radius:12px}.skill-expectations>span{display:grid}.skill-expectations strong{text-align:left}}
.registry-status.expiring{background:#fff0cf;color:#97670c}

/* === planning.css === */
.planning-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.planning-stats>div{padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.planning-stats strong,.planning-stats small{display:block}.planning-stats strong{font-family:inherit;font-weight:800;font-size:22px}.planning-stats small{margin-top:3px;color:var(--muted);font-size:10px}.planning-toolbar{display:grid;grid-template-columns:auto 40px minmax(150px,1fr) 40px repeat(3,minmax(150px,1fr));align-items:end;gap:9px;padding:14px}.planning-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:800}.planning-toolbar input,.planning-toolbar select{width:100%;min-height:40px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.planning-nav{min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--dark);font-size:18px;cursor:pointer}.planning-period-title{display:flex;justify-content:space-between;align-items:center;margin:16px 2px 8px}.planning-period-title h2{margin:0;font:800 17px Manrope}.planning-period-title span{color:var(--muted);font-size:10px}.planning-board{width:100%;max-width:none;padding:0;overflow:auto}.planning-week-grid{min-width:1180px;display:grid;grid-template-columns:210px repeat(7,minmax(145px,1fr))}.planning-week-grid>*{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.planning-week-grid>.planning-corner,.planning-week-grid>.planning-day-head{position:sticky;top:0;z-index:2;padding:12px;background:var(--surface-2)}.planning-day-head strong,.planning-day-head small{display:block}.planning-day-head small{color:var(--muted);font-size:9px}.planning-line-head{position:sticky;left:0;z-index:1;padding:13px;background:var(--surface)}.planning-line-head strong,.planning-line-head small{display:block}.planning-line-head small{margin-top:3px;color:var(--muted);font-size:9px}.planning-line-head button{margin-top:8px;padding:4px 6px;border:0;border-radius:6px;background:#fde9f4;color:#9c3975;font-size:9px;font-weight:800;cursor:pointer}.planning-cell{min-height:118px;padding:7px;background:var(--surface)}.planning-assignment{position:relative;margin-bottom:6px;padding:8px;border:1px solid #d9e5dd;border-left:4px solid #278066;border-radius:9px;background:#f1f8f4;cursor:pointer}.planning-assignment strong,.planning-assignment small{display:block}.planning-assignment strong{padding-right:18px;font-size:10px}.planning-assignment small{margin-top:2px;color:var(--muted);font-size:8px}.planning-assignment .planning-fit{display:inline-flex;margin-top:6px;padding:3px 6px;border-radius:7px;background:#dcefe6;color:#176a50;font-size:8px;font-weight:900}.planning-assignment.issue{border-color:#edbdad;border-left-color:#c35642;background:#fff1ed}.planning-assignment.unfilled{border-style:dashed;border-left-color:#d79325;background:#fff8e8}.planning-assignment .planning-delete{position:absolute;top:5px;right:5px;width:20px;height:20px;border:0;border-radius:6px;background:#fde8e8;color:#aa3535;font-size:12px;cursor:pointer}.planning-replacements{margin-top:6px;padding-top:6px;border-top:1px solid #edbdad}.planning-replacements b{display:block;color:#9c4436;font-size:8px}.planning-replacements button{margin:4px 3px 0 0;padding:4px 6px;border:0;border-radius:6px;background:#fff;color:#185a42;font-size:8px;font-weight:800;cursor:pointer}.planning-add-cell{width:100%;min-height:28px;border:1px dashed #ccd7cf;border-radius:8px;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}.planning-month-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1050px}.planning-month-head{padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);font-size:10px;font-weight:900}.planning-month-day{min-height:145px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.planning-month-day.outside{opacity:.4}.planning-month-day>strong{display:block;margin-bottom:7px;font-size:10px}.planning-month-day .planning-assignment{padding:6px}.planning-month-day .planning-replacements{display:none}.planning-absence-section{margin-top:20px}.planning-absence-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:9px}.planning-absence-card{display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.planning-absence-card strong,.planning-absence-card small{display:block}.planning-absence-card small{margin-top:3px;color:var(--muted);font-size:9px}.planning-absence-card .status{align-self:start;padding:4px 7px;border-radius:8px;background:#fff0cf;color:#97670c;font-size:8px;font-weight:900}.planning-absence-card .status.approved{background:#e7f4ef;color:#26745d}.planning-absence-actions{grid-column:1/-1;display:flex;gap:5px}.planning-absence-actions button{padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:9px;font-weight:800;cursor:pointer}.planning-dialog{width:min(820px,calc(100vw - 24px))}.planning-skill-picker{padding:10px;border:1px solid var(--line);border-radius:10px}.planning-skill-picker legend{padding:0 5px;font-size:11px;font-weight:800}.planning-skill-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.planning-skill-picker label{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:7px;border-radius:7px;background:var(--surface-2);font-size:9px!important}.planning-candidate-advice{padding:11px;border-radius:10px;background:#f0f6f2;color:#31533d;font-size:10px}.planning-candidate-advice.warning{background:#fff0eb;color:#8e3f31}.planning-candidate-advice strong,.planning-candidate-advice small{display:block}.planning-candidate-advice small{margin-top:3px}.planning-empty{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:1050px){.planning-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.planning-toolbar .segmented{grid-column:span 2}.planning-stats{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.planning-toolbar{grid-template-columns:40px 1fr 40px}.planning-toolbar .segmented{grid-column:1/-1}.planning-toolbar label:nth-of-type(n+2){grid-column:1/-1}.planning-stats{grid-template-columns:1fr 1fr}.planning-skill-picker>div{grid-template-columns:1fr}.planning-absence-list{grid-template-columns:1fr}}
@media print{body.printing-planning #printSheet{display:block!important;padding:0!important}.planning-print{width:100%;color:#102414}.planning-print header{display:flex;justify-content:space-between;align-items:end;padding-bottom:3mm;border-bottom:2px solid #123d20}.planning-print h1{margin:1mm 0!important;font-size:18px!important}.planning-print table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:7px}.planning-print th,.planning-print td{padding:3px;border:1px solid #bdc9c0;vertical-align:top}.planning-print th{background:#eaf2ec}.planning-print td strong,.planning-print td small{display:block}.planning-print td small{color:#57665c}.planning-print footer{margin-top:3mm;text-align:center;font-size:7px;color:#57665c}}

/* Planning cockpit: keep the operational grid above the fold. */
#view-planning{padding-top:14px!important}#view-planning .page-heading{margin-bottom:8px!important;align-items:center}#view-planning .page-heading .eyebrow{display:none}#view-planning .page-heading h1{font-size:25px!important;margin:0!important}#view-planning .page-heading p{margin:3px 0 0!important;font-size:11px;line-height:1.3}#view-planning .heading-actions{gap:6px}#view-planning .heading-actions .button{min-height:34px;padding:7px 11px;font-size:10px}.planning-stats{grid-template-columns:repeat(4,minmax(120px,1fr));gap:6px;margin-bottom:7px}.planning-stats>div{display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:10px}.planning-stats strong{font-size:17px}.planning-stats small{margin:0;font-size:9px}.planning-toolbar{position:sticky;top:0;z-index:6;grid-template-columns:auto 28px minmax(100px,.65fr) 28px repeat(5,minmax(100px,1fr));gap:5px;padding:7px 9px;border-radius:11px;overflow-x:auto}.planning-toolbar label{gap:2px;font-size:8px}.planning-toolbar input,.planning-toolbar select,.planning-nav{min-height:32px;height:32px;padding:4px 7px;border-radius:8px;font-size:9px}.planning-toolbar .segmented button{min-height:32px;padding:5px 9px;font-size:9px}.planning-period-title{margin:7px 2px 5px;min-height:24px}.planning-period-title h2{font-size:14px}.planning-period-title span{font-size:8px}.planning-board{max-height:calc(100dvh - 285px);min-height:390px;border-radius:11px}.planning-week-grid{min-width:1020px;grid-template-columns:175px repeat(7,minmax(118px,1fr))}.planning-week-grid>.planning-corner,.planning-week-grid>.planning-day-head{padding:7px}.planning-line-head{padding:8px}.planning-line-head button{margin-top:5px}.planning-cell{min-height:88px;padding:5px}.planning-assignment{margin-bottom:4px;padding:6px}.planning-assignment strong{font-size:9px}.planning-assignment small{font-size:7px}.planning-assignment .planning-fit,.planning-rotation-person{display:inline-flex;margin:4px 3px 0 0;padding:2px 5px;border-radius:6px;font-size:7px;font-weight:900}.planning-rotation-person{background:#f9dced;color:#91366d}.planning-rotation-badge{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:999px;background:#edf1ee;color:#486052;font-size:7px;font-weight:900}.planning-rotation-badge\32 x8,.planning-rotation-badge\33 x8{background:#f9dced;color:#91366d}.planning-month-grid{min-width:930px;grid-template-columns:repeat(7,minmax(125px,1fr))}.planning-month-head{padding:6px}.planning-month-day{min-height:102px;padding:5px}.planning-month-day>strong{margin-bottom:4px}.planning-month-day .planning-assignment{padding:4px}.planning-absence-section{margin-top:10px}.planning-absence-section .section-label{font-size:9px}.planning-absence-card{padding:8px}.planning-replacements{margin-top:4px;padding-top:4px}.planning-breadcrumb{display:block!important;margin:0 0 2px!important;color:#9b3e78!important;font-size:6px!important;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.planning-week-grid{grid-template-columns:155px repeat(7,minmax(112px,1fr))}.planning-week-grid>.planning-corner,.planning-week-grid>.planning-day-head{padding:5px 7px}.planning-day-head strong{font-size:10px}.planning-day-head small{font-size:7px}.planning-line-head{padding:6px 7px}.planning-line-head strong{font-size:10px}.planning-line-head small{font-size:7px}.planning-line-head button{margin-top:4px;padding:3px 5px;font-size:7px}.planning-rotation-badge{margin-top:3px;padding:2px 5px;font-size:6px}.planning-cell{min-height:58px;padding:3px}.planning-assignment-compact{margin-bottom:3px;padding:4px 5px;border-left-width:3px;border-radius:6px}.planning-assignment-main,.planning-assignment-meta{display:flex;min-width:0;align-items:center;gap:3px}.planning-assignment-main strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:8px}.planning-assignment-meta{margin-top:2px}.planning-assignment-meta small{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:6px}.planning-assignment-compact .planning-fit,.planning-assignment-compact .planning-rotation-person,.planning-shift-chip,.planning-issue-mark{flex:0 0 auto;display:inline-grid;place-items:center;margin:0;padding:1px 3px;min-width:15px;height:14px;border-radius:4px;font-size:6px;font-weight:900}.planning-shift-chip{background:#e9eef9;color:#345d9d}.planning-issue-mark{border-radius:50%;background:#c35642;color:#fff}.planning-assignment-compact .planning-fit{background:#dcefe6;color:#176a50}.planning-assignment-compact .planning-rotation-person{background:#f9dced;color:#91366d}.planning-assignment-compact .planning-delete{position:static;width:14px;height:14px;border-radius:4px;font-size:9px;line-height:1}.planning-assignment-compact .planning-replacements{display:none}.planning-add-cell{min-height:18px;border-radius:5px;font-size:11px;line-height:1}.planning-month-day .planning-assignment-compact{padding:3px 4px}
@media(max-width:1050px){#view-planning .page-heading{align-items:flex-start}.planning-board{max-height:none}.planning-toolbar{position:static}}
@media(max-width:700px){.planning-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

#planningViewSwitch .pp-mode-first{margin-left:8px;border-left:1px solid var(--line)}
.pp-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}
@media(max-width:1000px){.pp-layout{grid-template-columns:1fr}}
.pp-board{border:1px solid var(--line);background:var(--surface);overflow-x:auto}
.pp-table{border-collapse:separate;border-spacing:0;width:100%;min-width:860px}
.pp-table th{padding:9px 6px;font-size:12px;text-align:center;border-bottom:2px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:2}
.pp-table th small{display:block;color:var(--muted);font-weight:600;font-size:10.5px}
.pp-table th.today{background:#e9f3ec;color:#0b6b3a}
.pp-table th:first-child{text-align:left;padding-left:14px;left:0;z-index:3;min-width:230px}
.pp-table th.wknd,.pp-table td.wknd{background:color-mix(in srgb,var(--line) 30%,transparent)}
.pp-group td{background:var(--bg,#f7f5ef);padding:8px 14px;border-bottom:1px solid var(--line);position:sticky;left:0}
.pp-gl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pp-bc{font-size:10.5px;color:var(--muted);font-weight:600}
.pp-rot{font-size:10.5px;font-weight:800;padding:1px 7px;background:var(--line);color:var(--muted)}
.pp-cov{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:11.5px;font-weight:700}.pp-cov i{display:block;width:90px;height:5px;background:var(--line)}.pp-cov i b{display:block;height:100%;background:#0b6b3a}
.pp-table td{padding:5px;border-bottom:1px solid var(--line);text-align:center;height:52px;vertical-align:middle}
.pp-table td.today{background:color-mix(in srgb,#e9f3ec 45%,transparent)}
.pp-table td.pp-person{text-align:left;padding-left:14px;position:sticky;left:0;background:var(--surface);z-index:1}
.pp-who{display:flex;gap:9px;align-items:center}.pp-who b{display:block;font-size:12.5px;line-height:1.2}.pp-who small{color:var(--muted);font-size:11px}
.pp-block{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center;width:100%;padding:6px 8px;border:2px solid transparent;border-radius:0;text-align:left;font-size:11.5px;font-weight:700;position:relative;cursor:pointer;margin-bottom:3px}
.pp-block:last-child{margin-bottom:0}
.pp-block .pp-s{font-weight:800;font-size:11px;width:16px;text-align:center}
.pp-block small{display:block;font-weight:600;opacity:.8;font-size:10px}
.pp-block.morning,.pp-legend .M{background:#f7dd8a;color:#6b5200}.pp-block.afternoon,.pp-legend .A{background:#cfe0f5;color:#1f4f8f}.pp-block.night,.pp-legend .N{background:#d9dbf5;color:#33377f}.pp-block.day,.pp-legend .J{background:#bfe3c6;color:#14532d}
.pp-block.sel{border-color:var(--text,#14201a)}
.pp-block.al::after,.pp-block.wn::after{content:"!";position:absolute;top:-6px;right:-5px;width:16px;height:16px;border-radius:50%;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center}
.pp-block.al::after{background:#b4472a}.pp-block.wn::after{background:#9a6b00}
.pp-free{color:var(--muted);opacity:.55;font-size:18px;font-weight:300;background:none;border:0;width:100%;height:100%;min-height:38px;cursor:pointer}.pp-free:hover{opacity:1;background:#e9f3ec}
.pp-off{background:repeating-linear-gradient(135deg,var(--line) 0 6px,transparent 6px 9px);color:var(--muted);font-size:11px;font-weight:700;padding:9px 4px;margin-bottom:3px}
.pp-off.pend{outline:1px dashed #9a6b00}.pp-off small{display:block;font-size:9.5px}
.pp-need td{background:color-mix(in srgb,#fbeae4 70%,transparent)}
.pp-need td.pp-person{color:#b4472a;font-weight:800;font-size:12px}
.pp-gap{display:inline-block;font-size:11px;font-weight:800;padding:2px 7px;border:1px dashed #b4472a;color:#b4472a;margin:1px;background:var(--surface);cursor:pointer}.pp-gap:hover{background:#fbeae4}
.pp-ok{color:#0b6b3a;font-weight:800}
.pp-none{margin:0;color:var(--muted);font-size:12.5px;padding:8px 14px}
.pp-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);padding:10px 14px;border-top:1px solid var(--line)}.pp-legend i{display:inline-block;width:12px;height:12px;margin-right:5px;vertical-align:-2px}
.pp-legend .off{background:repeating-linear-gradient(135deg,var(--line) 0 3px,transparent 3px 5px);border:1px solid var(--line)}.pp-legend .dot{border-radius:50%}.pp-legend .dot.al{background:#b4472a}.pp-legend .dot.wn{background:#9a6b00}
.pp-inspector{border:1px solid var(--line);background:var(--surface);position:sticky;top:calc(var(--panel-sticky-top,74px) + 12px);max-height:calc(100vh - var(--panel-sticky-top,74px) - 80px);overflow-y:auto;overscroll-behavior:contain}
.pp-inspector>header{padding:14px 16px;border-bottom:1px solid var(--line)}.pp-inspector h2{margin:2px 0;font-size:17px}.pp-inspector>header small{color:var(--muted)}
.pp-body{padding:14px 16px;display:grid;gap:12px}
.pp-lbl{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--muted);margin-bottom:6px}
.pp-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px}.pp-pill.ok{background:#e9f3ec;color:#0b6b3a}.pp-pill.wn{background:#fbf0d2;color:#9a6b00}.pp-pill.al{background:#fbeae4;color:#b4472a}
.pp-why{padding:10px 12px;border:1px solid;font-weight:600}.pp-why span{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;opacity:.8}
.pp-why.al{border-color:#b4472a;background:#fbeae4;color:#5a1f0e}.pp-why.wn{border-color:#9a6b00;background:#fbf0d2;color:#5a4000}.pp-why.ok{border-color:#0b6b3a;background:#e9f3ec;color:#0b3d22}
.pp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.pp-week div{text-align:center;font-size:10.5px;font-weight:800;padding:5px 0;background:var(--line);color:var(--muted)}
.pp-week .morning{background:#f7dd8a;color:#6b5200}.pp-week .afternoon{background:#cfe0f5;color:#1f4f8f}.pp-week .night{background:#d9dbf5;color:#33377f}.pp-week .day{background:#bfe3c6;color:#14532d}
.pp-gauge{display:grid;grid-template-columns:70px 1fr 40px;gap:8px;align-items:center;font-size:12px;margin-bottom:5px}
.pp-gauge i{display:block;height:8px;background:var(--line);position:relative}.pp-gauge i b{position:absolute;inset:0 auto 0 0;background:#0b6b3a}.pp-gauge i.m b{background:#b4472a}.pp-gauge i u{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--text,#14201a)}.pp-gauge em{font-style:normal;font-weight:800}
.pp-cand,.pp-alert{display:grid;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--line);background:var(--surface);margin-bottom:6px;cursor:pointer;border-radius:0}
.pp-cand{grid-template-columns:1fr auto;gap:8px;align-items:center}.pp-cand em{font-style:normal;font-weight:800;color:#0b6b3a;font-size:11.5px}.pp-cand:hover,.pp-alert:hover{background:#e9f3ec}
.pp-alert{border-left:3px solid #9a6b00}.pp-alert.al{border-left-color:#b4472a}.pp-alert small{color:var(--muted);font-size:11px}
.pp-actions{display:flex;gap:8px}.pp-actions .button{flex:1;border-radius:2px}
body.dark .pp-table th.today{background:#1d2f24;color:#5fc088}body.dark .pp-table td.today{background:color-mix(in srgb,#1d2f24 60%,transparent)}

#planningViewSwitch [data-planning-view="week"]{display:none}
#planningStats.planning-chips{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);background:var(--surface);margin-bottom:12px}
#planningStats.planning-chips>div{display:flex;gap:9px;align-items:baseline;padding:9px 16px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}
#planningStats.planning-chips>div:last-child{border-right:0}
#planningStats.planning-chips strong{font-family:inherit;font-weight:800;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#planningStats.planning-chips small{margin:0;font-size:12px;color:var(--muted)}
#planningStats.planning-chips .bad strong{color:#b4472a}

.pp-table th.closed{background:#fbf0d2;color:#9a6b00}.pp-table th.closed small{color:#9a6b00;font-weight:700}
.planning-day-head.closed{background:#fbf0d2}.pp-closed{display:block;font-style:normal;font-size:10px;font-weight:800;color:#9a6b00}
.pp-gap.virtual{border-style:dotted}
.pp-train{background:repeating-linear-gradient(135deg,#dbe8f8 0 6px,transparent 6px 9px);color:#1f4f8f;font-size:11px;font-weight:700;padding:9px 4px;margin-bottom:3px}.pp-train small{display:block;font-size:9.5px}
body.dark .pp-table th.closed,body.dark .planning-day-head.closed{background:#3a3117;color:#e3b94f}
.pp-table{min-width:720px}.pp-table th:first-child,.pp-table td.pp-person{min-width:190px}
.pp-block{padding:6px 6px}

@media(max-width:1000px){.pp-inspector{position:static;max-height:none;overflow:visible}}

/* === design-system.css === */
/* Kartence × Opella — système visuel 2026 */
:root{
  --opella-green:#042b0b;
  --opella-green-90:#263f26;
  --opella-green-80:#3d553e;
  --opella-green-70:#546a54;
  --opella-green-60:#6d7f6e;
  --opella-green-50:#859486;
  --opella-green-40:#9eaa9e;
  --opella-green-30:#b6bfb7;
  --opella-green-20:#ced5ce;
  --opella-green-10:#e7eae7;
  --opella-warm-white:#f7efe6;
  --opella-pink:#ff78d2;
  --opella-pink-soft:#ffe4f5;
  --bg:#f7efe6;
  --surface:#fffdf9;
  --surface-2:#faf5ef;
  --surface-soft:#f0f2ee;
  --text:#102414;
  --muted:#667168;
  --line:#dce2dc;
  --border:#dce2dc;
  --dark:#042b0b;
  --violet:#ff78d2;
  --shadow:0 14px 36px rgba(4,43,11,.07);
  --shadow-strong:0 24px 70px rgba(4,43,11,.18);
  --radius-sm:10px;
  --radius-md:15px;
  --radius-lg:22px;
  --focus:0 0 0 3px rgba(255,120,210,.32);
}

html{font-size:16px}
body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;text-rendering:optimizeLegibility}
button,input,select,textarea{font-size:13px}
button{transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:0;box-shadow:var(--focus);border-color:var(--opella-pink)!important}
button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}

.sidebar{width:264px;padding:24px 17px 18px;background:var(--opella-green);color:var(--opella-green-20)}
.shell{margin-left:264px}
.brand{height:46px;font-size:22px;letter-spacing:-.35px}
.brand-mark{width:38px;height:38px;border-radius:0;background:transparent;color:inherit;font-size:0;box-shadow:none}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.workspace-switch{margin:19px 0 21px;min-height:55px;padding:10px 12px;border-color:rgba(231,234,231,.18);border-radius:14px;background:rgba(255,255,255,.07)}
.workspace-switch:hover{background:rgba(255,255,255,.11)}
.workspace-avatar{width:34px;height:34px;border-radius:10px;background:var(--opella-pink);color:var(--opella-green);font-size:12px}
.workspace-switch small{color:var(--opella-green-40);font-size:10px}
.workspace-switch strong{font-size:13px}
.nav{gap:5px}
.nav-label{margin:18px 12px 8px;color:var(--opella-green-50);font-size:10px;letter-spacing:1.4px}
.nav-item{min-height:44px;padding:0 12px;border-radius:11px;color:var(--opella-green-30);font-size:13px}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item.active{background:var(--opella-warm-white);color:var(--opella-green);box-shadow:0 7px 22px rgba(0,0,0,.13)}
.nav-item.active [data-icon]{color:var(--opella-green)}
.nav-badge{min-width:24px;padding:3px 7px;background:var(--opella-pink);color:var(--opella-green);font-size:10px;text-align:center}
.sidebar-insight{padding:16px;border-color:rgba(231,234,231,.15);background:rgba(255,255,255,.06)}
.sidebar-insight strong{font-size:13px}.sidebar-insight p,.sidebar-insight button{font-size:11px}
.user-card strong{font-size:12px}.user-card small{font-size:10px}.user-card button{width:36px;height:36px}

.topbar{height:74px;padding:0 clamp(20px,3vw,40px);border-color:var(--line);background:rgba(255,253,249,.9)}
.top-title span{font-size:10px}.top-title strong{font-size:14px}
.global-search input{width:min(330px,28vw);height:42px;padding-left:40px;border-radius:12px;background:var(--surface);font-size:13px}
.global-search kbd{font-size:10px}.icon-btn{width:42px;height:42px;border-radius:12px}
.main-content{max-width:1560px;padding:clamp(22px,3vw,42px)}
.page-heading{margin-bottom:26px;align-items:center;gap:20px}
.date-label,.eyebrow{color:var(--opella-green-60);font-size:11px;letter-spacing:1.35px}
.page-heading h1,.compact-heading h1{margin:6px 0;font-size:clamp(27px,2.3vw,36px);line-height:1.12;letter-spacing:-1.2px}
.page-heading p{max-width:720px;color:var(--muted);font-size:14px;line-height:1.55}
.heading-actions{max-width:100%;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}
.matrix-heading-actions{align-items:flex-end}
.matrix-view-picker{min-width:180px;display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:700}
.matrix-view-picker select{width:100%;height:42px;padding:0 34px 0 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);font-size:12px}
.matrix-tools-menu{position:relative}
.matrix-tools-menu summary{min-width:156px;justify-content:space-between;list-style:none}
.matrix-tools-menu summary::-webkit-details-marker{display:none}
.matrix-tools-menu[open] summary{border-color:var(--opella-pink);box-shadow:var(--focus)}
.matrix-tools-menu>div{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:310px;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-strong)}
.matrix-tools-menu>div button{width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;text-align:left}
.matrix-tools-menu>div button:hover{background:var(--surface-2)}
.matrix-tools-menu strong,.matrix-tools-menu small{display:block}
.matrix-tools-menu strong{font-size:12px}.matrix-tools-menu small{margin-top:3px;color:var(--muted);font-size:10px}
.button{min-height:42px;height:auto;padding:10px 16px;border-radius:11px;font-size:13px}
.button.dark{background:var(--opella-green);border-color:var(--opella-green)}
.button.dark:hover{background:var(--opella-green-90)}
.button.ghost{background:var(--surface)}
.button:hover{box-shadow:0 7px 18px rgba(4,43,11,.1)}

.panel,.person-card,.skill-card,.kpi-card,.plan-card{border-color:var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 2px 0 rgba(4,43,11,.015)}
.panel:hover,.person-card:hover,.skill-card:hover{border-color:var(--opella-green-20)}
.panel-head h2,.recommendations h2{font-size:17px}
.kpi-grid{gap:15px}.kpi-card{min-height:148px;padding:21px}
.kpi-card>span{font-size:12px}.kpi-card>strong{font-size:30px}.kpi-card>small{font-size:11px}
.kpi-icon{width:38px;height:38px;border-radius:11px}
.violet{background:var(--opella-pink-soft);color:#8e145f}
.green{background:var(--opella-green-10);color:var(--opella-green)}
.orange{background:#fff0df;color:#9a501e}.blue{background:#e8f2ee;color:#285c47}
.readiness-panel,.priorities-panel,.activity-panel{padding:23px}
.coverage-list strong,.priority-list strong,.activity-list strong{font-size:13px}
.coverage-list small,.priority-list small,.activity-list small{font-size:11px}
.coverage-list>div{grid-template-columns:125px 1fr 42px}
.priority-list button{min-height:66px}.priority-rank{font-size:12px}

.toolbar{min-height:72px;padding:12px 18px;align-items:center;flex-wrap:wrap}
.toolbar-actions{display:flex;flex:1;justify-content:flex-end;flex-wrap:wrap}
.segmented button{min-height:34px;padding:6px 13px;font-size:12px}
.input-search input,.toolbar select{height:40px;font-size:12px}
.input-search input{width:220px}
.matrix-legend{min-height:48px;padding:9px 18px;flex-wrap:wrap;font-size:11px}
.matrix-table{min-width:1100px}
.table-scroll{max-height:calc(100vh - 285px);overflow:auto;scrollbar-color:var(--opella-green-40) transparent}
.matrix-table thead th{position:sticky;top:0;z-index:5;height:78px;background:var(--surface);box-shadow:0 1px 0 var(--line)}
.matrix-table thead th.sticky{z-index:7}
.matrix-table th{padding:8px 13px;font-size:11px}
.matrix-table th small{font-size:10px}
.matrix-table td{height:72px;padding:8px 13px}
.person-col{min-width:248px}
.person-cell strong{font-size:13px}.person-cell small{font-size:11px}
.level{width:29px;height:29px;border-radius:8px;font-size:11px}
.target-note{margin-top:5px;font-size:10px}
.score-value{font-size:12px}.table-foot{min-height:58px;font-size:11px}
.l0{background:#f4f5f2}.l1{background:#ffe7e1;color:#9f412f}.l2{background:#fff0cf;color:#895b12}.l3{background:#e3efea;color:#245f47}.l4{background:var(--opella-green);color:#fff}

.people-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:15px}
.person-card,.skill-card{padding:20px}
.avatar.large{width:48px;height:48px}
.availability{height:auto;padding:5px 9px;font-size:10px}
.person-card h3,.skill-card h3{font-size:16px}
.person-card>p,.skill-card p{font-size:12px}
.profile-score strong{font-size:15px}.profile-score small,.skill-metrics small{font-size:10px}
.talent-tags span{padding:6px 8px;font-size:10px}
.card-action{min-height:42px;font-size:12px}
.skills-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px}
.skill-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));overflow:hidden}
.skill-summary>div{min-height:72px;padding:16px 20px}
.skill-summary strong{font-size:23px}.skill-summary span{font-size:11px}
.skill-summary>div+div{border-left:1px solid var(--line)}
.category-label,.criticality{font-size:10px}
.skill-metrics strong{font-size:14px}
.skill-validators strong,.skill-validators span{font-size:12px}
.skill-documents{font-size:12px}
.entity-actions{gap:7px}
.entity-actions button{min-height:34px;font-size:11px}
.skill-version{font-size:11px}
.skills-list .skill-version{grid-column:1/-1;grid-row:2;margin:0}
.skills-list .skill-documents{grid-row:3}
.skills-list .entity-actions{grid-row:4}

.plans-stats>div{min-height:78px}.plans-stats strong{font-size:21px}.plans-stats small{font-size:11px}
.plan-card{padding:18px}.plan-main strong{font-size:13px}.plan-main small,.due,.plan-main p{font-size:11px}
.recommendations strong{font-size:12px}.recommendations small{font-size:10px}
.empty{padding:32px;font-size:13px}

.training-toolbar label,.training-archive-filters label{font-size:12px}
.training-toolbar input,.training-toolbar select,.training-archive-filters input,.training-archive-filters select{height:42px;font-size:13px}
.training-list th{font-size:11px}.training-list td>strong{font-size:13px}.training-list td>small{font-size:11px}
.training-archive-summary{grid-template-columns:repeat(5,1fr)}
.training-archive-summary span,.archive-record-head p,.archive-trace small,.archive-participants p{font-size:11px}
.archive-record-head small{font-size:10px}.archive-record-actions button,.archive-record-actions span{font-size:11px}
.training-compact-card>span:nth-child(2)>strong{font-size:13px}
.training-compact-card>span:nth-child(2)>small,.training-mini-trace{font-size:11px}

dialog{width:min(720px,calc(100% - 32px));max-height:min(88vh,900px);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);overflow:auto}
dialog::backdrop{background:rgba(4,43,11,.5);backdrop-filter:blur(6px)}
.dialog-head{position:sticky;z-index:3;top:0;padding:22px 24px;background:var(--surface)}
.dialog-icon{width:42px;height:42px;border-radius:12px;background:var(--opella-pink-soft);color:#8e145f}
.dialog-head h2{font-size:20px}.dialog-head p{font-size:12px}
.dialog-head>.close-dialog{width:40px;height:40px;border-radius:10px;font-size:24px}
.dialog-head>.close-dialog:hover{background:var(--surface-2);color:var(--text)}
.form-grid{padding:24px;gap:18px}
.form-grid label,.level-criteria-fields label{font-size:12px}
.form-grid label small{color:var(--muted);font-weight:500}
.form-grid input,.form-grid select,.form-grid textarea{margin-top:7px;border-radius:10px;font-size:13px}
.form-grid input,.form-grid select{height:44px}
.form-grid textarea{min-height:94px;line-height:1.5}
.dialog-actions{position:sticky;z-index:3;bottom:0;padding:16px 24px;background:var(--surface);flex-wrap:wrap}
.dialog-actions .close-dialog{width:auto;height:auto;font-size:13px;white-space:nowrap;overflow:visible}
.dialog-actions .button{flex:0 0 auto;max-width:100%;white-space:normal;text-align:center;justify-content:center}
.quick-check-list legend,.participant-section>strong{font-size:13px}

.toast{left:50%;right:auto;top:50%;bottom:auto;max-width:min(480px,calc(100% - 32px));padding:15px 20px;border-radius:13px;background:var(--opella-green);font-size:13px;text-align:center;box-shadow:var(--shadow-strong);transform:translate(-50%,-44%) scale(.97)}
.toast.show{transform:translate(-50%,-50%) scale(1)}
.undo-notice{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important}
.action-group h2{font-size:15px}.action-group strong{font-size:12px}.action-group small,.action-group button>b{font-size:10px}
.action-type{width:34px;height:34px;font-size:12px}

.csv-preview-rows th,.csv-preview-rows td{border-color:var(--line);font-size:11px}
.csv-preview-rows th{font-size:10px}
.auth-field-help{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:500}
.appearance-card{grid-column:1/-1}
.theme-color-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px}
.theme-color-grid label{font-size:11px;font-weight:700}
.theme-color-grid input[type=color]{width:100%;height:48px;margin-top:6px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}
.theme-preview{margin-top:14px;padding:18px;border-radius:14px;background:var(--preview-background);color:var(--preview-text);display:flex;align-items:center;gap:14px}
.theme-preview>span{width:46px;height:46px;border-radius:12px;background:var(--preview-accent);color:var(--preview-primary);display:grid;place-items:center;font-weight:800}
.theme-preview>div{flex:1;padding:14px;border-radius:11px;background:var(--preview-surface);display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px}
.theme-preview strong,.theme-preview small{display:block}.theme-preview small{color:color-mix(in srgb,var(--preview-text) 65%,transparent)}
.theme-preview button{grid-column:2;grid-row:1/3;padding:9px 12px;border:0;border-radius:8px;background:var(--preview-primary);color:var(--preview-surface);font-size:11px;font-weight:800}
.theme-contrast{margin:9px 0 0;font-size:11px;font-weight:700}.theme-contrast.valid{color:#26755b}.theme-contrast.invalid{color:#a3422f}
.theme-actions{margin-top:16px;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}

.auth-gate{background:var(--opella-warm-white)}
.auth-visual{background:linear-gradient(145deg,#032408 0%,#064012 72%,#0b521b 100%)}
.auth-visual::before{border-color:rgba(255,120,210,.28);box-shadow:0 0 0 70px rgba(255,120,210,.10),0 0 0 140px rgba(255,120,210,.055)}
.auth-copy .eyebrow,.auth-visual .eyebrow{color:var(--opella-pink)}
.auth-submit{min-height:52px;border-radius:13px;background:#042b0b;font-size:14px}
.auth-submit:hover{background:#075317}
.auth-form input:focus{border-color:var(--opella-pink);box-shadow:var(--focus)}
.auth-form a,.auth-request-link{color:var(--opella-green)}
.auth-loading-spinner{border-color:var(--opella-green-10);border-top-color:var(--opella-pink)}
.donut{background:conic-gradient(var(--opella-green) calc(var(--value)*1%),var(--opella-green-10) 0)}
.bar i,.mini-progress i{background:var(--opella-green)}
.plan-progress i{background:var(--opella-pink)}
.mobile-menu{background:var(--opella-green);color:#fff}

body.dark{
  --bg:#08150b;
  --surface:#102416;
  --surface-2:#152d1b;
  --surface-soft:#18331f;
  --text:#f7efe6;
  --muted:#b6bfb7;
  --line:#29452f;
  --dark:#ff78d2;
}
body.dark .button.dark{color:var(--opella-green)}
body.dark .topbar{background:rgba(16,36,22,.9)}
body.dark .skill-validators{background:#18331f}
body.dark .l4{background:var(--opella-pink);color:var(--opella-green)}

@media(max-width:1180px){
  .sidebar{width:232px}.shell{margin-left:232px}
  .main-content{padding:26px 22px}
  .page-heading{align-items:flex-start;flex-direction:column}
  .heading-actions{width:100%;justify-content:flex-start}
  .matrix-view-picker{flex:1 1 190px}
  .dashboard-grid,.plans-layout{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .training-archive-summary{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:820px){
  .sidebar{width:min(300px,86vw)}
  .shell{margin-left:0}
  .topbar{padding:0 16px}
  .global-search{display:none}
  .main-content{padding:22px 15px}
  .page-heading h1,.compact-heading h1{font-size:28px}
  .heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .heading-actions .button{justify-content:center}
  .matrix-tools-menu summary{width:100%}
  .toolbar{align-items:stretch;flex-direction:column}
  .toolbar-actions{justify-content:flex-start}
  .toolbar-actions>*{flex:1 1 180px}
  .input-search input{width:100%}
  .activity-list{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .theme-color-grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:600px){
  body{font-size:14px}
  .main-content{padding:18px 12px}
  .top-title span{display:none}
  .page-heading{margin-bottom:20px}
  .page-heading h1,.compact-heading h1{font-size:25px}
  .page-heading p{font-size:13px}
  .heading-actions{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .heading-actions .button{flex:0 0 auto}
  .matrix-view-picker{min-width:190px;flex:0 0 190px}
  .matrix-tools-menu{flex:0 0 auto}
  .matrix-tools-menu>div{position:fixed;left:12px;right:12px;top:auto;bottom:16px;width:auto}
  .kpi-grid,.plans-stats{grid-template-columns:1fr}
  .kpi-card{min-height:124px}
  .skill-summary,.training-archive-summary{grid-template-columns:1fr 1fr}
  .skill-summary>div:nth-child(odd),.training-archive-summary>div:nth-child(odd){border-left:0}
  .people-grid,.skills-grid{grid-template-columns:1fr}
  .segmented{max-width:100%;overflow:auto}
  dialog{width:calc(100% - 18px);max-height:94vh;border-radius:16px}
  .dialog-head,.form-grid,.dialog-actions{padding:17px}
  .dialog-actions .button{flex:1;justify-content:center}
  .theme-color-grid{grid-template-columns:1fr 1fr}
  .theme-preview>div{grid-template-columns:1fr}
  .theme-preview button{grid-column:1;grid-row:auto}
  .theme-actions .button{width:100%;justify-content:center}
  .matrix-table{min-width:980px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* === auth-stable.css === */
/* Palette Opella fixe : même vert avant, pendant et après le chargement. */
.auth-gate .auth-visual{background:linear-gradient(145deg,#032408 0%,#064012 72%,#0b521b 100%)}
.auth-gate .auth-visual::before{border-color:rgba(255,120,210,.28);box-shadow:0 0 0 78px rgba(255,120,210,.10),0 0 0 156px rgba(255,120,210,.055)}
.auth-gate .auth-submit{background:#042b0b}
.auth-gate .auth-submit:hover{background:#075317}

/* La page d'authentification est une surcouche fixe. Le document situé dessous ne
   doit pas capter la molette : seul le panneau du formulaire défile. */
body.auth-pending,body.auth-locked,body:has(>.auth-gate:not([hidden])){height:100vh;height:100dvh;overflow:hidden}
.auth-gate{height:100vh;height:100dvh;min-height:0;overflow:hidden}
.auth-panel{min-height:0;align-content:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.auth-card{margin-block:auto}

.auth-meaning{width:min(580px,100%);margin-top:24px;padding:18px;border:1px solid rgba(247,239,230,.2);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.1),0 18px 40px rgba(0,0,0,.1);backdrop-filter:blur(12px)}
.auth-meaning-label{display:block;margin-bottom:12px;color:#ff9ddd;font-size:9px;font-weight:800;letter-spacing:.16em}
.auth-meaning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.auth-meaning-grid>span{min-width:0;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(247,239,230,.12);border-radius:11px;background:rgba(247,239,230,.07)}
.auth-meaning-grid b{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:8px;background:#ff78d2;color:#042b0b;font:800 12px Manrope,sans-serif;box-shadow:0 5px 14px rgba(0,0,0,.12)}
.auth-meaning-grid>span>span{min-width:0}
.auth-meaning-grid strong,.auth-meaning-grid small{display:block;min-width:0;overflow-wrap:anywhere}
.auth-meaning-grid strong{color:#fffdf9;font:700 10px Manrope,sans-serif}
.auth-meaning-grid small{margin-top:1px;color:#adc5b2;font-size:8px;line-height:1.25}
.auth-meaning>p{margin:13px 0 0!important;color:#d9e8dc!important;font-size:10px!important;line-height:1.55!important}
.auth-meaning-mobile{display:none}

@media(max-width:1180px) and (min-width:821px){
 .auth-story h1{font-size:clamp(32px,3.8vw,48px)}
}
@media(max-height:820px) and (min-width:821px){
 .auth-visual{padding-block:26px}
 .auth-story h1{margin-block:12px;font-size:clamp(30px,3.5vw,46px)}
 body .auth-meaning{margin-top:16px;padding:14px}
 body .auth-meaning-grid>span{padding:6px}
 .auth-proof{margin-top:18px}
}
@media(max-width:820px){
 body .auth-meaning-mobile{display:block;width:100%;margin-top:24px;padding:16px;border-color:#dfe8e1;background:linear-gradient(145deg,#f8fbf8,#fff6fc);box-shadow:none;backdrop-filter:none}
 .auth-meaning-mobile .auth-meaning-label{color:#8f2f72}
 .auth-meaning-mobile .auth-meaning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .auth-meaning-mobile .auth-meaning-grid>span{border-color:#dfe8e1;background:#fff}
 .auth-meaning-mobile .auth-meaning-grid strong{color:#102414}
 .auth-meaning-mobile .auth-meaning-grid small{color:#6b7770}
 .auth-meaning-mobile>p{color:#506159!important}
}
@media(max-width:390px){
 .auth-panel{padding:14px}
 html body .auth-card{padding:20px}
 html body .auth-meaning-mobile{padding:14px}
 body .auth-meaning-mobile .auth-meaning-grid>span{gap:6px;padding:7px}
 body .auth-meaning-mobile .auth-meaning-grid strong{font-size:9px}
}
/* Aucune session connue sur ce navigateur : l'écran de connexion s'affiche sans attendre l'application. */
body.auth-pending.auth-early .auth-gate{visibility:visible}
body.auth-pending.auth-early .auth-loading{display:none}
/* Tant que personne n'est connecté, l'application reste réellement masquée derrière l'écran de connexion :
   le navigateur n'a pas à la dessiner pour rien. */
body:not(.authenticated):has(>.auth-gate:not([hidden])) .shell,body:not(.authenticated):has(>.auth-gate:not([hidden])) .sidebar{visibility:hidden}

/* === accessibility-polish.css === */
/* Lisibilité ciblée sans modifier la mise en page métier. */
.auth-panel .eyebrow,#view-dashboard .eyebrow{color:#526856}
.auth-panel .auth-switch{color:#6f746f}
#view-dashboard .live-pill{font-size:11px;color:#245f4d}

/* === work-center.css === */
.work-heading{align-items:flex-end}
.work-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.work-summary>div{position:relative;overflow:hidden;min-height:108px;padding:22px 24px;border:1px solid var(--border,#d9dfda);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(4,43,11,.05);display:flex;flex-direction:column;justify-content:center}
.work-summary>div::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#91a099}
.work-summary .urgent::before{background:#e75849}.work-summary .week::before{background:#d6ab52}.work-summary .upcoming::before{background:#2f83cf}.work-summary .total::before{background:#08733f}
.work-summary strong{font:800 32px/1 Manrope,sans-serif;color:#102519}.work-summary span{margin-top:8px;color:#68756e;font-size:13px;font-weight:700}
.work-scope{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-bottom:18px}
.work-scope>span{display:flex;flex-direction:column;gap:3px}.work-scope strong{font-size:14px}.work-scope small{color:#718078}
.work-scope .segmented{flex:0 0 auto}.work-scope .segmented button{min-height:38px}
.work-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.work-column{overflow:hidden;padding:0;min-width:0}
.work-column>header{display:grid;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:11px;padding:18px;border-bottom:1px solid var(--border,#d9dfda)}
.work-column>header i{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#edf2ef;color:#174f32;font-style:normal;font-size:18px;font-weight:800}
.work-column.urgent>header i{background:#ffebe7;color:#bd392e}.work-column.week>header i{background:#fff3d9;color:#916318}.work-column.upcoming>header i{background:#e7f3ff;color:#1e6cae}
.work-column h2{margin:0;font-size:16px}.work-column header small{display:block;margin-top:3px;color:#7d8882;font-size:11px}.work-column header b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f0f3f1;font-size:12px}
.work-column>div{padding:7px 15px 15px}
.work-item{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;padding:13px 3px;border:0;border-bottom:1px solid #e1e6e2;background:transparent;text-align:left;color:inherit;cursor:pointer}
.work-item:last-child{border-bottom:0}.work-item:hover{background:#f7faf8}.work-item:focus-visible{outline:3px solid rgba(5,112,62,.22);outline-offset:2px}
.work-kind{align-self:start;padding:4px 7px;border-radius:7px;background:#eef2ef;color:#315c44;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.work-kind.validation{background:#efeafd;color:#5d4bb2}.work-kind.training{background:#e2f3ec;color:#08734b}.work-kind.plan{background:#fff0d7;color:#8a5c13}
.work-item>span:nth-child(2){min-width:0}.work-item strong,.work-item small{display:block}.work-item strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.work-item small{margin-top:4px;color:#78837d;font-size:10px;line-height:1.45}
.work-item em{grid-column:2;color:#5546c8;font-size:10px;font-style:normal;font-weight:800}
.work-empty{margin:8px 0 0;padding:24px 10px;text-align:center;color:#728078;font-size:12px;background:#f8faf8;border-radius:12px}
.nav-badge{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:11px;display:inline-grid;place-items:center;background:#ff69b4;color:#2a1030;font-size:10px;font-weight:800}.nav-badge[hidden]{display:none}
@media(max-width:1180px){.work-board{grid-template-columns:1fr}.work-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.work-heading{align-items:flex-start}.work-scope{align-items:stretch;flex-direction:column}.work-scope .segmented{display:grid;grid-template-columns:repeat(2,1fr)}.work-summary{grid-template-columns:1fr 1fr;gap:9px}.work-summary>div{min-height:88px;padding:16px}.work-summary strong{font-size:26px}}
.context-panel{width:min(470px,100%);height:100%;max-height:100%;margin:0 0 0 auto;border:0;border-left:1px solid #d9dfda;border-radius:0;background:#fffdf9;color:#102519;box-shadow:-24px 0 70px rgba(4,43,11,.16)}
.context-panel[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:context-panel-in .2s ease-out}
.context-panel::backdrop{background:rgba(4,43,11,.28);backdrop-filter:blur(3px)}
@keyframes context-panel-in{from{transform:translateX(32px);opacity:.5}to{transform:none;opacity:1}}
.context-panel .dialog-head{position:static;align-items:flex-start}.context-panel .dialog-head small{display:block;margin-bottom:4px;color:#08733f;font-size:10px;font-weight:800;letter-spacing:.1em}.context-panel .dialog-head p{max-width:320px;margin-top:6px;font-size:12px;line-height:1.5}
.context-panel-body{overflow:auto;padding:22px 24px}.context-panel-intro{padding:16px;border-radius:14px;background:#f7efe6}.context-panel-intro strong,.context-panel-intro span{display:block}.context-panel-intro strong{font-size:13px}.context-panel-intro span{margin-top:5px;color:#66746c;font-size:11px;line-height:1.5}
.context-panel-details{margin:18px 0 0}.context-panel-details>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #e2e7e3}.context-panel-details dt{color:#7b8780;font-size:11px}.context-panel-details dd{margin:0;font-size:12px;font-weight:750;overflow-wrap:anywhere}.context-panel-note{margin-top:20px;padding:14px;border-left:4px solid #d6ab52;background:#fff7e7;color:#624a1c;font-size:11px;line-height:1.55}
.context-panel .dialog-actions{position:static;align-items:center;flex-wrap:wrap}.context-panel .dialog-actions .button{flex:1 1 auto}
@media(max-width:520px){.context-panel{width:100%}.context-panel-body{padding:18px}.context-panel-details>div{grid-template-columns:100px minmax(0,1fr)}}
.shared-journey{padding:20px 22px!important;border-top:1px solid #dce3de;background:#fbfcfa}
.shared-journey-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}.shared-journey-head span small,.shared-journey-head span strong{display:block}.shared-journey-head span small{color:#08733f;font-size:9px;font-weight:800;letter-spacing:.12em}.shared-journey-head span strong{margin-top:4px;font-size:13px}.shared-journey-head em{color:#78847d;font-size:10px;font-style:normal;text-align:right}
.shared-journey-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.shared-journey-steps button{position:relative;min-width:0;min-height:76px;padding:11px 8px;border:1px solid #dce3de;border-radius:11px;background:#fff;color:#25372d;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;gap:7px;text-align:left;cursor:pointer}.shared-journey-steps button:not(:last-child)::after{content:"";position:absolute;z-index:2;right:-8px;top:24px;width:8px;height:2px;background:#cfd8d2}.shared-journey-steps button:hover{border-color:#7da38b;background:#f5faf7}.shared-journey-steps button.active{border-color:#08733f;box-shadow:inset 0 0 0 1px #08733f}.shared-journey-steps button.done{background:#f2faf6}.shared-journey-steps button.pending{color:#7e8882;background:#f7f8f7}.shared-journey-steps i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ecefec;font-size:10px;font-style:normal;font-weight:800}.shared-journey-steps .done i{background:#d8f1e5;color:#08734b}.shared-journey-steps .current i{background:#fff0d5;color:#966313}.shared-journey-steps strong,.shared-journey-steps small{display:block;overflow-wrap:anywhere}.shared-journey-steps strong{font-size:10px;line-height:1.3}.shared-journey-steps small{margin-top:4px;color:#758078;font-size:8px;line-height:1.35}
.training-linked-journeys{padding:20px 22px;border-top:1px solid #dce3de}.training-linked-journeys>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.training-linked-journeys>div:first-child small{color:#78847d}.training-linked-journeys .shared-journey{margin-top:9px;border:1px solid #dce3de!important;border-radius:13px}.training-linked-journeys .shared-journey-head em{display:none}
@media(max-width:760px){.shared-journey-head{align-items:flex-start;flex-direction:column}.shared-journey-head em{text-align:left}.shared-journey-steps{grid-template-columns:1fr 1fr}.shared-journey-steps button:nth-child(2)::after{display:none}}
@media(max-width:430px){.shared-journey-steps{grid-template-columns:1fr}.shared-journey-steps button::after{display:none}}
.matrix-advanced-filters{position:relative;flex:0 0 auto}.matrix-advanced-filters>summary{height:38px;padding:0 11px;border:1px solid #d8dfda;border-radius:9px;background:#fff;display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;font-size:11px;font-weight:750;white-space:nowrap}.matrix-advanced-filters>summary::-webkit-details-marker{display:none}.matrix-advanced-filters>summary b{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff78d2;color:#37152a;display:grid;place-items:center;font-size:9px}.matrix-advanced-filters>summary b[hidden]{display:none}.matrix-advanced-filters[open]>summary{border-color:#08733f;box-shadow:0 0 0 3px rgba(8,115,63,.1)}.matrix-advanced-filters>div{position:absolute;z-index:25;top:44px;right:0;width:min(330px,calc(100vw - 32px));padding:14px;border:1px solid #d8dfda;border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(4,43,11,.16);display:grid;gap:10px}.matrix-advanced-filters label small{display:block;margin-bottom:5px;color:#65736b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.matrix-advanced-filters select{width:100%;max-width:none!important}
.matrix-reset-filters{height:38px;padding:0 10px;border:0;background:transparent;color:#a13f37;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.matrix-reset-filters:hover{text-decoration:underline}.matrix-reset-filters[hidden]{display:none}.matrix-filter-summary{margin:-1px 18px 10px;padding:9px 12px;border-radius:9px;background:#eef7f1;color:#315b43;display:flex;align-items:center;gap:8px;font-size:10px}.matrix-filter-summary[hidden]{display:none}.matrix-filter-summary strong{white-space:nowrap}.matrix-filter-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-matrix.matrix-control-mode #matrixMode{background:#f2f0ff}#view-matrix.matrix-control-mode #matrixMode [data-mode="pending"],#view-matrix.matrix-control-mode #matrixMode [data-mode="expiring"]{color:#5947b5}
#matrixMode [hidden]{display:none!important}
@media(max-width:850px){#view-matrix .toolbar-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(135px,.55fr);width:100%}#view-matrix .toolbar-actions .input-search{grid-column:1/-1}.matrix-advanced-filters>summary,.matrix-reset-filters,#matrixDensity,#teamFilter{width:100%;max-width:none!important}.matrix-advanced-filters>div{right:auto;left:0}.matrix-filter-summary{align-items:flex-start;flex-direction:column}}
.global-search-results{position:absolute;z-index:60;top:calc(100% + 8px);right:0;width:min(520px,calc(100vw - 32px));max-height:min(520px,70vh);overflow:auto;padding:8px;border:1px solid #d8dfda;border-radius:15px;background:#fff;box-shadow:0 20px 55px rgba(4,43,11,.2)}.global-search-results[hidden]{display:none}.global-search-results>p{margin:0;padding:22px;color:#77837c;text-align:center;font-size:11px}.global-search-results>button{width:100%;min-height:62px;padding:10px;border:0;border-radius:10px;background:transparent;color:#15271c;display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.global-search-results>button+button{border-top:1px solid #edf0ed}.global-search-results>button:hover,.global-search-results>button.active{background:#f1f8f4}.global-search-results em{padding:4px 6px;border-radius:6px;background:#eef3ef;color:#315e45;font-size:8px;font-style:normal;font-weight:850;text-align:center;text-transform:uppercase}.global-search-results strong,.global-search-results small{display:block;overflow-wrap:anywhere}.global-search-results strong{font-size:12px}.global-search-results small{margin-top:3px;color:#758078;font-size:9px}.global-search-results button>b{color:#574bc0;font-size:9px;white-space:nowrap}
#notificationButton #notificationDot{position:absolute;right:-5px;top:-6px;width:auto;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:10px;background:#ff6e50;color:#fff;display:grid;place-items:center;font-size:8px;font-style:normal;font-weight:900;line-height:1}#notificationButton #notificationDot[hidden]{display:none}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:11px 15px;border-radius:9px;background:#fff;color:#063d20;font-weight:850;box-shadow:0 6px 24px rgba(0,0,0,.22);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.global-search-results>button:focus-visible,.matrix-advanced-filters>summary:focus-visible,.matrix-reset-filters:focus-visible{outline:3px solid rgba(8,115,63,.28);outline-offset:2px}
@media(max-width:820px){
 .top-actions{gap:5px}
 .global-search{display:flex;width:42px;height:42px;flex:0 0 42px}
 .global-search input{width:42px;height:42px;padding:0;color:transparent;cursor:pointer}
 .global-search input::placeholder{color:transparent}
 .global-search kbd{display:none}
 .global-search:focus-within{position:fixed;z-index:70;top:10px;left:12px;right:12px;width:auto;height:44px;flex:1 1 auto;background:#fff;box-shadow:0 14px 40px rgba(4,43,11,.2)}
 .global-search:focus-within input{width:100%;height:44px;padding:0 38px;color:var(--text,#102519);cursor:text}
 .global-search:focus-within input::placeholder{color:#7a847e}
 .global-search-results{position:fixed;top:62px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 78px)}
 .context-panel{height:100dvh}
}
@media(max-width:520px){
 .top-actions .sync-status,.top-actions .context-help-button span,.top-actions>.avatar{display:none}
 .global-search-results>button{grid-template-columns:76px minmax(0,1fr)}
 .global-search-results button>b{display:none}
 .top-actions button,.global-search{min-width:42px;min-height:42px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.skip-link,.global-search-results{display:none!important}}
@media(max-width:1100px){.training-toolbar{grid-template-columns:minmax(0,1fr)!important}.training-toolbar .training-view-switch{width:100%;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.training-toolbar .training-view-switch button{min-width:0;padding-inline:7px;white-space:normal}}
@media(max-width:520px){.training-toolbar .training-view-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}
.runtime-monitor-panel{margin-bottom:16px;padding:20px}.runtime-monitor-panel .panel-head{margin-bottom:14px}.runtime-error-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.runtime-error-summary>div{padding:13px;border:1px solid #dce3de;border-radius:11px;background:#f8faf8}.runtime-error-summary strong,.runtime-error-summary small{display:block}.runtime-error-summary strong{font-size:18px}.runtime-error-summary small{margin-top:3px;color:#748078;font-size:10px}.runtime-error-list article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:12px 2px;border-top:1px solid #e1e6e2}.runtime-error-kind{align-self:start;padding:5px 7px;border-radius:7px;background:#ffebe7;color:#a23f34;font-size:9px;font-weight:850;text-align:center;text-transform:uppercase}.runtime-error-list strong,.runtime-error-list small,.runtime-error-list code{display:block;overflow-wrap:anywhere}.runtime-error-list strong{font-size:12px}.runtime-error-list small{margin-top:4px;color:#6f7c75;font-size:10px}.runtime-error-list code{margin-top:5px;color:#8a938e;font-size:9px}@media(max-width:620px){.runtime-error-summary{grid-template-columns:1fr}.runtime-error-list article{grid-template-columns:1fr}.runtime-error-kind{justify-self:start}}

/* Keep decorative sidebar layers inside the navigation at every viewport size. */
.sidebar{overflow-x:hidden}

/* Sidebar 2026 — navigation plus lisible, identité compacte et finitions modernes. */
body .sidebar{padding:20px 14px 14px;background:linear-gradient(160deg,#021d0a 0%,#04300f 58%,#063a16 100%);box-shadow:16px 0 42px rgba(1,27,9,.18)}
body .sidebar .brand{margin-bottom:4px;padding-inline:12px}
body .sidebar .workspace-switch{margin:6px 2px 18px;border-radius:18px;box-shadow:inset 0 1px rgba(255,255,255,.1),0 12px 30px rgba(0,0,0,.12)}
body .sidebar .nav{gap:5px;padding:2px 4px 8px 2px}
body .sidebar .nav::-webkit-scrollbar{width:5px}
body .sidebar .nav::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(247,239,230,.24)}
body .sidebar .nav-label{margin:13px 12px 8px;color:rgba(247,239,230,.58)}
body .sidebar .nav-item{min-height:46px;padding:0 13px;border-radius:13px;font-weight:700;letter-spacing:-.01em}
body .sidebar .nav-item [data-icon],body .sidebar .help-nav-icon{width:28px;height:28px;padding:5px;border:1px solid rgba(247,239,230,.08);border-radius:9px;background:rgba(247,239,230,.055);display:grid;place-items:center}
body .sidebar .nav-item:hover{background:rgba(247,239,230,.1);box-shadow:inset 0 1px rgba(255,255,255,.04)}
body .sidebar .nav-item.active{border-color:rgba(255,255,255,.82);background:linear-gradient(135deg,#fffaf5,#f4ece4);box-shadow:0 11px 26px rgba(0,0,0,.2)}
body .sidebar .nav-item.active:before{left:8px;top:11px;bottom:11px;width:4px;background:var(--opella-pink)}
body .sidebar .nav-item.active [data-icon],body .sidebar .nav-item.active .help-nav-icon{border-color:rgba(255,91,167,.18);background:rgba(255,91,167,.12)}
body .sidebar .nav-group{overflow:hidden;border:1px solid transparent}
body .sidebar .nav-group[open]{overflow:visible;border-color:rgba(247,239,230,.07);background:rgba(247,239,230,.045)}
body .sidebar .nav-group>summary{min-height:44px;padding:0 13px;font-weight:750}
body .sidebar .nav-group>summary{cursor:pointer;transition:color .18s ease,background .18s ease}
body .sidebar .nav-group>summary:hover{color:#fff}
body .sidebar .nav-group>summary .nav-group-icon{width:28px;height:28px;padding:5px;border:1px solid rgba(247,239,230,.08);border-radius:9px;display:grid;place-items:center;background:rgba(247,239,230,.055)}
body .sidebar .nav-group>summary .nav-group-icon svg{width:17px;height:17px}
body .sidebar .nav-group>summary .nav-group-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .sidebar .nav-group>summary .nav-group-toggle{width:27px;height:27px;border:1px solid rgba(255,120,210,.42);border-radius:999px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,120,210,.26),rgba(255,120,210,.12));box-shadow:inset 0 1px rgba(255,255,255,.15),0 5px 14px rgba(255,91,167,.12);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
body .sidebar .nav-group>summary .nav-group-toggle:before{content:"";width:6px;height:6px;border-right:2px solid #ff9cda;border-bottom:2px solid #ff9cda;transform:translateY(-1px) rotate(45deg)}
body .sidebar .nav-group[open]>summary .nav-group-toggle{background:linear-gradient(145deg,#ff78d2,#ee55b4);box-shadow:0 7px 18px rgba(255,91,167,.28);transform:rotate(180deg)}
body .sidebar .nav-group[open]>summary .nav-group-toggle:before{border-color:#fff}
body .sidebar .nav-group>div{margin:0 8px 7px 17px;padding-left:9px}
body .sidebar .nav-group[open]>div{display:block!important;visibility:visible;min-height:1px}
body .sidebar .nav-group .nav-item{min-height:41px}
body .sidebar .user-card{grid-template-columns:38px minmax(0,1fr) 34px;margin-top:10px;padding:11px;border-color:rgba(247,239,230,.16);border-radius:18px;background:linear-gradient(145deg,rgba(247,239,230,.105),rgba(247,239,230,.055));box-shadow:0 12px 28px rgba(0,0,0,.13)}
body .sidebar .user-card .avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#7667e8,#5d4fcb);box-shadow:0 7px 16px rgba(30,20,100,.22)}
body .avatar-admin.has-photo{padding:0;overflow:hidden;background:#e7ece8!important;color:transparent;box-shadow:none}
body .avatar-admin.has-photo img{display:block;width:100%;height:100%;object-fit:cover}
.account-avatar-button{padding:0;border:0;cursor:pointer}
.account-menu{position:fixed;z-index:80;top:64px;right:24px;width:min(330px,calc(100vw - 28px));padding:10px;border:1px solid #dfe5e1;border-radius:18px;background:#fffdf9;color:#0b2c1a;box-shadow:0 22px 60px rgba(4,43,11,.2)}
.account-menu[hidden]{display:none}
.account-menu header{display:flex;align-items:center;gap:11px;padding:8px 8px 13px;border-bottom:1px solid #e8ece9}
.account-menu header .avatar{width:42px;height:42px;border-radius:13px}
.account-menu header span:last-child{min-width:0}.account-menu header strong,.account-menu header small{display:block}.account-menu header strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.account-menu header small{margin-top:3px;color:#718077;font-size:11px}
.account-menu>button{width:100%;min-height:58px;margin-top:6px;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:#173a26;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;text-align:left;cursor:pointer}
.account-menu>button:hover,.account-menu>button:focus-visible{background:#eef5f0;outline:0}.account-menu>button>span:first-child{width:30px;height:30px;border-radius:9px;background:#e5efe8;display:grid;place-items:center;font-size:17px}.account-menu>button strong,.account-menu>button small{display:block}.account-menu>button strong{font-size:12px}.account-menu>button small{margin-top:3px;color:#77837b;font-size:10px}.account-menu>button.danger{color:#a63d32}.account-menu>button.danger>span:first-child{background:#fff0ed}
@media(max-width:620px){.account-menu{top:61px;right:10px}}
body .sidebar .user-identity{min-width:0}
body .sidebar .user-card strong{display:block;overflow:hidden;color:#fff;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
body .sidebar .user-card small{display:block;margin-top:3px;color:rgba(247,239,230,.64);font-size:10px!important}
body .sidebar .user-card #logoutButton{height:40px;margin-top:7px;border-radius:12px;background:rgba(247,239,230,.095)}
@media(max-width:820px){body .sidebar{padding:17px 12px 13px}body .sidebar .nav-item{min-height:45px}}
@media(max-height:850px) and (min-width:821px){
 body .sidebar{padding:13px 12px 11px}
 body .sidebar .brand{height:43px;padding-bottom:9px}
 body .sidebar .brand-mark{width:32px;height:32px}
 body .sidebar .workspace-switch{min-height:52px;margin:2px 1px 9px;padding:8px 10px;border-radius:14px}
 body .sidebar .workspace-avatar{width:32px;height:32px}
 body .sidebar .nav{gap:2px;padding-bottom:4px}
 body .sidebar .nav-label{margin:7px 11px 4px}
 body .sidebar .nav-item{min-height:38px}
 body .sidebar .nav-item [data-icon],body .sidebar .help-nav-icon{width:25px;height:25px;padding:4px}
 body .sidebar .nav-group>summary{min-height:35px}
 body .sidebar .nav-group .nav-item{min-height:35px}
 body .sidebar .nav-group>div{margin-bottom:3px}
 body .sidebar .user-card{margin-top:6px;padding:8px 9px;border-radius:15px}
 body .sidebar .user-card .avatar{width:34px;height:34px}
 body .sidebar .user-card #logoutButton{height:35px;margin-top:4px}
}

/* A browser zoom above 125% reduces the CSS viewport height even on a large
   monitor. Keep every navigation heading visible instead of trapping the
   lower groups below an independent inner scrollbar. */
@media(max-height:680px) and (min-width:821px){
 body .sidebar{padding:7px 10px 8px;overflow-y:auto;scrollbar-gutter:stable}
 body .sidebar .brand{height:34px;padding:0 8px 4px;font-size:18px}
 body .sidebar .brand-mark{width:28px;height:28px}
 body .sidebar .workspace-switch{min-height:42px;margin:2px 1px 5px;padding:5px 8px;border-radius:11px}
 body .sidebar .workspace-avatar{width:28px;height:28px;border-radius:8px}
 body .sidebar .workspace-switch small{display:none}
 body .sidebar .workspace-switch strong{font-size:11px}
 body .sidebar .nav{flex:none;gap:1px;min-height:auto;overflow:visible;padding:0}
 body .sidebar .nav-label{margin:3px 10px 2px;font-size:8px!important}
 body .sidebar .nav-item{min-height:29px;padding:0 9px;font-size:10px}
 body .sidebar .nav-item [data-icon],body .sidebar .help-nav-icon{width:20px;height:20px;padding:3px}
 body .sidebar .nav-group{margin:0}
 body .sidebar .nav-group>summary{min-height:28px;padding:0 9px;font-size:10px}
 body .sidebar .nav-group>summary{grid-template-columns:20px minmax(0,1fr) 21px;gap:12px}
 body .sidebar .nav-group>summary .nav-group-icon{width:20px;height:20px;padding:3px;border-radius:7px}
 body .sidebar .nav-group>summary .nav-group-icon svg{width:14px;height:14px}
 body .sidebar .nav-group>summary .nav-group-toggle{width:21px;height:21px}
 body .sidebar .nav-group .nav-item{min-height:29px}
 body .sidebar .nav-group>div{margin-bottom:2px}
 body .sidebar .user-card{flex:none;grid-template-columns:30px minmax(0,1fr) 28px 32px;margin-top:5px;padding:5px 7px;border-radius:12px}
 body .sidebar .user-card .avatar{width:30px;height:30px;border-radius:9px}
 body .sidebar .user-card strong{font-size:10px}
 body .sidebar .user-card small{margin-top:1px;font-size:8px!important}
 body .sidebar .user-card #themeToggle{width:28px;height:28px}
 body .sidebar .user-card #logoutButton{grid-column:auto;width:32px;height:30px;margin:0;padding:0}
 body .sidebar .user-card #logoutButton .logout-label{display:none}
}

/* Keep mobile page actions inside the visible viewport. */
@media(max-width:820px){
 .sidebar:not(.open){box-shadow:none}
 .heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow:visible;flex-wrap:wrap;padding-bottom:0}
 .heading-actions .button,.heading-actions select.button,.heading-actions .matrix-view-picker,.heading-actions .matrix-tools-menu{width:100%;min-width:0;max-width:none;justify-content:center}
}
@media(max-width:520px){.heading-actions{grid-template-columns:minmax(0,1fr)}}

/* Sidebar — finition premium : profondeur, matière et hiérarchie plus nette.
   Garde le vert Opella et toute la structure ; ajoute seulement de la lumière,
   des ombres plus riches et un rythme visuel plus soigné entre les sections. */
body .sidebar{background:radial-gradient(135% 65% at 12% -6%,rgba(255,255,255,.09),transparent 52%),linear-gradient(165deg,#011209 0%,#032a12 40%,#04401c 74%,#052f17 100%);box-shadow:20px 0 52px rgba(1,12,6,.36),inset -1px 0 rgba(255,255,255,.045)}
body .sidebar .brand-mark{filter:drop-shadow(0 5px 12px rgba(0,0,0,.4))}
body .sidebar .brand>span:last-child{color:#fbfbf9;letter-spacing:-.01em}
body .sidebar .workspace-switch{background:linear-gradient(150deg,rgba(255,255,255,.115),rgba(255,255,255,.03));border-color:rgba(255,255,255,.15);box-shadow:inset 0 1px rgba(255,255,255,.12),0 14px 32px rgba(0,0,0,.16)}
body .sidebar .workspace-avatar{box-shadow:0 6px 14px rgba(0,0,0,.22)}
body .sidebar .nav-label{position:relative;padding-bottom:7px}
body .sidebar .nav-label:after{content:"";position:absolute;left:12px;right:12px;bottom:1px;height:1px;background:linear-gradient(90deg,rgba(247,239,230,.16),transparent 75%)}
body .sidebar .nav-item{transition:background .2s ease,box-shadow .22s ease,transform .18s ease,border-color .2s ease,color .18s ease}
body .sidebar .nav-item:hover{box-shadow:0 4px 14px rgba(0,0,0,.14)}
body .sidebar .nav-item.active{box-shadow:0 16px 32px rgba(0,0,0,.3),0 1px rgba(255,255,255,.7) inset}
body .sidebar .nav-item.active [data-icon]{box-shadow:0 3px 8px rgba(255,91,167,.28)}
body .sidebar .nav-group[open]{box-shadow:inset 0 1px rgba(255,255,255,.05)}
body .sidebar .user-card{position:relative}
body .sidebar .user-card:before{content:"";position:absolute;left:11px;right:11px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
body .sidebar .nav::-webkit-scrollbar-thumb:hover{background:rgba(247,239,230,.38)}
@media(prefers-reduced-motion:reduce){body .sidebar .nav-item,body .sidebar .nav-group>summary .nav-group-toggle{transition:none}}

/* Menu de gauche — thème clair et aéré (le mode sombre garde le vert Opella).
   Fond crème, pastille verte sur l'élément actif, icônes fines, sections sobres. */
body:not(.dark) .sidebar{background:#fbfaf6;color:#26332b;border-right:1px solid #e8e4da;box-shadow:1px 0 0 rgba(4,43,11,.03),12px 0 34px rgba(4,43,11,.06)}
body:not(.dark) .sidebar:before{display:none}
body:not(.dark) .sidebar .brand-mark{filter:none}
body:not(.dark) .sidebar .brand-mark img{content:url(assets/kartence-mark.svg?v=k-01)}
body:not(.dark) .sidebar .brand>span:last-child{color:#04401c;letter-spacing:-.02em}
body:not(.dark) .sidebar .workspace-switch{border:1px solid #e6e1d6;background:#fff;box-shadow:0 1px 2px rgba(4,43,11,.04),0 8px 20px rgba(4,43,11,.05)}
body:not(.dark) .sidebar .workspace-switch:hover{border-color:#cfe3d5;background:#fff}
body:not(.dark) .sidebar .workspace-switch small{color:#8a948d}
body:not(.dark) .sidebar .workspace-switch strong{color:#12301d}
body:not(.dark) .sidebar .workspace-avatar{background:#04401c;color:#fff;box-shadow:none}
body:not(.dark) .sidebar .nav-label{color:#98a19a;font-weight:800}
body:not(.dark) .sidebar .nav-label:after{background:linear-gradient(90deg,#e6e1d6,transparent 80%)}
body:not(.dark) .sidebar .nav::-webkit-scrollbar-thumb{background:#d9d4c8}
body:not(.dark) .sidebar .nav-item{color:#3a4a41;background:transparent;border:1px solid transparent;box-shadow:none}
body:not(.dark) .sidebar .nav-item [data-icon],body:not(.dark) .sidebar .help-nav-icon,body:not(.dark) .sidebar .nav-group>summary .nav-group-icon{border-color:transparent;background:transparent;color:#6b7a70}
body:not(.dark) .sidebar .nav-item:hover{background:#f0eee6;color:#12301d;box-shadow:none}
body:not(.dark) .sidebar .nav-item:hover [data-icon]{color:#04401c}
body:not(.dark) .sidebar .nav-item.active{background:#e2f1e7;border-color:#cfe6d7;color:#04401c;box-shadow:none}
body:not(.dark) .sidebar .nav-item.active:before{background:#04401c;left:-1px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0}
body:not(.dark) .sidebar .nav-item.active [data-icon],body:not(.dark) .sidebar .nav-item.active .help-nav-icon{border-color:transparent;background:#04401c;color:#fff;box-shadow:none}
body:not(.dark) .sidebar .nav-group{border-color:transparent}
body:not(.dark) .sidebar .nav-group[open]{border-color:#eae6dc;background:#f6f4ed;box-shadow:none}
body:not(.dark) .sidebar .nav-group>summary{color:#3a4a41}
body:not(.dark) .sidebar .nav-group>summary:hover{color:#12301d;background:#f0eee6}
body:not(.dark) .sidebar .nav-group[open]>summary{color:#12301d}
body:not(.dark) .sidebar .nav-group>summary .nav-group-toggle{border:0;background:transparent;box-shadow:none;transform:none}
body:not(.dark) .sidebar .nav-group>summary .nav-group-toggle:before{border-color:#8a948d}
body:not(.dark) .sidebar .nav-group[open]>summary .nav-group-toggle{background:transparent;box-shadow:none;transform:rotate(180deg)}
body:not(.dark) .sidebar .nav-group[open]>summary .nav-group-toggle:before{border-color:#04401c}
body:not(.dark) .sidebar .nav-group .nav-item.active{background:#fff;border-color:#cfe6d7}
body:not(.dark) .sidebar .nav-badge{background:#04401c;color:#fff}
body:not(.dark) .sidebar .user-card{border:1px solid #e6e1d6;background:#fff;box-shadow:0 1px 2px rgba(4,43,11,.04),0 8px 20px rgba(4,43,11,.05)}
body:not(.dark) .sidebar .user-card:before{display:none}
body:not(.dark) .sidebar .user-card strong{color:#12301d}
body:not(.dark) .sidebar .user-card small{color:#8a948d}
body:not(.dark) .sidebar .user-card #themeToggle,body:not(.dark) .sidebar .user-card #logoutButton{background:#f2f0e8;border-color:transparent;color:#3a4a41}
body:not(.dark) .sidebar .user-card #themeToggle:hover,body:not(.dark) .sidebar .user-card #logoutButton:hover{background:#e6e3d8;color:#04401c}
@media(max-width:820px){body:not(.dark) .sidebar:not(.open){box-shadow:none}}

/* === dashboard-overview.css === */
/* Vue d'ensemble - presentation claire : titre sobre, priorites d'abord, chiffres a plat.
   Ne change que l'apparence ; les donnees et les clics restent ceux de la vue existante. */
body #view-dashboard{--ov-ink:#12301d;--ov-muted:#5c6a61;--ov-line:#e4dfd3;--ov-soft:#efece3;--ov-surface:#fff;--ov-green:#04401c;--ov-pink:#ff5bb6;--ov-crit:#c2372f;--ov-warn:#b86e08;--ov-shadow:0 1px 2px rgba(4,43,11,.05),0 10px 28px rgba(4,43,11,.06)}
body #view-dashboard.active{display:flex;flex-direction:column;gap:22px}
body.dark #view-dashboard{--ov-ink:#e9f0ea;--ov-muted:#93a69a;--ov-line:#23402d;--ov-soft:#193322;--ov-surface:#132a1b;--ov-green:#7fd9a4;--ov-crit:#ff8a80;--ov-warn:#f0b04a;--ov-shadow:none}

/* En-tete */
body #view-dashboard>.page-heading{position:static;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ov-ink);align-items:flex-end;overflow:visible}
body #view-dashboard>.page-heading:before,body #view-dashboard>.page-heading:after{display:none}
body #view-dashboard>.page-heading .date-label{color:var(--ov-muted);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
body #view-dashboard>.page-heading h1{margin:6px 0 0;color:var(--ov-ink);font-size:clamp(28px,3.4vw,36px);font-weight:800;letter-spacing:-.03em;line-height:1.05;text-shadow:none}
body #view-dashboard>.page-heading p{max-width:520px;margin:8px 0 0;color:var(--ov-muted);font-size:14px}
body #view-dashboard>.page-heading .refresh-status,body #view-dashboard>.page-heading .usage-status{color:var(--ov-muted)}
body #view-dashboard>.page-heading .button.ghost{border:1px solid var(--ov-line);background:var(--ov-surface);color:var(--ov-ink);box-shadow:none}
body #view-dashboard>.page-heading .button.dark{border:0;background:var(--ov-green);color:#fff;box-shadow:none}
body.dark #view-dashboard>.page-heading .button.dark{color:#06210f}

/* Filtres : une barre fine */
body #view-dashboard .bi-filters{padding:12px 16px;border:1px solid var(--ov-line);border-radius:14px;background:var(--ov-surface);box-shadow:none}
body #view-dashboard .bi-filters select{border-radius:999px;border:1px solid var(--ov-line);background:var(--ov-soft);color:var(--ov-ink)}
body #view-dashboard .bi-filters label{color:var(--ov-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body #view-dashboard .bi-filters #dashboardReset{border-radius:999px}

/* Priorites : cartes a trait de severite, pas de bloc plein */
body #view-dashboard .dashboard-command{padding:0;border:0;background:none;box-shadow:none}
body #view-dashboard .dashboard-command>header{margin-bottom:14px}
body #view-dashboard .dashboard-command h2{color:var(--ov-ink);font-size:20px;font-weight:800;letter-spacing:-.02em}
body #view-dashboard .dashboard-command>header p{color:var(--ov-muted)}
body #view-dashboard .dashboard-decision{position:relative;overflow:hidden;border:1px solid var(--ov-line);border-radius:14px;background:var(--ov-surface);color:var(--ov-ink);box-shadow:var(--ov-shadow);text-align:left}
body #view-dashboard .dashboard-decision:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--ov-warn)}
body #view-dashboard .dashboard-decision.primary:before{background:var(--ov-crit)}
body #view-dashboard .dashboard-decision.primary{background:var(--ov-surface);color:var(--ov-ink)}
body #view-dashboard .dashboard-decision strong{color:var(--ov-ink)}
body #view-dashboard .dashboard-decision small,body #view-dashboard .dashboard-decision span{color:var(--ov-muted)}
body #view-dashboard .dashboard-decision b{color:var(--ov-ink)}
body #view-dashboard .dashboard-decision .dashboard-decision-top em{color:var(--ov-crit);font-style:normal}
body #view-dashboard .dashboard-decision:not(.primary) .dashboard-decision-top em{color:var(--ov-warn)}
body #view-dashboard .dashboard-decision i{color:var(--ov-ink);font-style:normal;font-weight:800;text-decoration:underline;text-decoration-color:var(--ov-pink);text-underline-offset:3px;text-decoration-thickness:2px}

/* Chiffres : reperes a plat, deux indicateurs de maturite en tete */
body #view-dashboard .bi-kpis{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
body #view-dashboard .bi-kpi{grid-column:span 3;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:0;padding:18px 20px;border:1px solid var(--ov-line);border-radius:14px;background:var(--ov-surface);box-shadow:none;text-align:left;color:var(--ov-ink)}
body #view-dashboard .bi-kpi.strategic{grid-column:span 6;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"donut label" "donut note";align-items:center;column-gap:22px;box-shadow:var(--ov-shadow)}
body #view-dashboard .bi-kpi.strategic small{grid-area:label;align-self:end}
body #view-dashboard .bi-kpi.strategic .bi-kpi-donut{grid-area:donut}
body #view-dashboard .bi-kpi.strategic>span{grid-area:note;align-self:start}
body #view-dashboard .bi-kpi small{color:var(--ov-muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-align:left}
body #view-dashboard .bi-kpi>strong{color:var(--ov-ink);font:800 40px/1 Manrope,system-ui,sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
body #view-dashboard .bi-kpi>span{color:var(--ov-muted);font-size:12.5px;text-align:left}
body #view-dashboard .bi-kpi.orange>strong{color:var(--ov-warn)}
body #view-dashboard .bi-kpi:hover{border-color:var(--ov-green)}

/* Trois colonnes de temps : texte a gauche, lecture en liste */
body #view-dashboard .timeline-dashboard{border:1px solid var(--ov-line);border-radius:16px;background:var(--ov-surface);box-shadow:var(--ov-shadow);overflow:hidden}
body #view-dashboard .timeline-column{border-color:var(--ov-line);text-align:left}
body #view-dashboard .timeline-column>header{justify-content:flex-start;text-align:left}
body #view-dashboard .timeline-column>header h2{color:var(--ov-ink);font-size:16px;font-weight:800}
body #view-dashboard .timeline-column>header small{color:var(--ov-muted);font-weight:800;letter-spacing:.12em}
body #view-dashboard .timeline-column button{text-align:left}
body #view-dashboard .timeline-column button strong{color:var(--ov-ink)}
body #view-dashboard .timeline-column button small{color:var(--ov-muted)}
body #view-dashboard .timeline-column.now button.warning strong:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--ov-warn)}

/* Panneaux de detail coherents */
body #view-dashboard .bi-card{border:1px solid var(--ov-line);border-radius:16px;background:var(--ov-surface);box-shadow:var(--ov-shadow)}
body #view-dashboard .bi-card h2{color:var(--ov-ink);font-weight:800;letter-spacing:-.01em}
body #view-dashboard .bi-card .eyebrow{color:var(--ov-muted)}
body #view-dashboard .live-pill{border:0;border-radius:999px;background:var(--ov-soft);color:var(--ov-ink)}
body #view-dashboard .skill-maturity-copy strong,body #view-dashboard .top-mastery-card strong{color:var(--ov-ink)}
body #view-dashboard .skill-maturity-copy small,body #view-dashboard .top-mastery-card small{color:var(--ov-muted)}

@media(max-width:1100px){body #view-dashboard .bi-kpi{grid-column:span 6}body #view-dashboard .bi-kpi.strategic{grid-column:span 12}}
@media(max-width:560px){body #view-dashboard .bi-kpi,body #view-dashboard .bi-kpi.strategic{grid-column:span 12}}

/* Corrections : carte prioritaire lisible, indicateurs sur fond uni et alignes a gauche */
body #view-dashboard .dashboard-decision.primary *{color:var(--ov-muted)}
body #view-dashboard .dashboard-decision.primary strong,body #view-dashboard .dashboard-decision.primary b{color:var(--ov-ink)}
body #view-dashboard .dashboard-decision.primary .dashboard-decision-top em{color:var(--ov-crit)}
body #view-dashboard .dashboard-decision.primary i{color:var(--ov-ink)}
body #view-dashboard .dashboard-decision .dashboard-decision-top b{color:var(--ov-muted)}
body #view-dashboard .bi-kpi,body #view-dashboard .bi-kpi.green,body #view-dashboard .bi-kpi.violet,body #view-dashboard .bi-kpi.orange,body #view-dashboard .bi-kpi.blue{background:var(--ov-surface);background-image:none}
body #view-dashboard .bi-kpi small,body #view-dashboard .bi-kpi>span,body #view-dashboard .bi-kpi>strong{align-self:flex-start;justify-self:start;margin:0;text-align:left}
body #view-dashboard .bi-kpi.strategic small,body #view-dashboard .bi-kpi.strategic>span{align-self:auto}
body #view-dashboard .bi-kpi.strategic small{align-self:end}
body #view-dashboard .bi-kpi.strategic>span{align-self:start}
body #view-dashboard .dashboard-decision.primary>span:not(.dashboard-decision-top),body #view-dashboard .dashboard-decision.primary>small{color:var(--ov-muted)}
body #view-dashboard .dashboard-decision.primary>span:not(.dashboard-decision-top) b{color:var(--ov-ink)}
body #view-dashboard .dashboard-decision.primary .dashboard-decision-top>b{color:var(--ov-muted)}
body #view-dashboard .dashboard-decision.primary>i{color:var(--ov-ink)}

/* === dashboard-proposal.css === */
/* Vue d'ensemble - mise en page proposee : a traiter, couverture, niveaux, echeances.
   Les variables --ov-* viennent de dashboard-overview.css (clair et sombre). */
body #view-dashboard .ov-proposal{display:flex;flex-direction:column;gap:30px}
body #view-dashboard .ov-eyebrow{margin-bottom:12px;color:var(--ov-muted);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
body #view-dashboard .ov-todo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body #view-dashboard .ov-act{--c:var(--ov-green);position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;padding:16px 18px 16px 22px;border:1px solid var(--ov-line);border-radius:14px;background:var(--ov-surface);box-shadow:var(--ov-shadow)}
body #view-dashboard .ov-act:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--c)}
body #view-dashboard .ov-act.crit{--c:var(--ov-crit)}
body #view-dashboard .ov-act.warn{--c:var(--ov-warn)}
body #view-dashboard .ov-big{grid-row:span 3;color:var(--c);font:800 44px/1 Manrope,system-ui,sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
body #view-dashboard .ov-act h3{margin:0;color:var(--ov-ink);font-size:14px;font-weight:800}
body #view-dashboard .ov-act p{margin:0;color:var(--ov-muted);font-size:12.5px}
body #view-dashboard .ov-go{justify-self:start;padding:0;border:0;background:none;color:var(--ov-ink);font:800 12px Manrope,system-ui,sans-serif;text-decoration:underline;text-decoration-color:var(--ov-pink);text-underline-offset:3px;text-decoration-thickness:2px;cursor:pointer}

body #view-dashboard .ov-maturity{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(20px,4vw,52px)}
body #view-dashboard .ov-score{display:flex;flex-direction:column;gap:14px}
body #view-dashboard .ov-score .ov-eyebrow{margin:0}
body #view-dashboard .ov-value{display:flex;align-items:baseline;gap:12px}
body #view-dashboard .ov-value strong{color:var(--ov-ink);font:800 clamp(64px,9vw,96px)/.9 Manrope,system-ui,sans-serif;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
body #view-dashboard .ov-value span{color:#1f8a4c;font-size:15px;font-weight:800}
body #view-dashboard .ov-value span.down{color:var(--ov-crit)}
body #view-dashboard .ov-spark{display:block;width:100%;height:auto}
body #view-dashboard .ov-spark .grid{stroke:var(--ov-line);stroke-width:1}
body #view-dashboard .ov-spark .area{fill:var(--ov-green);opacity:.13}
body #view-dashboard .ov-spark .line{fill:none;stroke:var(--ov-green);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
body #view-dashboard .ov-spark .end{fill:var(--ov-pink);stroke:var(--ov-surface);stroke-width:3}
body #view-dashboard .ov-spark text{fill:var(--ov-muted);font:600 10px Manrope,system-ui,sans-serif}
body #view-dashboard .ov-teams{display:flex;flex-direction:column;gap:14px}
body #view-dashboard .ov-teams h2,body #view-dashboard .ov-panel h2{margin:0;color:var(--ov-ink);font-size:16px;font-weight:800;letter-spacing:-.01em}
body #view-dashboard .ov-bar{display:grid;grid-template-columns:110px 1fr 44px;gap:12px;align-items:center;color:var(--ov-ink);font-size:13px;font-weight:700}
body #view-dashboard .ov-bar .track{display:block;height:10px;border-radius:99px;background:var(--ov-soft);overflow:hidden}
body #view-dashboard .ov-bar .fill{display:block;height:100%;border-radius:99px;background:var(--ov-green)}
body #view-dashboard .ov-bar .fill.low{background:var(--ov-warn)}
body #view-dashboard .ov-bar b{text-align:right;font-variant-numeric:tabular-nums}
body #view-dashboard .ov-note{margin:0;color:var(--ov-muted);font-size:12px}

body #view-dashboard .ov-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px}
body #view-dashboard .ov-panel{display:flex;flex-direction:column;gap:16px;min-width:0;padding:22px;border:1px solid var(--ov-line);border-radius:16px;background:var(--ov-surface);box-shadow:var(--ov-shadow)}
body #view-dashboard .ov-panel>header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
body #view-dashboard .ov-legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--ov-muted);font-size:11.5px;font-weight:700}
body #view-dashboard .ov-legend i{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px}
body #view-dashboard .ov-skills{display:flex;flex-direction:column;gap:9px}
body #view-dashboard .ov-skill{display:grid;grid-template-columns:132px 1fr 34px;gap:12px;align-items:center;padding:0;border:0;background:none;color:var(--ov-ink);font:700 12.5px Manrope,system-ui,sans-serif;text-align:left;cursor:pointer}
body #view-dashboard .ov-skill .stack{display:flex;height:16px;overflow:hidden;border-radius:5px;gap:2px}
body #view-dashboard .ov-skill .stack span{display:block;min-width:3px}
body #view-dashboard .ov-skill em{color:var(--ov-muted);font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
body #view-dashboard .ov-panel .s1,body #view-dashboard .ov-legend .s1{background:#d4e8db}
body #view-dashboard .ov-panel .s2,body #view-dashboard .ov-legend .s2{background:#93cba8}
body #view-dashboard .ov-panel .s3,body #view-dashboard .ov-legend .s3{background:#3a9f66}
body #view-dashboard .ov-panel .s4,body #view-dashboard .ov-legend .s4{background:#04401c}
body #view-dashboard .ov-panel .s0{background:var(--ov-soft)}
body.dark #view-dashboard .ov-panel .s1,body.dark #view-dashboard .ov-legend .s1{background:#27503a}
body.dark #view-dashboard .ov-panel .s2,body.dark #view-dashboard .ov-legend .s2{background:#3c7c58}
body.dark #view-dashboard .ov-panel .s3,body.dark #view-dashboard .ov-legend .s3{background:#5cb888}
body.dark #view-dashboard .ov-panel .s4,body.dark #view-dashboard .ov-legend .s4{background:#b4ecca}

body #view-dashboard .ov-list{display:flex;flex-direction:column}
body #view-dashboard .ov-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:11px 0;border:0;border-top:1px solid var(--ov-line);background:none;color:var(--ov-ink);text-align:left;cursor:pointer;font-family:inherit}
body #view-dashboard .ov-row:first-child{border-top:0}
body #view-dashboard .ov-row .av{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--ov-soft);color:var(--ov-green);font-size:12px;font-weight:800}
body #view-dashboard .ov-row strong{display:block;font-size:13px}
body #view-dashboard .ov-row small{color:var(--ov-muted);font-size:12px}
body #view-dashboard .ov-row .pill{padding:4px 10px;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap}
body #view-dashboard .ov-row .pill.late{background:#fbe9e7;color:var(--ov-crit)}
body #view-dashboard .ov-row .pill.soon{background:#fbf0dc;color:var(--ov-warn)}
body #view-dashboard .ov-row .pill.ok{background:#e2f1e7;color:var(--ov-green)}
body.dark #view-dashboard .ov-row .pill.late{background:#3a1f1e}
body.dark #view-dashboard .ov-row .pill.soon{background:#3a2d14}
body.dark #view-dashboard .ov-row .pill.ok{background:#1c3f2a}
body #view-dashboard button:focus-visible{outline:2px solid var(--ov-pink);outline-offset:2px}

body #view-dashboard .ov-details{border-top:1px solid var(--ov-line);padding-top:14px}
body #view-dashboard .ov-details>summary{cursor:pointer;color:var(--ov-muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;list-style:none}
body #view-dashboard .ov-details>summary::-webkit-details-marker{display:none}
body #view-dashboard .ov-details>summary:before{content:"\25B8  "}
body #view-dashboard .ov-details[open]>summary:before{content:"\25BE  "}
body #view-dashboard .ov-details[open]>summary{margin-bottom:18px}
body #view-dashboard .ov-details[open]{display:flex;flex-direction:column;gap:22px}

@media(max-width:900px){body #view-dashboard .ov-todo,body #view-dashboard .ov-maturity,body #view-dashboard .ov-grid{grid-template-columns:1fr}}
@media(max-width:520px){body #view-dashboard .ov-bar{grid-template-columns:86px 1fr 40px}body #view-dashboard .ov-skill{grid-template-columns:96px 1fr 30px}}

/* === sober-style.css === */
/* Style sobre : coins droits (3-4 px), filets fins, pas d'ombres portees, pas de trait de couleur sur le bord.
   Concerne la vue d'ensemble, les cartes collaborateur et la fiche collaborateur. Charge en dernier. */

/* ---------- Vue d'ensemble ---------- */
body #view-dashboard .ov-todo{gap:0;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ov-line);border-radius:4px;background:var(--ov-surface)}
body #view-dashboard .ov-act{border:0;border-radius:0;box-shadow:none;background:none;padding:18px 22px}
body #view-dashboard .ov-act+.ov-act{border-left:1px solid var(--ov-line)}
body #view-dashboard .ov-act:before{display:none}
body #view-dashboard .ov-big{font-size:46px;letter-spacing:-.05em}
body #view-dashboard .ov-panel,body #view-dashboard .bi-card,body #view-dashboard .timeline-dashboard,body #view-dashboard .bi-kpi,body #view-dashboard .bi-filters,body #view-dashboard .dashboard-decision,body #view-dashboard .panel{border-radius:4px;box-shadow:none}
body #view-dashboard .dashboard-decision:before{display:none}
body #view-dashboard .ov-row .pill{height:22px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid currentColor;border-radius:3px;background:transparent}
body #view-dashboard .ov-row .pill.late,body #view-dashboard .ov-row .pill.soon,body #view-dashboard .ov-row .pill.ok{background:transparent}
body #view-dashboard .ov-row .av{border-radius:4px}
body #view-dashboard .ov-skill .stack{border-radius:3px}
body #view-dashboard .ov-bar .track,body #view-dashboard .ov-bar .fill{border-radius:2px}
body #view-dashboard .live-pill,body #view-dashboard .dashboard-role-badge{border-radius:3px}
body #view-dashboard .bi-filters select,body #view-dashboard .bi-filters #dashboardReset,body #view-dashboard .button{border-radius:4px}
body #view-dashboard .ov-details{border-top:1px solid var(--ov-line)}

/* ---------- Cartes collaborateur ---------- */
body #peopleGrid .person-card:not(.identity-badge-card){border:1px solid var(--line,#d9d4c7);border-radius:4px;box-shadow:none}
body #peopleGrid .person-card:not(.identity-badge-card) .avatar{border-radius:4px}
body #peopleGrid .person-card .availability{border-radius:3px;background:transparent;border:1px solid currentColor}
body #peopleGrid .person-card .talent-tags span{border-radius:3px}
body #peopleGrid .person-card .card-action{border-radius:0}
body #peopleGrid .person-card .entity-actions button{border-radius:3px}
body #view-people .segmented,body #view-people .input-search,body #view-people .segmented button,body #view-people .button{border-radius:4px}

/* ---------- Fiche collaborateur ---------- */
body .profile-dialog{border-radius:4px;box-shadow:0 12px 40px rgba(4,43,11,.22)}
body .profile-dialog .avatar,body .profile-dialog .profile-identity .avatar{border-radius:4px}
body .profile-dialog .button,body .profile-dialog .close-profile,body .profile-dialog .danger-link{border-radius:4px}
body .profile-dialog .profile-brief,body .profile-dialog .profile-summary-grid>*,body .profile-dialog .profile-skill-row,body .profile-dialog .profile-certificate-list>*,body .profile-dialog .profile-development-list>*,body .profile-dialog .profile-habilitations>*,body .profile-dialog .profile-history>*,body .profile-dialog .panel{border-radius:4px;box-shadow:none}
body .profile-dialog .level,body .profile-dialog .profile-level,body .profile-dialog .cert-status,body .profile-dialog .certificate-email-status,body .profile-dialog .certificate-ready{border-radius:3px}
body .profile-dialog .profile-tabs button{border-radius:0}

/* Renforts : ces elements portent un arrondi impose ailleurs */
body .profile-dialog,body dialog.profile-dialog,body .profile-dialog>*{border-radius:4px!important}
body .profile-dialog .avatar,body .profile-dialog button,body .profile-dialog .panel,body .profile-dialog .profile-summary-grid>*,body .profile-dialog .profile-brief,body .profile-dialog .profile-skill-row{border-radius:4px!important}
body .profile-dialog .level,body .profile-dialog .cert-status,body .profile-dialog .profile-level{border-radius:3px!important}
body #view-people .segmented,body #view-people .segmented button,body #view-people .input-search,body #view-people .input-search input,body #view-people .heading-actions .button,body #view-people select{border-radius:4px!important}
body #view-dashboard .heading-actions .button,body #view-dashboard .bi-filters select,body #view-dashboard .bi-filters button{border-radius:4px!important}

/* === sober-dossier.css === */
/* Fiche collaborateur en dossier : identite, chiffres en ligne, tableau des competences, plans a droite. */
.profile-dialog{--dz-ink:var(--ink,#12301d);--dz-muted:#5c6a61;--dz-line:#d9d4c7;--dz-soft:#eeebe2;--dz-green:#04401c;--dz-ok:#1f7a45;--dz-warn:#a85f05;--dz-crit:#b3302a;--l0:#e6e3d9;--l1:#cfe3d6;--l2:#8fc4a4;--l3:#2f9159;--l4:#04401c;--l3t:#fff;--l4t:#fff}
body.dark .profile-dialog{--dz-ink:#e9f0ea;--dz-muted:#93a69a;--dz-line:#2a4633;--dz-soft:#1a3324;--dz-green:#7fd9a4;--dz-ok:#5fd18b;--dz-warn:#f0b04a;--dz-crit:#ff8a80;--l0:#22392b;--l1:#2c5540;--l2:#3f7d59;--l3:#5cb888;--l4:#b4ecca;--l3t:#0d2a17;--l4t:#0d2a17}

/* Chiffres en ligne, sans blocs colores */
body .profile-dialog .profile-overview{display:flex;gap:0;margin:0 24px;border:1px solid var(--dz-line);border-radius:4px;background:none}
body .profile-dialog .profile-overview>div{flex:1;padding:10px 16px;border:0;border-radius:0;background:none;box-shadow:none}
body .profile-dialog .profile-overview>div+div{border-left:1px solid var(--dz-line)}
body .profile-dialog .profile-overview>div:before,body .profile-dialog .profile-overview>div:after{display:none}
body .profile-dialog .profile-overview strong{color:var(--dz-ink);font-size:22px;font-weight:800;letter-spacing:-.03em}
body .profile-dialog .profile-overview small{color:var(--dz-muted);font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}
body .profile-dialog .profile-modal-head{border-bottom:1px solid var(--dz-line)}

/* Niveaux et pastilles */
.lv{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:3px;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.lv0{background:var(--l0);color:var(--dz-muted)}.lv1{background:var(--l1);color:var(--dz-ink)}.lv2{background:var(--l2);color:var(--dz-ink)}.lv3{background:var(--l3);color:var(--l3t)}.lv4{background:var(--l4);color:var(--l4t)}
.profile-dialog .tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid currentColor;border-radius:3px;font-size:11px;font-weight:800;white-space:nowrap;background:none}
.profile-dialog .tag.late{color:var(--dz-crit)}.profile-dialog .tag.soon{color:var(--dz-warn)}.profile-dialog .tag.ok{color:var(--dz-ok)}.profile-dialog .tag.idle{color:var(--dz-muted)}

/* Dossier : tableau a gauche, plans et habilitations a droite */
.profile-dossier{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);border-top:1px solid var(--dz-line)}
.profile-dossier>*{padding:20px 24px;min-width:0}
.profile-dossier>.dossier-side{border-left:1px solid var(--dz-line)}
.dossier-title{margin:0 0 8px;color:var(--dz-muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.dossier-side .dossier-title:not(:first-child){margin-top:22px}
.dossier-table-wrap{overflow-x:auto}
.dossier-table{width:100%;border-collapse:collapse;font-size:13px}
.dossier-table th{padding:6px 8px 6px 0;border-bottom:1px solid var(--dz-ink);color:var(--dz-muted);font-size:11px;font-weight:800;text-align:left}
.dossier-table td{padding:9px 8px 9px 0;border-bottom:1px solid var(--dz-line);color:var(--dz-ink);vertical-align:middle}
.dossier-table th:last-child,.dossier-table td:last-child{padding-right:0;text-align:right}
.dossier-table .dossier-skill{font-weight:800}
.dossier-line{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--dz-line)}
.dossier-line:last-of-type{border-bottom:0}
.dossier-line strong{color:var(--dz-ink);font-size:13px}
.dossier-line small{color:var(--dz-muted);font-size:12px}
.dossier-line .tag{grid-row:span 2;align-self:center}
@media(max-width:820px){.profile-dossier{grid-template-columns:1fr}.profile-dossier>.dossier-side{border-left:0;border-top:1px solid var(--dz-line)}}
body .profile-dialog .profile-overview>div,body .profile-dialog .profile-overview>div:nth-child(n){background:none!important;box-shadow:none!important}
.dossier-side .profile-summary-grid{display:block;margin:0}
.dossier-side .profile-summary-grid>article{padding:0;border:0;background:none;box-shadow:none}
.dossier-side .profile-summary-grid+.dossier-title{margin-top:22px}

/* Radar et mise en page en deux colonnes + pied */
.profile-dossier{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.profile-dossier>.dossier-radar,.profile-dossier>.dossier-main{padding:20px 24px;min-width:0}
.profile-dossier>.dossier-main{border-left:1px solid var(--dz-line)}
.dossier-radar-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.dossier-legend{display:flex;gap:14px;color:var(--dz-muted);font-size:11.5px;font-weight:700}
.dossier-legend i{display:inline-block;width:16px;height:0;margin-right:6px;vertical-align:middle}
.dossier-legend .a{border-top:3px solid var(--dz-green)}
.dossier-legend .b{border-top:2px dashed #ff5bb6}
svg.profile-radar{display:block;width:100%;height:auto}
.profile-radar .ring{fill:none;stroke:var(--dz-line);stroke-width:1}
.profile-radar .axis{stroke:var(--dz-line);stroke-width:1}
.profile-radar .lab{fill:var(--dz-ink);font:700 11px Manrope,system-ui,sans-serif}
.profile-radar .scale{fill:var(--dz-muted);font:600 9px Manrope,system-ui,sans-serif}
.profile-radar .val{fill:var(--dz-green);fill-opacity:.16;stroke:var(--dz-green);stroke-width:2.5;stroke-linejoin:round}
.profile-radar .tgt{fill:none;stroke:#ff5bb6;stroke-width:2;stroke-dasharray:5 4;stroke-linejoin:round}
.profile-radar .pt{fill:var(--dz-green);stroke:#fff;stroke-width:2}
.dossier-gap{font-variant-numeric:tabular-nums;font-weight:700}
.dossier-gap.neg{color:var(--dz-warn)}.dossier-gap.ok{color:var(--dz-ok)}
.dossier-table th:nth-child(3),.dossier-table td:nth-child(3){text-align:left}
.dossier-table th:nth-child(2),.dossier-table td:nth-child(2){text-align:left}
.dossier-note{margin:10px 0 0;color:var(--dz-muted);font-size:12px}
.dossier-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--dz-line)}
.dossier-foot>div{padding:20px 24px;min-width:0}
.dossier-foot>div+div{border-left:1px solid var(--dz-line)}
.dossier-foot .profile-summary-grid{display:block;margin:0}
.dossier-foot .profile-summary-grid>article{padding:0;border:0;background:none;box-shadow:none}
@media(max-width:860px){.profile-dossier,.dossier-foot{grid-template-columns:1fr}.profile-dossier>.dossier-main,.dossier-foot>div+div{border-left:0;border-top:1px solid var(--dz-line)}}
.profile-radar text{stroke:none!important;font-weight:600!important;paint-order:normal}

/* === sober-tabs.css === */
/* Fiche collaborateur : onglets Competences, Developpement, Certificats, Historique (style sobre). */
.profile-dialog .profile-tab-content>section>*:first-child{margin-top:0}
.profile-dialog .profile-tab-content>section.active{display:block;padding:22px 24px}
.pf-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.pf-bar .dossier-title{margin:0}
.pf-chips{display:flex;gap:6px;flex-wrap:wrap}
.pf-chip{padding:5px 11px;border:1px solid var(--dz-line);border-radius:3px;background:none;color:var(--dz-ink);font:700 12px Manrope,system-ui,sans-serif;cursor:pointer}
.pf-chip[aria-pressed="true"]{border-color:var(--dz-ink);background:var(--dz-ink);color:var(--surface,#fff)}
body.dark .pf-chip[aria-pressed="true"]{color:#0d1a12}
.pf-chip:focus-visible,.pf-btn:focus-visible{outline:2px solid #ff5bb6;outline-offset:2px}
.pf-btn{margin-left:6px;padding:5px 11px;border:1px solid var(--dz-line);border-radius:4px;background:none;color:var(--dz-ink);font:800 12px Manrope,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.pf-btn:first-child{margin-left:0}
.pf-btn.dark{border-color:var(--dz-green);background:var(--dz-green);color:#fff}
body.dark .pf-btn.dark{color:#0d2a17}
.pf-btn.danger{color:var(--dz-crit)}
.pf-table td{padding-right:12px}
.pf-table th:last-child,.pf-table td:last-child{text-align:right}
.pf-table .pf-group td{padding:16px 0 6px;color:var(--dz-muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pf-table tr[hidden]{display:none}
.pf-gauge{display:inline-flex;gap:2px;vertical-align:middle}
.pf-gauge i{width:16px;height:8px;border-radius:1px;background:var(--l0)}
.pf-gauge i.f{background:var(--dz-green)}
.pf-gauge i.t{outline:2px solid #ff5bb6;outline-offset:1px}
.pf-sub{display:block;color:var(--dz-muted);font-size:12px;font-weight:600}
.pf-ref{font:600 12px ui-monospace,Menlo,monospace;color:var(--dz-muted)}
.pf-plan{border:1px solid var(--dz-line);border-radius:4px}
.pf-plan+.pf-plan{margin-top:12px}
.pf-plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--dz-line)}
.pf-plan-head strong{font-size:15px;font-weight:800;color:var(--dz-ink)}
.pf-steps{display:grid}
.pf-step{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-left:1px solid var(--dz-line)}
.pf-step:first-child{border-left:0}
.pf-step b{color:var(--dz-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.pf-step span{color:var(--dz-ink);font-size:13px;font-weight:700}
.pf-step.done b{color:var(--dz-ok)}
.pf-step.cur{background:var(--dz-soft)}
.pf-step.cur b{color:var(--dz-ink)}
.pf-plan-foot{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 18px;border-top:1px solid var(--dz-line);color:var(--dz-muted);font-size:12px}
.pf-prog{height:6px;overflow:hidden;border-radius:1px;background:var(--dz-soft)}
.pf-prog span{display:block;height:100%;background:var(--dz-green)}
.pf-two{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);border:1px solid var(--dz-line);border-radius:4px}
.pf-two>div{min-width:0;padding:18px 20px}
.pf-two>div+div{border-left:1px solid var(--dz-line)}
.pf-qr{margin-top:14px;padding-top:14px;border-top:1px solid var(--dz-line)}
.pf-hist{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px}
.pf-month{padding:14px 0 6px;border-bottom:1px solid var(--dz-ink);color:var(--dz-muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pf-event{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--dz-line)}
.pf-event[hidden],.pf-month[hidden]{display:none}
.pf-event time{color:var(--dz-muted);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.pf-event strong{color:var(--dz-ink);font-size:13px}
.pf-event small{display:block;color:var(--dz-muted);font-size:12px}
.pf-move{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:var(--dz-muted)}
.pf-spark{align-self:start;padding:14px 16px;border:1px solid var(--dz-line);border-radius:4px}
.pf-spark svg{display:block;width:100%;height:auto;margin-top:8px}
.pf-spark .g{stroke:var(--dz-line)}
.pf-spark .l{fill:none;stroke:var(--dz-green);stroke-width:2.5;stroke-linejoin:round}
.pf-spark .d{fill:var(--dz-green)}
.pf-spark text{fill:var(--dz-muted);font:600 9px Manrope,system-ui,sans-serif;stroke:none}
@media(max-width:860px){.pf-two,.pf-hist{grid-template-columns:1fr}.pf-two>div+div{border-left:0;border-top:1px solid var(--dz-line)}.pf-steps{grid-template-columns:1fr 1fr!important}}
.pf-two{grid-template-columns:minmax(0,2.4fr) minmax(0,1fr)}
.pf-two .pf-table td{white-space:nowrap}
.pf-two .pf-table td:last-child{display:table-cell}
@media(max-width:860px){.pf-two{grid-template-columns:1fr}}

/* === matrix-panel.css === */
#matrixDetailDialog{--mp-green:#0b6b3a;--mp-ink:#17201b;--mp-track:#ece9df;--mp-line:#e2ded3;--mp-mut:#6b746e;--mp-soft:#e9f3ec}
body.dark #matrixDetailDialog{--mp-green:#5fc088;--mp-ink:#eef1ec;--mp-track:#2a322c;--mp-line:#2e362f;--mp-mut:#9aa39c;--mp-soft:#1d2f24}
#matrixDetailDialog{width:min(500px,100%)}
#matrixDetailDialog>#matrixDetailContent{display:flex;flex-direction:column;height:100%;min-height:0;padding:0;overflow:hidden}
#matrixDetailContent .matrix-detail-head{padding:16px 18px 12px;border-bottom:1px solid var(--mp-line);align-items:flex-start;flex:none}
#matrixDetailContent .matrix-detail-head h2{font-size:22px;margin:2px 0}
#matrixDetailContent .matrix-detail-head small{text-transform:uppercase;letter-spacing:.08em;color:var(--mp-green);font-weight:800;font-size:11px}
#matrixDetailContent .matrix-detail-head>.mp-nav{margin-left:auto;display:flex;gap:4px}
.mp-nav button{width:32px;height:32px;border:1px solid var(--mp-line);background:transparent;color:inherit;border-radius:2px;cursor:pointer;font:700 14px inherit}
.mp-nav button:hover{background:var(--mp-soft)}
.mp-tabs{display:flex;gap:4px;padding:0 14px;border-bottom:1px solid var(--mp-line);flex:none}
.mp-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:11px 10px;font-weight:700;font-size:13px;color:var(--mp-mut);cursor:pointer;font-family:inherit}
.mp-tabs button.on{color:inherit;border-color:var(--mp-green)}
.mp-body{flex:1;min-height:0;overflow:auto;padding:18px}
.mp-pane[hidden]{display:none}
.mp-pane>*+*{margin-top:14px}
.mp-hero{display:flex;gap:18px;align-items:center}
.mp-ring{width:96px;height:96px;flex:none}.mp-ring text{fill:currentColor;font-family:inherit}
.mp-hero h3{margin:0 0 4px;font-size:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mp-hero p{margin:0;color:var(--mp-mut);font-size:13px}
.mp-next{border:1px solid var(--mp-green);background:var(--mp-soft);padding:12px 14px}
.mp-next span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--mp-green)}
.mp-next p{margin:4px 0 0;font-weight:600}
.mp-title{font-size:11px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--mp-mut);font-weight:800;margin:20px 0 8px!important}
.mp-ladder{display:grid;gap:6px}
.mp-ladder>div{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--mp-line);font-size:13px}
.mp-ladder>div.done{opacity:.7}.mp-ladder>div.cur{border-color:var(--mp-ink)}.mp-ladder>div.tgt{border:1px dashed var(--mp-green)}
.mp-ladder b{width:24px;height:24px;display:grid;place-items:center;font-size:12px}.mp-ladder em{font-style:normal;font-size:11px;color:var(--mp-mut)}
.mp-compare{display:grid;gap:7px}.mp-compare>div{display:grid;grid-template-columns:120px 1fr 24px;gap:8px;align-items:center;font-size:12.5px}
.mp-compare i{height:8px;background:var(--mp-track);display:block}.mp-compare i b{display:block;height:100%;background:var(--mp-green)}
.mp-compare .me{font-weight:800}.mp-compare .me i b{background:var(--mp-ink)}.mp-compare em{font-style:normal;text-align:right}
.mp-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--mp-line);border:1px solid var(--mp-line)}
.mp-facts>div{background:var(--surface,#fff);padding:10px 12px}.mp-facts span{display:block;font-size:11px;color:var(--mp-mut)}
.mp-doc{border:1px solid var(--mp-line);padding:9px 12px;margin-top:6px}.mp-doc small{display:block;color:var(--mp-mut)}
.mp-keys{margin:0;padding:6px 18px;font-size:11px;color:var(--mp-mut);flex:none;border-top:1px solid var(--mp-line)}
#matrixDetailContent .matrix-detail-actions{flex:none;order:99;margin:0;padding:12px 18px;border-top:1px solid var(--mp-line);background:var(--surface,#fff);flex-wrap:wrap;justify-content:flex-end;max-height:40vh;overflow-y:auto}#matrixDetailContent .matrix-detail-actions .button{white-space:normal;text-align:center}
#matrixDetailContent .mp-keys{order:98}
@media(max-width:520px){.mp-compare>div{grid-template-columns:90px 1fr 24px}}

/* === matrix-fit.css === */
.matrix-fit-dialog{inset:0;border-radius:0;box-shadow:none;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--surface,#fff);color:var(--text,#14201a);overflow:hidden}
.matrix-fit-dialog::backdrop{background:rgba(20,32,26,.55)}
.matrix-fit-dialog[open]{display:block}
.matrix-fit-dialog .fit-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.matrix-fit-dialog .fit-topbar{display:flex;gap:10px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line,#e3dfd4);font-size:13px}
.matrix-fit-dialog .fit-title b{font-size:14px}.matrix-fit-dialog .fit-title small{color:var(--muted,#69736c);font-size:12px}
.matrix-fit-dialog .fit-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11.5px;color:var(--muted,#69736c);margin-left:auto}
.matrix-fit-dialog .fit-legend span{display:inline-flex;align-items:center;gap:4px}
.matrix-fit-dialog .fit-legend i{display:inline-block;width:12px;height:12px;border:1px solid rgba(0,0,0,.14)}
.matrix-fit-dialog .fit-legend .fit-legend-gap{background:linear-gradient(225deg,#b4472a 0 45%,transparent 45%)}
.matrix-fit-dialog .fit-close{position:static;flex:none}
.matrix-fit-dialog .fit-grid{display:grid;min-height:0;padding:6px 8px;overflow:hidden}
.matrix-fit-dialog .fit-h{display:flex;align-items:flex-end;justify-content:center;font-weight:800;color:var(--muted,#69736c);letter-spacing:.03em;text-transform:uppercase;overflow:hidden;padding-bottom:3px;text-align:center;line-height:1.05}
.matrix-fit-dialog .fit-h.rot span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
.matrix-fit-dialog .fit-n{display:flex;align-items:center;gap:6px;font-weight:700;overflow:hidden;white-space:nowrap;padding-right:6px;min-width:0}
.matrix-fit-dialog .fit-n span{overflow:hidden;text-overflow:ellipsis}
.matrix-fit-dialog .fit-av{flex:none;border-radius:50%;background:#0b6b3a;color:#fff;display:inline-grid;place-items:center;font-weight:800;overflow:hidden}
.matrix-fit-dialog .fit-av img{width:100%;height:100%;object-fit:cover;display:block}
.matrix-fit-dialog .fit-c{display:grid;place-items:center;position:relative;font-weight:800;border:1px solid rgba(255,255,255,.7);cursor:pointer;background:var(--fit-l0);color:var(--fit-l0-ink)}
.matrix-fit-dialog .fit-c.l1{background:var(--fit-l1);color:var(--fit-l1-ink)}.matrix-fit-dialog .fit-c.l2{background:var(--fit-l2);color:var(--fit-l2-ink)}.matrix-fit-dialog .fit-c.l3{background:var(--fit-l3);color:var(--fit-l3-ink)}.matrix-fit-dialog .fit-c.l4{background:var(--fit-l4);color:var(--fit-l4-ink)}
body.dark .matrix-fit-dialog .fit-c{border-color:rgba(0,0,0,.5)}
.matrix-fit-dialog .fit-c.mute{color:transparent}
.matrix-fit-dialog .fit-c.gap::after{content:"";position:absolute;right:0;top:0;border-style:solid;border-width:0 var(--fit-corner,6px) var(--fit-corner,6px) 0;border-color:transparent #b4472a transparent transparent}
.matrix-fit-dialog .fit-team{border-top:2px solid var(--line,#e3dfd4)}
.matrix-fit-dialog .fit-foot{padding:6px 12px;border-top:1px solid var(--line,#e3dfd4);font-size:12px;color:var(--muted,#69736c);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.matrix-fit-dialog .fit-tip{position:fixed;z-index:30;background:#14201a;color:#fff;padding:8px 11px;font-size:12px;max-width:min(280px,calc(100vw - 16px));display:grid;gap:3px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.matrix-fit-dialog .fit-tip[hidden]{display:none}
.matrix-fit-dialog .fit-tip:not(.pinned){pointer-events:none}
.matrix-fit-dialog .fit-tip b{font-size:12.5px}
.matrix-fit-dialog .fit-open{margin-top:4px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:5px 9px;font:inherit;font-weight:700;font-size:12px;cursor:pointer}
.matrix-fit-dialog .fit-controls{display:flex;gap:10px 16px;align-items:end;flex-wrap:wrap}
.matrix-fit-dialog .fit-controls label{display:grid;gap:2px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--muted,#69736c)}
.matrix-fit-dialog .fit-controls label b{color:var(--text,#14201a);text-transform:none;letter-spacing:0}
.matrix-fit-dialog .fit-controls input[type=range]{width:150px;accent-color:#0b6b3a;padding:0;margin:0}
.matrix-fit-dialog .fit-badge{border:1px solid var(--line,#e3dfd4);padding:6px 10px;font-size:12px;color:var(--muted,#69736c);font-weight:500;text-transform:none;letter-spacing:0}.matrix-fit-dialog .fit-badge b{color:var(--text,#14201a)}
.matrix-fit-dialog .fit-controls label{min-width:120px}
.matrix-fit-dialog .fit-badge{display:block;line-height:28px;height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 220px;min-width:0;max-width:100%}
.matrix-fit-dialog .fit-controls{flex:1 1 auto;min-width:0}
.matrix-fit-dialog .fit-close{width:38px;height:38px;flex:none}
.matrix-fit-dialog .fit-stage{min-height:0;display:grid;place-items:center;overflow:hidden;position:relative}
.matrix-fit-dialog .fit-scaler{position:relative}
.matrix-fit-dialog .fit-scaler>.fit-grid{position:absolute;left:0;top:0;transform-origin:0 0}
.matrix-fit-dialog .fit-controls select{border:1px solid var(--line,#e3dfd4);background:var(--surface,#fff);color:var(--text,#14201a);padding:5px 8px;font:inherit;font-weight:600;font-size:12.5px;width:auto;text-transform:none;letter-spacing:0}

/* === matrix-header.css === */
body #view-matrix .page-heading>div:first-child>p{display:none}
body #view-matrix .page-heading{margin-bottom:10px;align-items:flex-end}
body #view-matrix .matrix-heading-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
body #view-matrix .matrix-heading-actions .button{border-radius:2px}
body #view-matrix .matrix-tools-menu summary{min-width:118px;border-radius:2px}
body #view-matrix .matrix-tools-menu>div{border-radius:2px;width:330px}
body #view-matrix .matrix-tools-menu>div button{border-radius:0}
body #view-matrix .matrix-tools-menu>div .matrix-view-picker{padding:10px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0;min-width:0}
body #view-matrix .matrix-tools-menu>div .matrix-view-picker select{border-radius:2px;height:36px}

body #view-matrix .matrix-purpose-switch{width:100%;margin:0;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;gap:2px}
body #view-matrix .matrix-purpose-switch button{min-height:44px;padding:0 16px;border-radius:0;background:transparent!important;color:var(--muted)!important;border-bottom:3px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px;box-shadow:none!important}
body #view-matrix .matrix-purpose-switch button.active{color:var(--text)!important;border-bottom-color:#0b6b3a}
.mt-count{font-size:11px;font-weight:800;padding:1px 7px;background:#e9f3ec;color:#0b6b3a}
.mt-count.warn{background:#f6c9d0;color:#8a2c3b}
.mt-count[hidden]{display:none}
body.dark .mt-count{background:#1d2f24;color:#5fc088}body.dark .mt-count.warn{background:#5a2a33;color:#f4b9c2}

body #view-matrix .matrix-panel{border-radius:2px;margin-top:12px}
body #view-matrix .matrix-panel .segmented{border-radius:2px;padding:0;background:var(--surface)}
body #view-matrix .matrix-panel .segmented button{border-radius:0;height:36px;padding:0 14px;border-right:1px solid var(--line)}
body #view-matrix .matrix-panel .segmented button:last-child{border-right:0}
body #view-matrix .matrix-panel .segmented button.active{background:#14201a!important;color:#fff!important;box-shadow:none}
body #view-matrix .matrix-panel .toolbar-actions :is(input,select){border-radius:2px}

body #view-matrix .matrix-summary{grid-template-columns:repeat(4,1fr);gap:0;padding:0;background:var(--surface);border-bottom:1px solid var(--line)}
body #view-matrix .matrix-summary>div{background:var(--surface)!important;border-radius:0;border-right:1px solid var(--line);padding:12px 16px;display:grid;gap:2px}
body #view-matrix .matrix-summary>div:last-child{border-right:0}
body #view-matrix .matrix-summary strong{font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
body #view-matrix .matrix-summary>div.ms-alert strong{color:#b4472a}
.ms-bar{display:block;height:4px;background:var(--line);margin-top:6px}
.ms-bar i{display:block;height:100%;background:#0b6b3a}
.ms-alert .ms-bar i{background:#b4472a}.ms-warn .ms-bar i{background:#f7dd8a}
@media(max-width:760px){body #view-matrix .matrix-summary{grid-template-columns:1fr 1fr}}

body #view-matrix .matrix-legend{border-radius:0;margin:0;padding:8px 18px;gap:14px;border-bottom:1px solid var(--line)}
body #view-matrix .matrix-legend small{margin-left:auto}
@media(max-width:820px){body #view-matrix .matrix-heading-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}body #view-matrix .matrix-tools-menu>div{width:auto}body #view-matrix .matrix-heading-actions .button,body #view-matrix .matrix-tools-menu summary{width:100%;min-width:0}}

body #view-matrix .matrix-table thead .mh-cats th{position:sticky;top:0;z-index:7;height:26px;min-height:0;padding:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;text-align:center;border-bottom:1px solid var(--line)}
body #view-matrix .matrix-table thead .mh-cats th.sticky{left:0;z-index:9;background:var(--surface)}
body #view-matrix .matrix-table thead .mh-cat-0{background:#eef4fb;color:#2f6fbd}
body #view-matrix .matrix-table thead .mh-cat-1{background:#f8f0e2;color:#9a6b00}
body.dark #view-matrix .matrix-table thead .mh-cat-0{background:#1b2632;color:#8db8ee}
body.dark #view-matrix .matrix-table thead .mh-cat-1{background:#2f2a1c;color:#e3b94f}
body #view-matrix .matrix-table thead tr:nth-child(2) th{top:26px}
body #view-matrix .matrix-skill-sheet{display:grid;gap:6px;justify-items:center;text-align:center}
body #view-matrix .matrix-skill-sheet .skill-dot,body #view-matrix .matrix-skill-sheet>small{display:none}
body #view-matrix .matrix-skill-sheet strong{min-height:28px;display:flex;align-items:flex-end;justify-content:center;text-wrap:balance;line-height:1.15}
.mh-ev{display:flex;gap:4px;justify-content:center}
.mh-av{width:24px;height:24px;display:grid;place-items:center;font-size:10px;font-weight:800;position:relative;cursor:help}
.mh-av.primary{background:#e3edf9;color:#2f6fbd}.mh-av.backup{background:#fbf0d2;color:#9a6b00}
.mh-av.none{border:1px dashed var(--line);color:var(--muted);background:transparent}
body.dark .mh-av.primary{background:#1d2a3a;color:#8db8ee}body.dark .mh-av.backup{background:#3a3117;color:#e3b94f}
.mh-av:hover::after,.mh-av:focus-visible::after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#14201a;color:#fff;padding:5px 8px;font-size:11.5px;white-space:nowrap;font-weight:600;z-index:20}

body #view-matrix .matrix-table tbody td.matrix-skill-cell .matrix-level-button{display:inline-flex;align-items:center;gap:8px;min-width:88px;padding:8px 10px;border:2px solid transparent;text-align:left}
body #view-matrix .matrix-table tbody td.matrix-skill-cell .matrix-level-button:hover{border-color:#0b6b3a}
.mx-side{display:grid;gap:5px;justify-items:start}
.mx-side .cell-gap{position:static!important;font-size:12px!important;font-weight:800;line-height:1;color:#b4472a}
body #view-matrix .matrix-skill-cell:not(.has-gap) .mx-side .cell-gap{color:#0b6b3a}
.mx-pips{display:flex;gap:2px}.mx-pips i{width:9px;height:5px;background:var(--line)}
.mx-pips i.f1{background:#8a2c3b}.mx-pips i.f2{background:#c9a400}.mx-pips i.f3{background:#0b6b3a}.mx-pips i.f4{background:#14201a}
body.dark .mx-pips i.f4{background:#eef1ec}
.mx-pips i.tg{box-shadow:0 0 0 1px var(--text)}
body #view-matrix .matrix-table tbody tr:hover td,body #view-matrix .matrix-table tbody tr:hover td.sticky{background:#f3f8f4}
body.dark #view-matrix .matrix-table tbody tr:hover td,body.dark #view-matrix .matrix-table tbody tr:hover td.sticky{background:#212a24}
body #view-matrix .matrix-table tbody td.mx-col{background:#f3f8f4}
body.dark #view-matrix .matrix-table tbody td.mx-col{background:#212a24}
body #view-matrix .matrix-person-check{opacity:0;transition:opacity .12s}
body #view-matrix .matrix-table tr:hover .matrix-person-check,body #view-matrix .matrix-person-check:checked,body #view-matrix .matrix-table:has(.matrix-person-check:checked) .matrix-person-check,body #view-matrix .matrix-select-all input{opacity:1}
body #view-matrix.matrix-compact .mx-pips{display:none}body #view-matrix.matrix-compact .mx-side .cell-gap{display:block!important}
body #view-matrix.matrix-compact .matrix-table tbody td.matrix-skill-cell .matrix-level-button{min-width:46px;padding:5px 8px}
body #matrixHead .mh-print-only{display:none!important}
body.dark .button.dark{background:#5fc088!important;border-color:#5fc088!important;color:#06210f!important}
body.dark #view-matrix .toolbar-actions :is(.button,summary){background:var(--surface)!important;color:var(--text)!important}

/* impression : même rendu que l'écran */
.matrix-print-page .mh-print-only{display:none!important}
.matrix-print-page .mh-print-cats th{background:#eef4fb;color:#2f6fbd;font-size:8px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;height:auto!important;padding:2px!important;border:1px solid #ccd4ce!important}
.matrix-print-page .mh-print-cats th.mh-cat-1{background:#f8f0e2;color:#9a6b00}
.matrix-print-page .mh-print-cats th:first-child,.matrix-print-page .mh-print-cats th:last-child{background:#fff}
.matrix-print-page .matrix-skill-sheet{display:grid!important;gap:3px;justify-items:center;text-align:center}
.matrix-print-page .mh-ev{display:flex!important;gap:2px;justify-content:center}
.matrix-print-page .mh-av{width:auto!important;min-width:14px;height:14px!important;padding:0 2px;font-size:7px!important;display:grid;place-items:center;font-weight:800}
.matrix-print-page .mh-av:hover::after{display:none}
.matrix-print-page .mx-side{display:grid!important;justify-items:center;gap:1px}
.matrix-print-page .mx-pips{display:flex!important;gap:1px}.matrix-print-page .mx-pips i{width:5px!important;height:3px!important}
.matrix-print-page .matrix-level-button{gap:2px}
.matrix-print-legend small{font-size:8px!important;line-height:1.3!important;margin:0!important}

/* === work-actions.css === */
#view-work{--wa-green:#0b6b3a;--wa-soft:#e9f3ec;--wa-line:#e3dfd4;--wa-mut:#69736c;--wa-bad:#b4472a;--wa-warn:#9a6b00;--wa-warnbg:#fbf0d2;--wa-info:#2f6fbd;--wa-infobg:#e3edf9;--wa-ink:#14201a}
body.dark #view-work{--wa-green:#5fc088;--wa-soft:#1d2f24;--wa-line:#2e362f;--wa-mut:#9aa39c;--wa-bad:#f0906f;--wa-warn:#e3b94f;--wa-warnbg:#3a3117;--wa-info:#8db8ee;--wa-infobg:#1d2a3a;--wa-ink:#eef1ec}
#view-work .work-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:16px;border:1px solid var(--wa-line);background:var(--surface,#fff);border-radius:0}
#view-work .work-summary>div{position:static;min-height:0;padding:12px 16px;border:0;border-right:1px solid var(--wa-line);border-left:4px solid transparent;border-radius:0;background:transparent;box-shadow:none;display:grid;gap:2px}
#view-work .work-summary>div::before{display:none}
#view-work .work-summary>div:last-child{border-right:0}
#view-work .work-summary .urgent{border-left-color:var(--wa-bad)}#view-work .work-summary .week{border-left-color:var(--wa-warn)}#view-work .work-summary .upcoming{border-left-color:var(--wa-info)}#view-work .work-summary .total{border-left-color:var(--wa-green)}
#view-work .work-summary strong{font-size:24px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
#view-work .work-summary .urgent strong{color:var(--wa-bad)}
#view-work .work-summary span{font-size:12px;color:var(--wa-mut)}
@media(max-width:800px){#view-work .work-summary{grid-template-columns:1fr 1fr}#view-work .work-summary>div:nth-child(2){border-right:0}#view-work .work-summary>div:nth-child(-n+2){border-bottom:1px solid var(--wa-line)}}
#view-work .work-tabs{display:flex;gap:2px;margin-top:14px;border-bottom:1px solid var(--wa-line);overflow-x:auto}
#view-work .work-tabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 14px;font-weight:700;color:var(--wa-mut);display:flex;gap:7px;align-items:center;margin-bottom:-1px;white-space:nowrap;cursor:pointer}
#view-work .work-tabs button.active{color:var(--wa-ink);border-bottom-color:var(--wa-green)}
#view-work .work-count{font-size:11px;padding:1px 7px;background:var(--wa-line);color:var(--wa-mut);font-weight:800}
#view-work .work-tabs .active .work-count{background:var(--wa-soft);color:var(--wa-green)}
#view-work .work-scope-line{margin:10px 2px 0;font-size:12px;color:var(--wa-mut)}#view-work .work-scope-line strong{color:var(--wa-ink)}
#view-work .work-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:16px;margin-top:12px;align-items:start}
@media(max-width:900px){#view-work .work-layout{grid-template-columns:1fr}}
#view-work .work-board{display:block}
#view-work .work-group{margin-bottom:14px}
#view-work .work-group>header{display:flex;align-items:center;gap:8px;padding:6px 2px;border:0;background:none}
#view-work .work-group>header i{width:8px;height:8px;display:inline-block;border-radius:0}
#view-work .work-group h2{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--wa-mut)}
#view-work .work-group>header b{margin-left:auto;font-size:11px;font-weight:800;color:var(--wa-mut)}
#view-work .work-list{border:1px solid var(--wa-line);background:var(--surface,#fff)}
#view-work .work-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:11px 14px;border:0;border-bottom:1px solid var(--wa-line);border-radius:0;background:none;text-align:left;position:relative;cursor:pointer}
#view-work .work-item:last-child{border-bottom:0}
#view-work .work-item:hover{background:var(--wa-soft)}
#view-work .work-item.selected{background:var(--wa-soft);box-shadow:inset 3px 0 0 var(--wa-green)}
#view-work .work-item.snoozed{opacity:.55}
#view-work .work-avatar{width:34px;height:34px;border-radius:50%;background:#6c5ce7;color:#fff;font-weight:800;display:grid;place-items:center;font-size:11.5px}
#view-work .work-main{min-width:0}
#view-work .work-item strong{display:block;font-size:13.5px}
#view-work .work-item small{display:block;color:var(--wa-mut);font-size:12px;margin-top:1px}
#view-work .work-kind{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;margin-right:6px;letter-spacing:.03em;border-radius:0;text-transform:none}
#view-work .work-kind.validation{background:#bfe3c6;color:#14532d}#view-work .work-kind.training{background:var(--wa-infobg);color:var(--wa-info)}#view-work .work-kind.plan{background:var(--wa-warnbg);color:var(--wa-warn)}#view-work .work-kind.objective{background:#f6c9d0;color:#8a2c3b}
#view-work .work-due{font-size:12px;font-weight:800;text-align:right;white-space:nowrap}
#view-work .work-due.late{color:var(--wa-bad)}#view-work .work-due.soon{color:var(--wa-warn)}#view-work .work-due.ok{color:var(--wa-mut)}
#view-work .work-due small{font-weight:600;color:var(--wa-mut);margin:0}
#view-work .work-preview{position:sticky;top:calc(var(--panel-sticky-top,74px) + 12px);max-height:calc(100vh - var(--panel-sticky-top,74px) - 80px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--wa-line);background:var(--surface,#fff)}
#view-work .work-preview[hidden]{display:none}
#view-work .work-preview>header{padding:16px 18px;border-bottom:1px solid var(--wa-line)}
#view-work .work-preview h2{margin:6px 0 2px;font-size:18px}
#view-work .work-preview>header small{color:var(--wa-mut)}
#view-work .work-preview-body{padding:16px 18px;display:grid;gap:14px}
#view-work .work-why{border:1px solid var(--wa-green);background:var(--wa-soft);padding:11px 13px}
#view-work .work-why span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--wa-green)}
#view-work .work-why p{margin:3px 0 0;font-weight:600}
#view-work .work-eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--wa-mut);margin-bottom:6px}
#view-work .work-ladder{display:flex;gap:3px}#view-work .work-ladder i{flex:1;height:8px;background:var(--wa-line)}#view-work .work-ladder i.f{background:var(--wa-green)}#view-work .work-ladder i.t{box-shadow:0 0 0 1.5px var(--wa-ink)}
#view-work .work-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--wa-line);border:1px solid var(--wa-line);margin:0}
#view-work .work-facts>div{background:var(--surface,#fff);padding:9px 12px}
#view-work .work-facts dt{font-size:11px;color:var(--wa-mut)}#view-work .work-facts dd{margin:0;font-size:13px;font-weight:700}
#view-work .work-preview-actions{display:flex;gap:8px;flex-wrap:wrap}
#view-work .work-preview-actions>.button{border-radius:2px}
#view-work .work-preview-actions>.dark{flex:1}
#view-work .work-snooze{position:relative}
#view-work .work-snooze-menu{position:absolute;right:0;bottom:calc(100% + 4px);min-width:180px;background:var(--surface,#fff);border:1px solid var(--wa-line);box-shadow:0 10px 30px rgba(0,0,0,.14);z-index:5}
#view-work .work-snooze-menu[hidden]{display:none}
#view-work .work-snooze-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 14px;font-size:13px;cursor:pointer}
#view-work .work-snooze-menu button:hover{background:var(--wa-soft)}
#view-work .work-snoozed-toggle{background:none;border:0;color:var(--wa-mut);font-size:12px;font-weight:700;cursor:pointer;padding:4px 2px;text-decoration:underline}
#view-work .work-empty-state{border:1px dashed var(--wa-line);background:var(--surface,#fff);padding:34px 20px;text-align:center}
#view-work .work-empty-state h3{margin:0 0 4px;font-size:18px}
#view-work .work-empty-state p{margin:0;color:var(--wa-mut)}
#view-work .work-empty-state span{display:inline-block;margin-top:14px;padding:8px 12px;background:var(--wa-soft);color:var(--wa-green);font-weight:700;font-size:13px}
#view-work .work-summary>div{text-align:left;justify-items:start;align-content:center}
#postponeDialog .postpone-notify{border:1px solid var(--line,#e3dfd4);padding:10px 14px;margin:0}
#postponeDialog .postpone-notify legend{font-size:12px;font-weight:800;padding:0 6px}
#postponeDialog .postpone-choice{display:flex;gap:10px;align-items:center;padding:6px 0;font-size:13px}
#postponeDialog .postpone-choice input{width:auto}
#postponeDialog .postpone-none{margin:0;color:var(--muted,#69736c);font-size:13px}
#postponeDialog .postpone-choice{padding:2px 0!important;min-height:0!important;height:auto!important}

@media(max-width:900px){#view-work .work-preview{position:static;max-height:none;overflow:visible}}

/* === plans-view.css === */
#view-plans{--pl-green:#0b6b3a;--pl-soft:#e9f3ec;--pl-line:#e3dfd4;--pl-mut:#69736c;--pl-bad:#b4472a;--pl-badbg:#fbeae4;--pl-warn:#9a6b00;--pl-warnbg:#fbf0d2;--pl-ink:#14201a;--pl-l1:#f6c9d0;--pl-l1t:#8a2c3b;--pl-l2:#f7dd8a;--pl-l2t:#6b5200;--pl-l3:#bfe3c6;--pl-l3t:#14532d;--pl-l4:#14201a;--pl-l4t:#fff;--pl-l0:#f1efe9}
body.dark #view-plans{--pl-green:#5fc088;--pl-soft:#1d2f24;--pl-line:#2e362f;--pl-mut:#9aa39c;--pl-bad:#f0906f;--pl-badbg:#3a231b;--pl-warn:#e3b94f;--pl-warnbg:#3a3117;--pl-ink:#eef1ec;--pl-l1:#5a2a33;--pl-l1t:#f4b9c2;--pl-l2:#5a4a12;--pl-l2t:#f5dc8c;--pl-l3:#22523a;--pl-l3t:#bfe9cb;--pl-l4:#eef1ec;--pl-l4t:#141815;--pl-l0:#252c27}
#view-plans.pl-modern .plan-workspace{display:none}
#view-plans.pl-modern .heading-actions .button{border-radius:2px}
#view-plans.pl-modern .plans-stats{display:flex!important;flex-wrap:wrap;gap:0;margin-top:16px;border:1px solid var(--pl-line);background:var(--surface,#fff);border-radius:0;padding:0;grid-template-columns:none}
#view-plans.pl-modern .plans-stats>*{display:flex;gap:9px;align-items:baseline;padding:9px 16px;border:0;border-right:1px solid var(--pl-line);border-radius:0;background:transparent;box-shadow:none;min-height:0;text-align:left;font:inherit;color:inherit}
#view-plans.pl-modern .plans-stats>*:last-child{border-right:0}
#view-plans.pl-modern .plans-stats button{cursor:pointer}
#view-plans.pl-modern .plans-stats button:hover{background:var(--pl-soft)}
#view-plans.pl-modern .plans-stats strong{font-family:inherit;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#view-plans.pl-modern .plans-stats small{font-size:12px;color:var(--pl-mut)}
#view-plans.pl-modern .plans-stats .bad strong{color:var(--pl-bad)}
.pl-gaps{margin-top:12px;border:1px dashed var(--pl-line);background:var(--surface,#fff);padding:10px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pl-gaps[hidden]{display:none}
.pl-gaps .pl-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--pl-mut)}
.pl-gap{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--pl-line);padding:4px 4px 4px 10px;font-size:12px;font-weight:700}
.pl-gap button{background:var(--pl-soft);color:var(--pl-green);border:0;padding:3px 8px;font-weight:800;font-size:11.5px;cursor:pointer}
#view-plans.pl-modern .plans-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px;border:0;background:transparent;box-shadow:none;padding:0;grid-template-columns:none}
#view-plans.pl-modern .plans-toolbar .input-search{flex:1;min-width:200px;border-radius:0;order:2}
#view-plans.pl-modern .plans-toolbar select{border-radius:0;font-weight:600;font-size:12.5px;order:3}
#view-plans.pl-modern .plans-toolbar .segmented{order:1;border:1px solid var(--pl-line);background:var(--surface,#fff);border-radius:0;display:inline-flex;padding:0;gap:0}
#view-plans.pl-modern .plans-toolbar .segmented button{background:none;border:0;border-right:1px solid var(--pl-line);border-radius:0;padding:8px 13px;font-weight:700;font-size:12.5px;color:var(--pl-mut);box-shadow:none}
#view-plans.pl-modern .plans-toolbar .segmented button:last-child{border-right:0}
#view-plans.pl-modern .plans-toolbar .segmented button.active{background:var(--pl-ink);color:var(--surface,#fff)}
.pl-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;margin-top:12px;align-items:start}
@media(max-width:1050px){.pl-layout{grid-template-columns:minmax(0,1fr)}}
.pl-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:10px;overflow-x:auto;padding-bottom:6px}
.pl-col{background:color-mix(in srgb,var(--pl-line) 35%,transparent);min-height:220px;display:flex;flex-direction:column;gap:8px;padding:8px}
.pl-col h3{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--pl-mut);display:flex;justify-content:space-between;padding:2px 2px 4px}
.pl-card{background:var(--surface,#fff);border:1px solid var(--pl-line);border-left:3px solid var(--pl-green);padding:10px 12px;text-align:left;width:100%;display:grid;gap:7px;border-radius:0;cursor:pointer;font:inherit;color:inherit;box-shadow:none}
.pl-card:hover{background:var(--pl-soft)}
.pl-card.sel,.pl-row.sel{outline:2px solid var(--pl-ink);outline-offset:-1px}
.pl-card.late{border-left-color:var(--pl-bad)}
.pl-card.warn{border-left-color:var(--pl-warn)}
.pl-r1{display:flex;gap:8px;align-items:center}
.pl-av{width:26px;height:26px;border-radius:50%;background:#6c5ce7;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;flex:none}
.pl-card b{font-size:13px;line-height:1.2}
.pl-card small{display:block;color:var(--pl-mut);font-size:11.5px}
.pl-lad{display:inline-flex;gap:3px;align-items:center;font-size:11px;font-weight:800}
.pl-lad i{font-style:normal;padding:1px 7px}
.pl-lv1{background:var(--pl-l1);color:var(--pl-l1t)}
.pl-lv2{background:var(--pl-l2);color:var(--pl-l2t)}
.pl-lv3{background:var(--pl-l3);color:var(--pl-l3t)}
.pl-lv4{background:var(--pl-l4);color:var(--pl-l4t)}
.pl-lv0{background:var(--pl-l0);color:var(--pl-mut)}
.pl-dots{display:flex;gap:3px}
.pl-dots i{flex:1;height:4px;background:var(--pl-line)}
.pl-dots i.d{background:var(--pl-green)}
.pl-dots i.c{background:var(--pl-warn)}
.pl-due{font-size:11.5px;font-weight:800}
.pl-due.late{color:var(--pl-bad)}
.pl-due.soon{color:var(--pl-warn)}
.pl-due.ok{color:var(--pl-mut)}
.pl-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px}
.pl-pill.b{background:var(--pl-badbg);color:var(--pl-bad)}
.pl-pill.w{background:var(--pl-warnbg);color:var(--pl-warn)}
.pl-pill.g{background:var(--pl-line);color:var(--pl-mut)}
.pl-pill.ok{background:var(--pl-soft);color:var(--pl-green)}
.pl-panel{border:1px solid var(--pl-line);background:var(--surface,#fff);min-width:0}
.pl-scroll{overflow-x:auto}
.pl-panel table{border-collapse:collapse;width:100%;font-size:13px}
.pl-panel th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--pl-mut);padding:9px 12px;border-bottom:2px solid var(--pl-line)}
.pl-panel td{padding:10px 12px;border-bottom:1px solid var(--pl-line);vertical-align:middle}
.pl-panel tr[data-pl-id]{cursor:pointer}
.pl-panel tr[data-pl-id]:hover td,.pl-panel tr.sel td{background:var(--pl-soft)}
.pl-person{border-bottom:1px solid var(--pl-line);padding:12px 14px}
.pl-person:last-child{border:0}
.pl-person .pl-h{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.pl-plist{display:grid;gap:6px}
.pl-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:12px;align-items:center;padding:8px 10px;border:1px solid var(--pl-line);background:var(--surface,#fff);width:100%;text-align:left;border-radius:0;cursor:pointer;font:inherit;color:inherit;box-shadow:none}
.pl-row:hover{background:var(--pl-soft)}
.pl-empty{padding:26px;text-align:center;color:var(--pl-mut)}
.pl-prev{position:sticky;top:calc(var(--pl-sticky-top,74px) + 12px);max-height:calc(100vh - var(--pl-sticky-top,74px) - 80px);overflow-y:auto;overscroll-behavior:contain}
.pl-prev header{padding:14px 16px;border-bottom:1px solid var(--pl-line)}
.pl-prev h2{margin:4px 0 2px;font-size:18px}
.pl-prev .pl-p{padding:14px 16px;display:grid;gap:14px}
.pl-next{border:1px solid var(--pl-green);background:var(--pl-soft);padding:10px 12px}
.pl-next>span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--pl-green)}
.pl-next p{margin:3px 0 0;font-weight:600}
.pl-next .button{margin-top:8px;border-radius:2px}
.pl-kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--pl-line);border:1px solid var(--pl-line)}
.pl-kv div{background:var(--surface,#fff);padding:8px 11px}
.pl-kv span{display:block;font-size:11px;color:var(--pl-mut)}
.pl-kv b{font-size:13px}
.pl-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--pl-mut);margin-bottom:6px}
.pl-step{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;padding-bottom:12px;position:relative}
.pl-step::before{content:"";position:absolute;left:10px;top:20px;bottom:0;width:2px;background:var(--pl-line)}
.pl-step:last-child::before{display:none}
.pl-step .n{width:22px;height:22px;border-radius:50%;border:2px solid var(--pl-line);display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--surface,#fff);z-index:1}
.pl-step.done .n{background:var(--pl-green);border-color:var(--pl-green);color:#fff}
.pl-step.cur .n{border-color:var(--pl-warn);color:var(--pl-warn)}
.pl-step b{font-size:13px}
.pl-step small{display:block;color:var(--pl-mut);font-size:11.5px}
.pl-hist{font-size:12px;color:var(--pl-mut);border-left:2px solid var(--pl-line);padding-left:10px}
.pl-pa{display:flex;gap:8px;flex-wrap:wrap}
.pl-pa .button{border-radius:2px}
.pl-pa .pri{flex:1}
.pl-pbar{display:flex;align-items:center;gap:8px}
.pl-pbar i{flex:1;height:6px;background:var(--pl-line);display:block}
.pl-pbar i b{display:block;height:6px;background:var(--pl-green)}
.pl-pbar em{font-style:normal;font-size:11.5px;font-weight:800;min-width:38px;text-align:right;font-variant-numeric:tabular-nums}
.pl-pbar.thick i,.pl-pbar.thick i b{height:10px}
.pl-big{border:1px solid var(--pl-line);padding:12px;display:grid;gap:8px}
.pl-bh{display:flex;justify-content:space-between;align-items:baseline}
.pl-bh span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--pl-mut)}
.pl-bh b{font-size:26px;letter-spacing:-.02em}
.pl-big small{color:var(--pl-mut);font-size:11.5px}
.pl-sp{font-style:normal;font-size:11px;color:var(--pl-mut);font-weight:700}
.pl-na{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pl-na .button{border-radius:2px}
.pl-hint2{font-size:12px;color:var(--pl-mut);border-left:2px solid var(--pl-warn);padding-left:10px}
.pl-hint{font-size:11.5px;color:var(--pl-mut);margin:-2px 2px 2px}
.pl-row{grid-template-columns:1fr minmax(150px,1.2fr) auto}

.pl-progress-cell{min-width:150px}
@media(max-width:1500px){.pl-layout{grid-template-columns:minmax(0,1fr) 300px}.pl-panel th,.pl-panel td{padding-inline:8px}.pl-progress-cell{min-width:96px}}
@media(max-width:1050px){.pl-prev{position:static;max-height:none;overflow:visible}}

/* === trainings-view.css === */
#view-trainings{--tm-green:#0b6b3a;--tm-soft:#e9f3ec;--tm-line:#e3dfd4;--tm-mut:#69736c;--tm-bad:#b4472a;--tm-badbg:#fbeae4;--tm-warn:#9a6b00;--tm-warnbg:#fbf0d2;--tm-info:#2f6fbd;--tm-infobg:#e3edf9;--tm-ink:#14201a}
body.dark #view-trainings{--tm-green:#5fc088;--tm-soft:#1d2f24;--tm-line:#2e362f;--tm-mut:#9aa39c;--tm-bad:#f0906f;--tm-badbg:#3a231b;--tm-warn:#e3b94f;--tm-warnbg:#3a3117;--tm-info:#8db8ee;--tm-infobg:#1d2a3a;--tm-ink:#eef1ec}
#view-trainings.tm-modern #trainingGrid{display:none}
#view-trainings.tm-modern .heading-actions .button{border-radius:2px}
#view-trainings.tm-modern .training-stats{display:flex!important;flex-wrap:wrap;gap:0;margin-top:16px;border:1px solid var(--tm-line);background:var(--surface,#fff);border-radius:0;padding:0;grid-template-columns:none}
#view-trainings.tm-modern .training-stats>*{display:flex;gap:9px;align-items:baseline;padding:9px 16px;border:0;border-right:1px solid var(--tm-line);border-radius:0;background:transparent;box-shadow:none;min-height:0;text-align:left;font:inherit;color:inherit}
#view-trainings.tm-modern .training-stats>*:last-child{border-right:0}
#view-trainings.tm-modern .training-stats button{cursor:pointer}
#view-trainings.tm-modern .training-stats button:hover{background:var(--tm-soft)}
#view-trainings.tm-modern .training-stats strong{font-family:inherit;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#view-trainings.tm-modern .training-stats small{font-size:12px;color:var(--tm-mut)}
#view-trainings.tm-modern .training-stats .bad strong{color:var(--tm-bad)}
#view-trainings.tm-modern .training-stats .warn strong{color:var(--tm-warn)}
#view-trainings.tm-modern .training-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px;border:0;background:transparent;box-shadow:none;padding:0;grid-template-columns:none}
#view-trainings.tm-modern .training-toolbar .training-view-switch{order:1}
#view-trainings.tm-modern .training-toolbar .training-search{order:2;flex:1;min-width:200px}
#view-trainings.tm-modern .training-toolbar>label:not(.training-search){order:3}
#view-trainings.tm-modern .training-toolbar label{font-size:0!important;line-height:0!important;display:block;gap:0}
#view-trainings.tm-modern .training-toolbar input,#view-trainings.tm-modern .training-toolbar select{font-size:12.5px!important;line-height:1.4!important;font-weight:600;border-radius:0;width:100%}
#view-trainings.tm-modern .training-toolbar .segmented{border:1px solid var(--tm-line);background:var(--surface,#fff);border-radius:0;display:inline-flex;padding:0;gap:0}
#view-trainings.tm-modern .training-toolbar .segmented button{background:none;border:0;border-right:1px solid var(--tm-line);border-radius:0;padding:8px 13px;font-weight:700;font-size:12.5px;color:var(--tm-mut);box-shadow:none}
#view-trainings.tm-modern .training-toolbar .segmented button:last-child{border-right:0}
#view-trainings.tm-modern .training-toolbar .segmented button.active{background:var(--tm-ink);color:var(--surface,#fff)}
.tm-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;margin-top:12px;align-items:start}
@media(max-width:1080px){.tm-layout{grid-template-columns:minmax(0,1fr)}}
.tm-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(168px,1fr);gap:10px;overflow-x:auto;padding-bottom:6px}
.tm-col{background:color-mix(in srgb,var(--tm-line) 35%,transparent);min-height:240px;display:flex;flex-direction:column;gap:8px;padding:8px}
.tm-col h3{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--tm-mut);display:flex;justify-content:space-between;padding:2px 2px 4px}
.tm-hint{font-size:11.5px;color:var(--tm-mut);margin:-2px 2px 2px}
.tm-card{background:var(--surface,#fff);border:1px solid var(--tm-line);border-left:3px solid var(--tm-green);padding:10px 12px;text-align:left;width:100%;display:grid;gap:8px;border-radius:0;cursor:pointer;font:inherit;color:inherit;box-shadow:none}
.tm-card:hover{background:var(--tm-soft)}
.tm-card.sel{outline:2px solid var(--tm-ink);outline-offset:-1px}
.tm-card.warn{border-left-color:var(--tm-warn)}
.tm-card.bad{border-left-color:var(--tm-bad)}
.tm-card.done{border-left-color:var(--tm-line)}
.tm-card b{font-size:13.5px;line-height:1.2}
.tm-card small{display:block;color:var(--tm-mut);font-size:11.5px}
.tm-when{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;font-weight:800}
.tm-lv{display:inline-block;font-size:11px;font-weight:800;padding:1px 7px;background:var(--tm-soft);color:var(--tm-green)}
.tm-faces{display:flex;align-items:center}
.tm-faces .tm-av{margin-left:-6px;border:2px solid var(--surface,#fff)}
.tm-faces .tm-av:first-child{margin-left:0}
.tm-faces small{margin-left:8px}
.tm-av{width:24px;height:24px;border-radius:50%;background:#6c5ce7;color:#fff;font-size:9.5px;font-weight:800;display:grid;place-items:center;flex:none}
.tm-meter{display:grid;gap:3px}
.tm-meter div{display:flex;justify-content:space-between;font-size:11px;color:var(--tm-mut)}
.tm-meter i{display:block;height:4px;background:var(--tm-line)}
.tm-meter i b{display:block;height:4px;background:var(--tm-green)}
.tm-meter.warn i b{background:var(--tm-warn)}
.tm-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;white-space:nowrap}
.tm-pill.b{background:var(--tm-badbg);color:var(--tm-bad)}
.tm-pill.w{background:var(--tm-warnbg);color:var(--tm-warn)}
.tm-pill.g{background:var(--tm-line);color:var(--tm-mut)}
.tm-pill.ok{background:var(--tm-soft);color:var(--tm-green)}
.tm-pill.i{background:var(--tm-infobg);color:var(--tm-info)}
.tm-panel{border:1px solid var(--tm-line);background:var(--surface,#fff);min-width:0}
.tm-scroll{overflow-x:auto}
.tm-panel table{border-collapse:collapse;width:100%;font-size:13px}
.tm-panel th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--tm-mut);padding:9px 12px;border-bottom:2px solid var(--tm-line)}
.tm-panel td{padding:10px 12px;border-bottom:1px solid var(--tm-line);vertical-align:middle}
.tm-panel tr[data-tm-id]{cursor:pointer}
.tm-panel tr[data-tm-id]:hover td,.tm-panel tr.sel td{background:var(--tm-soft)}
.tm-wk{border-bottom:1px solid var(--tm-line)}
.tm-wk:last-child{border:0}
.tm-wk h4{margin:0;padding:10px 14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-mut);background:color-mix(in srgb,var(--tm-line) 35%,transparent)}
.tm-day{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px 14px;border-top:1px solid var(--tm-line)}
.tm-day time{font-weight:800;font-size:12px;color:var(--tm-mut)}
.tm-day time b{display:block;font-size:20px;color:var(--tm-ink);letter-spacing:-.02em}
.tm-slot{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--tm-line);background:var(--surface,#fff);border-left:3px solid var(--tm-green);margin-bottom:6px;border-radius:0;font:inherit;color:inherit;cursor:pointer;box-shadow:none}
.tm-slot:hover{background:var(--tm-soft)}
.tm-slot.sel{outline:2px solid var(--tm-ink);outline-offset:-1px}
.tm-slot small{display:block;color:var(--tm-mut);font-size:11.5px}
.tm-empty{padding:26px;text-align:center;color:var(--tm-mut)}
.tm-prev{position:sticky;top:calc(var(--panel-sticky-top,74px) + 12px);max-height:calc(100vh - var(--panel-sticky-top,74px) - 80px);overflow-y:auto;overscroll-behavior:contain}
.tm-prev header{padding:14px 16px;border-bottom:1px solid var(--tm-line)}
.tm-prev h2{margin:6px 0 2px;font-size:18px}
.tm-prev .tm-p{padding:14px 16px;display:grid;gap:14px}
.tm-next{border:1px solid var(--tm-green);background:var(--tm-soft);padding:10px 12px}
.tm-next>span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--tm-green)}
.tm-next p{margin:3px 0 8px;font-weight:600}
.tm-next .button{border-radius:2px}
.tm-choice{font-size:12px;color:var(--tm-mut);border-left:2px solid var(--tm-warn);padding-left:10px}
.tm-kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--tm-line);border:1px solid var(--tm-line)}
.tm-kv div{background:var(--surface,#fff);padding:8px 11px}
.tm-kv span{display:block;font-size:11px;color:var(--tm-mut)}
.tm-kv b{font-size:13px}
.tm-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--tm-mut);margin-bottom:6px}
.tm-step{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;padding-bottom:12px;position:relative}
.tm-step::before{content:"";position:absolute;left:10px;top:20px;bottom:0;width:2px;background:var(--tm-line)}
.tm-step:last-child::before{display:none}
.tm-step .n{width:22px;height:22px;border-radius:50%;border:2px solid var(--tm-line);display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--surface,#fff);z-index:1}
.tm-step.done .n{background:var(--tm-green);border-color:var(--tm-green);color:#fff}
.tm-step.cur .n{border-color:var(--tm-warn);color:var(--tm-warn)}
.tm-step b{font-size:13px}
.tm-step small{display:block;color:var(--tm-mut);font-size:11.5px}
.tm-ppl{border:1px solid var(--tm-line)}
.tm-pn{display:grid;gap:3px;justify-items:start;min-width:0}
.tm-pp{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--tm-line);font-size:13px}
.tm-pp:last-child{border:0}
.tm-pp .button{border-radius:2px;padding:3px 8px;min-height:0;font-size:11.5px}
.tm-pa{display:flex;gap:8px;flex-wrap:wrap}
.tm-pa .button{border-radius:2px}
.tm-pa .pri{flex:1}
.tm-catalog{margin-top:14px;border:1px solid var(--tm-line);background:var(--surface,#fff)}
.tm-catalog>summary{padding:10px 14px;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--tm-mut);cursor:pointer}
.tm-when span{white-space:nowrap}

@media(max-width:1080px){.tm-prev{position:static;max-height:none;overflow:visible}}

/* === skills-view.css === */
#view-skills{--sk-green:#0b6b3a;--sk-soft:#e9f3ec;--sk-line:#e3dfd4;--sk-mut:#69736c;--sk-bad:#b4472a;--sk-badbg:#fbeae4;--sk-warn:#9a6b00;--sk-warnbg:#fbf0d2;--sk-info:#2f6fbd;--sk-infobg:#e3edf9;--sk-vio:#5b4bc4;--sk-viobg:#ece9fb;--sk-ink:#14201a;--sk-l0:#ebe8df;--sk-l1:#f6c9d0;--sk-l2:#f7dd8a;--sk-l3:#bfe3c6;--sk-l4:#14201a}
body.dark #view-skills{--sk-green:#5fc088;--sk-soft:#1d2f24;--sk-line:#2e362f;--sk-mut:#9aa39c;--sk-bad:#f0906f;--sk-badbg:#3a231b;--sk-warn:#e3b94f;--sk-warnbg:#3a3117;--sk-info:#8db8ee;--sk-infobg:#1d2a3a;--sk-vio:#b3a8f5;--sk-viobg:#2a2650;--sk-ink:#eef1ec;--sk-l0:#2a312b;--sk-l1:#5a2a33;--sk-l2:#5a4a12;--sk-l3:#22523a;--sk-l4:#eef1ec}
#view-skills.sk-modern #skillsGrid,#view-skills.sk-modern .reference-toolbar{display:none}
#view-skills.sk-modern .heading-actions .button{border-radius:2px}
#view-skills.sk-modern .skill-summary{display:flex!important;flex-wrap:wrap;gap:0;margin-top:16px;border:1px solid var(--sk-line);background:var(--surface,#fff);border-radius:0;padding:0;grid-template-columns:none;box-shadow:none}
#view-skills.sk-modern .skill-summary>*{display:flex;gap:9px;align-items:baseline;padding:9px 16px;border:0;border-right:1px solid var(--sk-line);border-left:0;border-radius:0;background:transparent;box-shadow:none;min-height:0;text-align:left;font:inherit;color:inherit}
#view-skills.sk-modern .skill-summary>*:last-child{border-right:0}
#view-skills.sk-modern .skill-summary button{cursor:pointer}
#view-skills.sk-modern .skill-summary button:hover,#view-skills.sk-modern .skill-summary button.on{background:var(--sk-soft)}
#view-skills.sk-modern .skill-summary strong{font-family:inherit;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#view-skills.sk-modern .skill-summary span{font-size:12px;color:var(--sk-mut)}
#view-skills.sk-modern .skill-summary .warn strong{color:var(--sk-warn)}
#view-skills.sk-modern .skill-pilot-filters{display:flex!important;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px;border:0;background:transparent;box-shadow:none;padding:0}
#view-skills.sk-modern .skill-pilot-filters label{font-size:0!important;line-height:0!important;display:block;gap:0}
#view-skills.sk-modern .skill-pilot-filters label.wide{flex:1;min-width:200px;order:2}
#view-skills.sk-modern .skill-pilot-filters label:not(.wide){order:3}
#view-skills.sk-modern .skill-pilot-filters input,#view-skills.sk-modern .skill-pilot-filters select{font-size:12.5px!important;line-height:1.4!important;font-weight:600;border-radius:0;width:100%}
#view-skills.sk-modern .skill-pilot-filters #skillFiltersReset{order:4;border-radius:0}
#view-skills.sk-modern .skill-pilot-filters .segmented{order:1;border:1px solid var(--sk-line);background:var(--surface,#fff);border-radius:0;display:inline-flex;padding:0;gap:0}
#view-skills.sk-modern .skill-pilot-filters .segmented button{background:none;border:0;border-right:1px solid var(--sk-line);border-radius:0;padding:8px 13px;font-weight:700;font-size:12.5px;color:var(--sk-mut);box-shadow:none}
#view-skills.sk-modern .skill-pilot-filters .segmented button:last-child{border-right:0}
#view-skills.sk-modern .skill-pilot-filters .segmented button.active{background:var(--sk-ink);color:var(--surface,#fff)}
.sk-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;margin-top:12px;align-items:start}
.sk-layout.full{grid-template-columns:minmax(0,1fr)}
.sk-layout.full .sk-prev{display:none}
/* Effectifs par niveau */
.hc-bar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
.hc-bar label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}
.hc-bar select{min-height:40px;min-width:220px;padding:8px 10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:12.5px;font-weight:600}
.hc-grow{flex:1}
.hc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;border:1px solid var(--line);background:var(--surface)}
.hc-kpis>div{padding:12px 16px}
.hc-kpis>div+div{border-left:1px solid var(--line)}
.hc-kpis small,.hc-kpis strong,.hc-kpis span{display:block}
.hc-kpis small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hc-kpis strong{font:800 24px Manrope,sans-serif;line-height:1.25}
.hc-kpis span{color:var(--muted);font-size:11.5px}
.hc-table{width:100%;border-collapse:collapse}
.hc-table th,.hc-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}
.hc-table th{background:var(--surface-2);color:var(--muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.hc-table .r{text-align:right}
.hc-table td:first-child{white-space:normal;min-width:180px}.hc-table th:first-child,.hc-table td:first-child{padding-left:14px}.hc-table th:last-child,.hc-table td:last-child{padding-right:14px}.hc-table td:nth-child(8){width:110px}
.hc-table td b,.hc-table td small{display:block}
.hc-table td b{font-size:13.5px}
.hc-table td small{color:var(--muted);font-size:11.5px}
.hc-n{display:inline-block;min-width:28px;padding:3px 6px;border:0;border-radius:3px;background:none;color:var(--text);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;text-align:center;cursor:pointer}
.hc-n.nil{color:#b3b7c6;cursor:default}
.hc-n.strong{font-weight:800}
.hc-n.plain:hover{background:var(--surface-2)}
.hc-n.l1,.hc-dist .l1{background:#c9d6f3}
.hc-n.l2,.hc-dist .l2{background:#8fb0ea}
.hc-n.l3,.hc-dist .l3{background:#4f7fd6}
.hc-n.l4,.hc-dist .l4{background:#1f4fa8}
.hc-n.l1,.hc-n.l2{color:#141b33;font-weight:700}
.hc-n.l3,.hc-n.l4{color:#fff;font-weight:700}
.hc-n:not(.nil):hover{outline:2px solid #141b33;outline-offset:1px}
.hc-dist{display:flex;gap:2px;height:8px;min-width:6px}
.hc-dist .rest{background:#e9ebf1}
.hc-of{color:var(--muted)}
.hc-empty{padding:26px!important;text-align:center!important;color:var(--muted)}
.hc-note{margin:10px 2px 0;color:var(--muted);font-size:11.5px}
.hc-focus{margin-bottom:12px;padding:12px 16px;border:1px solid var(--line);border-left:3px solid #1f4fa8;background:var(--surface)}
.hc-focus header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.hc-focus ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 18px;margin:0;padding:0;list-style:none}
.hc-focus li b,.hc-focus li small{display:block}
.hc-focus li b{font-size:13px}
.hc-focus li small{color:var(--muted);font-size:11.5px}
@media(max-width:900px){.hc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hc-kpis>div:nth-child(3){border-left:0}.hc-kpis>div:nth-child(n+3){border-top:1px solid var(--line)}.hc-bar select{min-width:0;width:100%}.hc-bar label{flex:1 1 100%}}
@media(max-width:1080px){.sk-layout{grid-template-columns:minmax(0,1fr)}}
.sk-panel{border:1px solid var(--sk-line);background:var(--surface,#fff);min-width:0}
.sk-scroll{overflow-x:auto}
.sk-panel table{border-collapse:collapse;width:100%;font-size:13px}
.sk-panel th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sk-mut);padding:9px 12px;border-bottom:2px solid var(--sk-line);white-space:nowrap}
.sk-panel td{padding:10px 12px;border-bottom:1px solid var(--sk-line);vertical-align:middle}
.sk-panel tr[data-sk-id]{cursor:pointer}
.sk-panel tr[data-sk-id]:hover td,.sk-panel tr.sel td{background:var(--sk-soft)}
.sk-name{display:flex;gap:10px;align-items:center}
.sk-name small{display:block;color:var(--sk-mut);font-size:11.5px}
.sk-todo{color:var(--sk-warn);font-weight:700}
.sk-sym{width:30px;height:30px;background:var(--sk-infobg);color:var(--skill,var(--sk-info));display:grid;place-items:center;font-weight:800;flex:none}
.sk-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;white-space:nowrap}
.sk-pill.b{background:var(--sk-badbg);color:var(--sk-bad)}
.sk-pill.w{background:var(--sk-warnbg);color:var(--sk-warn)}
.sk-pill.g{background:var(--sk-line);color:var(--sk-mut)}
.sk-pill.ok{background:var(--sk-soft);color:var(--sk-green)}
.sk-pill.i{background:var(--sk-infobg);color:var(--sk-info)}
.sk-pill.v{background:var(--sk-viobg);color:var(--sk-vio)}
.sk-cov{display:flex;align-items:center;gap:8px;min-width:120px}
.sk-cov i{flex:1;height:6px;background:var(--sk-line);display:block}
.sk-cov i b{display:block;height:6px;background:var(--sk-green)}
.sk-cov em{font-style:normal;font-size:11.5px;font-weight:800;min-width:34px;text-align:right}
.sk-cov.none em{color:var(--sk-mut);font-weight:600;min-width:0}
.sk-dist{display:flex;height:8px;min-width:110px}
.sk-dist i,.sk-bars i{display:block}
.d0{background:var(--sk-l0)}
.d1{background:var(--sk-l1)}
.d2{background:var(--sk-l2)}
.d3{background:var(--sk-l3)}
.d4{background:var(--sk-l4)}
.sk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.sk-card{background:var(--surface,#fff);border:1px solid var(--sk-line);border-top:3px solid var(--sk-green);padding:14px;text-align:left;display:grid;gap:10px;border-radius:0;cursor:pointer;font:inherit;color:inherit;box-shadow:none}
.sk-card:hover{background:var(--sk-soft)}
.sk-card.sel{outline:2px solid var(--sk-ink);outline-offset:-1px}
.sk-card.todo{border-top-color:var(--sk-warn)}
.sk-h{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.sk-card b{font-size:15px}
.sk-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sk-nums b{display:block;font-size:18px;letter-spacing:-.02em}
.sk-nums small{font-size:11px;color:var(--sk-mut)}
.sk-prev{position:sticky;top:calc(var(--panel-sticky-top,74px) + 12px);max-height:calc(100vh - var(--panel-sticky-top,74px) - 80px);overflow-y:auto;overscroll-behavior:contain}
.sk-prev header{padding:14px 16px;border-bottom:1px solid var(--sk-line)}
.sk-prev h2{margin:6px 0 2px;font-size:19px}
.sk-prev .sk-p{padding:14px 16px;display:grid;gap:16px}
.sk-muted{color:var(--sk-mut);font-size:12px;display:block}
.sk-desc{margin:0;font-size:13px;color:var(--sk-mut)}
.sk-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--sk-mut);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}
.sk-l button{border:0;background:none;color:var(--sk-green);font-weight:800;font-size:11.5px;padding:0;cursor:pointer;text-transform:none;letter-spacing:0}
.sk-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--sk-line);border:1px solid var(--sk-line)}
.sk-kv div{background:var(--surface,#fff);padding:8px 11px}
.sk-kv span{display:block;font-size:11px;color:var(--sk-mut)}
.sk-kv b{font-size:16px}
.sk-todobox{border:1px solid var(--sk-warn);background:var(--sk-warnbg);padding:10px 12px;font-size:12.5px}
.sk-todobox b{display:block;margin-bottom:3px;color:var(--sk-warn)}
.sk-todobox div{margin-top:8px}
.sk-todobox .button{border-radius:2px}
.sk-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:end;height:92px;border-bottom:1px solid var(--sk-line)}
.sk-bars div{display:grid;gap:3px;align-content:end;height:100%;text-align:center;font-size:11px;color:var(--sk-mut)}
.sk-bars i{min-height:3px}
.sk-bars strong{color:var(--sk-ink);font-size:12px}
.sk-lvl{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;font-size:11px;color:var(--sk-mut);text-align:center;margin-top:4px}
.sk-list{border:1px solid var(--sk-line)}
.sk-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--sk-line);font-size:13px}
.sk-list>div:last-child{border:0}
.sk-doc-actions button{border:0;background:none;color:var(--sk-green);font-size:11px;font-weight:700;cursor:pointer;padding:0 4px}
.sk-av{width:24px;height:24px;border-radius:50%;background:#6c5ce7;color:#fff;font-size:9.5px;font-weight:800;display:grid;place-items:center}
.sk-none,.sk-empty{padding:14px;color:var(--sk-mut);font-size:12.5px;border:1px dashed var(--sk-line);text-align:center}
td.sk-empty{border:0}
.sk-tags{display:flex;gap:6px;flex-wrap:wrap}
.sk-tag{border:1px solid var(--sk-line);padding:3px 9px;font-size:12px;font-weight:700}
.sk-training{border:1px solid var(--sk-line);background:var(--surface,#fff);text-align:left;padding:8px 12px;border-radius:0;cursor:pointer;font:inherit;color:inherit;display:grid;gap:2px}
.sk-training:hover{background:var(--sk-soft)}
.sk-training small{color:var(--sk-mut);font-size:11.5px}
.sk-pa{display:flex;gap:8px;flex-wrap:wrap}
.sk-pa .button{border-radius:2px}
.sk-pa .pri{flex:1}
.sk-pa .sk-danger{color:var(--sk-bad)}
#view-skills.sk-modern .skill-pilot-filters label:not(.wide){flex:0 1 auto}
#view-skills.sk-modern .skill-pilot-filters select{width:auto;max-width:190px}

@media(max-width:1080px){.sk-prev{position:static;max-height:none;overflow:visible}}

/* === coaching.css === */
/* Mise en pratique : parcours d'accompagnement après la théorie */
#view-practice .pr-bar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:6px 0 14px}
#view-practice .pr-bar label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}
#view-practice .pr-bar select{min-height:40px;min-width:230px;padding:8px 10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:12.5px;font-weight:600}
.pr-grow{flex:1}
.pr-muted{color:var(--muted);font-size:12px}
.pr-ok{color:#1c7a56}
.pr-info{color:#1f4fa8}
.pr-warn{color:#9a5d0b}
.pr-bad{color:#b3384c}
.pr-nil{color:#b3b7c6;font-size:12px}
.pr-link{padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:11.5px;text-decoration:underline;cursor:pointer}
.pr-link:hover{color:var(--text)}
.pr-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px;border:1px solid var(--line);background:var(--surface)}
.pr-kpis>div{padding:11px 16px}
.pr-kpis>div+div{border-left:1px solid var(--line)}
.pr-kpis small,.pr-kpis strong,.pr-kpis span{display:block}
.pr-kpis small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pr-kpis strong{font:800 24px Manrope,sans-serif;line-height:1.25}
.pr-kpis strong.warn{color:#9a5d0b}
.pr-kpis strong.ok{color:#1c7a56}
.pr-kpis span{color:var(--muted);font-size:11.5px}
.pr-panel{margin-bottom:16px;padding:0;border-radius:0}
.pr-panel>header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid var(--line)}
.pr-panel>header h2{margin:0;font-size:14px}
.pr-scroll{overflow:auto}
.pr-table{width:100%;border-collapse:collapse}
.pr-table th,.pr-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.pr-table th{background:var(--surface-2);color:var(--muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.pr-table th i{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border:1px solid var(--line);font-style:normal;font-size:10.5px}
.pr-table td{font-size:13px}
.pr-table td b,.pr-table td small,.pr-table td .pr-link{display:block}
.pr-table td small{color:var(--muted);font-size:11.5px}
.pr-table td .pr-link{margin-top:3px}
.pr-table td:first-child b{font-size:13.5px}
.pr-table .pr-actions{white-space:nowrap}
.pr-table .pr-validate{min-height:32px;padding:6px 12px;border-radius:0;background:#1c7a56;border-color:#1c7a56;font-size:12.5px}
.pr-empty{padding:26px!important;text-align:center!important;color:var(--muted)}
.pr-week{display:grid;grid-template-columns:repeat(var(--days,5),minmax(0,1fr))}
.pr-week>div{padding:10px;min-width:0}
.pr-week>div+div{border-left:1px solid var(--line)}
.pr-week h3{margin:0 0 7px;color:var(--muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.pr-week h3.today{color:var(--text)}
.pr-slot{display:grid;gap:1px;margin-bottom:6px;padding:7px 9px;border:1px solid var(--line);border-left:3px solid #c9ccd8;background:var(--surface)}
.pr-slot.taken{border-color:#c9d6f3;border-left-color:#1f4fa8;background:#f3f6fd}
.pr-slot b{font-size:12.5px}
.pr-slot small{color:var(--muted);font-size:11.5px}
.pr-slot>span{font-size:11.5px;font-weight:700}
.pr-setup{max-width:760px;padding:20px 22px;border-radius:0}
.pr-setup h2{margin:0 0 8px;font-size:16px}
.pr-setup p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.5}
.pr-setup form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.pr-setup label,.pr-dialog label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}
.pr-setup input,.pr-dialog input:not([type=radio]),.pr-dialog select,.pr-dialog textarea{min-height:40px;padding:8px 10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:13px}
.pr-dialog{width:min(560px,calc(100vw - 24px));padding:0;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.pr-dialog::backdrop{background:rgba(20,27,51,.45)}
.pr-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.pr-dialog>header h2{margin:0;font-size:16px}
.pr-dialog>form,.pr-dialog>p,.pr-dialog>ul{margin:0;padding:14px 18px 0}
.pr-dialog>form>p{margin:0 0 12px}
.pr-dialog footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 18px}
.pr-dialog>form footer{margin:0 -18px;border-top:1px solid var(--line)}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.pr-grid .wide{grid-column:1/-1}
.pr-dialog fieldset{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line)}
.pr-dialog fieldset[hidden]{display:none}
.pr-dialog legend{padding:0 6px;font-size:12.5px;font-weight:800}
.pr-dialog fieldset label{display:flex;gap:8px;align-items:center;padding:4px 0;color:var(--text);font-size:13px;font-weight:500}
.pr-comment{margin-bottom:12px}
.pr-error{min-height:1em;margin:0 0 10px!important;color:#b3384c;font-size:12.5px;font-weight:700}
.pr-danger{color:#b3384c;border-color:#e6c3ca}
.pr-choices{list-style:none}
.pr-choices li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.pr-choices b,.pr-choices small{display:block}
.pr-choices small{color:var(--muted);font-size:11.5px}
@media(max-width:900px){.pr-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-kpis>div{border-left:0!important;border-top:1px solid var(--line)}.pr-week{grid-template-columns:1fr}.pr-week>div+div{border-left:0;border-top:1px solid var(--line)}#view-practice .pr-bar select{min-width:0;width:100%}#view-practice .pr-bar label{flex:1 1 100%}.pr-grid{grid-template-columns:1fr}}
.pr-links{padding:14px 18px 0}
.pr-links h3{margin:14px 0 2px;font-size:13px}
.pr-links .pr-choices{margin:0;padding:0}
.pr-report.warn{border-color:#e9d3a8;background:#fdf6e7;color:#7a4a08;font-weight:600}
.pr-report{margin:0 0 10px;padding:9px 12px;border:1px solid #bfe0d2;background:#eef8f3;color:#145a40;font-size:12.5px;font-weight:700}
.pr-dialog fieldset input[type=checkbox]{min-height:0;width:auto}
.pr-dialog fieldset label{align-items:flex-start}
.pr-choices li>input[type=checkbox]{flex:none;width:18px;height:18px;min-height:0;margin:0}
.pr-choices li>div{flex:1;min-width:0}
.pr-links h3 .pr-link{margin-left:8px;font-weight:500}
.pr-history>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 14px;cursor:pointer}
.pr-history>summary h2{margin:0;font-size:14px}
.pr-history[open]>summary{border-bottom:1px solid var(--line)}
.pr-plan-note{display:block;margin-top:3px;color:#1f4fa8;font-size:11.5px;font-weight:600}
.pr-profile{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.pr-profile article{padding:9px 0;border-bottom:1px solid var(--line)}
.pr-profile b,.pr-profile small{display:block}
.pr-profile small{color:var(--muted);font-size:12px}
.pr-profile ul{margin:5px 0 0;padding-left:18px;color:var(--muted);font-size:12px}
.pr-overview{display:flex;align-items:center;gap:18px;flex-wrap:wrap;width:100%;margin:10px 0 0;padding:11px 16px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.pr-overview b{font-size:13.5px}
.pr-overview span{color:var(--muted)}
.pr-overview strong{margin-right:4px;font-size:16px;color:var(--text)}
.pr-overview .warn strong{color:#9a5d0b}
.pr-overview .ok strong{color:#1c7a56}
.pr-overview em{margin-left:auto;font-style:normal;font-weight:700;text-decoration:underline}
.pr-audit{max-height:52vh;overflow:auto}
.pr-audit li{align-items:flex-start}
.pr-howto{margin:0 0 10px;padding-left:20px;font-size:13px;line-height:1.55}
.pr-howto li{margin-bottom:2px}
/* Fenêtre « Inviter par e-mail » */
.pr-dialog.pr-invite{width:min(900px,calc(100vw - 24px));border-radius:20px;background:var(--surface-2,var(--surface));box-shadow:0 30px 80px rgba(15,61,46,.25)}
.pr-invite-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 14px!important;border-bottom:0!important}
.pr-invite-head .eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dark,#0f3d2e)}
.pr-invite-head h2{margin:2px 0 4px!important;font-size:22px!important}
.pr-invite-head p{margin:0;color:var(--muted);font-size:13px}
.pr-invite-close{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font-size:18px;line-height:1;cursor:pointer}
.pr-invite-wait,.pr-invite-report{margin:0 24px 16px!important;padding-left:0;padding-right:0}
.pr-invite-report{padding:9px 12px!important;border-radius:10px}
.pr-invite-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 24px 16px;max-height:min(60vh,560px);overflow:auto}
.pr-invite-col{min-width:0;align-self:start;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.pr-invite-col>header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px}
.pr-invite-col>header b{font-size:14px}
.pr-invite-col>header b span{color:var(--muted);font-weight:600}
.pr-invite-col>header small{display:block;color:var(--muted);font-size:11.5px}
.pr-invite-col>header .pr-link{flex:none;color:var(--dark,#0f3d2e);font-size:12px;font-weight:700}
.pr-invite-row{display:grid;grid-template-columns:minmax(0,1fr) auto 32px 32px;gap:6px 10px;align-items:center;padding:8px 12px;border-top:1px solid var(--line)}
.pr-invite-row.off label{opacity:.65}
.pr-dialog .pr-invite-row label{display:grid;grid-template-columns:20px 34px minmax(0,1fr);gap:10px;align-items:center;min-width:0;color:var(--text);font-size:13.5px;font-weight:400;cursor:pointer}
.pr-dialog .pr-invite-row input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;padding:0;accent-color:#0f3d2e}
.pr-invite-av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e6eee9;color:#0f3d2e;font-size:12px;font-weight:800}
.pr-invite-who{min-width:0}
.pr-invite-who b,.pr-invite-who small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-invite-who b{font-size:13.5px}
.pr-invite-who small{color:var(--muted);font-size:11.5px}
.pr-invite-state{color:var(--muted);font-size:11.5px;white-space:nowrap}
.pr-invite-state.sent{color:#1c7a56;font-weight:700}
.pr-invite-state.none{color:#9a5d0b;font-weight:700}
.pr-invite-copy{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer}
.pr-invite-copy:hover,.pr-invite-copy:focus-visible{background:var(--surface-2,#eef1ee);color:var(--text)}
.pr-invite-copy.done{color:#1c7a56}
.pr-invite-empty{margin:0;padding:14px 12px;border-top:1px solid var(--line)}
.pr-dialog.pr-invite .pr-invite-foot{padding:14px 24px;border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 20px 20px}
.pr-invite-foot b{color:var(--text)}
@media(max-width:760px){.pr-invite-cols{grid-template-columns:1fr}.pr-invite-row{grid-template-columns:minmax(0,1fr) 32px 32px}.pr-invite-state{grid-column:1/-1;grid-row:2;padding-left:64px}}
/* Suivi des parcours : filtres, frise du parcours, une action par ligne */
.pr-follow{border-radius:16px;overflow:hidden}
.pr-follow>header{align-items:center;padding:14px 16px}
.pr-tabs{display:flex;gap:8px;flex-wrap:wrap}
.pr-tabs button{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.pr-tabs button b{padding:1px 7px;border-radius:99px;background:var(--surface-2,#eef1ee);font-size:11.5px}
.pr-tabs button[aria-pressed="true"]{border-color:var(--dark,#0f3d2e);background:var(--dark,#0f3d2e);color:#fff}
.pr-tabs button[aria-pressed="true"] b{background:rgba(255,255,255,.2);color:#fff}
.pr-follow-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pr-follow-tools input{width:230px;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:12.5px}
.pr-follow .pr-table th{padding:10px 12px;background:none;font-size:10.5px;letter-spacing:.07em}
.pr-follow .pr-table th.c{text-align:center}
.pr-follow .pr-table td{padding:12px}
.pr-follow .pr-table td:first-child{min-width:210px;padding-left:16px}.pr-follow .pr-table td:last-child{padding-right:16px}.pr-follow .pr-table th:first-child{padding-left:16px}
.pr-person{display:flex;gap:12px;align-items:center}
.pr-av{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e6eee9;color:#0f3d2e;font-size:12.5px;font-weight:800}
.pr-person b{font-size:14px}
.pr-track{display:grid;grid-template-columns:repeat(var(--steps,3),minmax(84px,1fr));min-width:calc(var(--steps,3)*84px)}
.pr-node{position:relative;padding:0 4px;text-align:center}
.pr-node+.pr-node::before{content:"";position:absolute;top:12px;left:calc(-50% + 15px);right:calc(50% + 15px);height:2px;background:#dfe4e1}
.pr-node.is-done+.pr-node.is-done::before{background:#1c7a56}
.pr-node i{display:grid;place-items:center;width:26px;height:26px;margin:0 auto;border:2px solid #cfd4d1;border-radius:50%;background:var(--surface);color:#9aa5a0;font-style:normal;font-size:12px;font-weight:800}
.pr-table td .pr-node b{margin-top:4px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}
.pr-table td .pr-node small{font-size:10.5px;white-space:nowrap}
.pr-node.is-done i{border-color:#1c7a56;background:#1c7a56;color:#fff}
.pr-table td .pr-node.is-done b{color:#1c7a56}
.pr-node.is-booked i{border-color:#1f4fa8;color:#1f4fa8}
.pr-table td .pr-node.is-booked b{color:#1f4fa8}
.pr-node.is-confirm i{border-color:#9a5d0b;background:#fdf3e2;color:#9a5d0b}
.pr-node.is-todo i{border-color:#9a5d0b;border-style:dashed;color:#9a5d0b}
.pr-table td .pr-node.is-confirm b,.pr-table td .pr-node.is-todo b{color:#9a5d0b}
.pr-chip{display:inline-block;padding:4px 10px;border-radius:99px;font-size:11.5px;font-weight:800;white-space:nowrap}
.pr-chip.ok{background:#e5f4ec;color:#1c7a56}
.pr-chip.warn{background:#fdf3e2;color:#9a5d0b}
.pr-chip.bad{background:#fbe9ec;color:#b3384c}
.pr-chip.info{background:#e8eefb;color:#1f4fa8}
.pr-table .pr-actions{text-align:right}
.pr-table .pr-actions>span{display:inline-flex;gap:6px;align-items:center}
.pr-table .pr-main{min-height:36px;padding:8px 14px;border-radius:10px;font-size:12.5px}
.pr-table .pr-main.pr-validate{border-radius:10px}
.pr-menu{position:relative}
.pr-menu summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:18px;line-height:1;list-style:none;cursor:pointer}
.pr-menu summary::-webkit-details-marker{display:none}
.pr-menu[open] summary,.pr-menu summary:hover{border-color:var(--dark,#0f3d2e);color:var(--text)}
.pr-menu>div{position:fixed;z-index:60;width:250px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 14px 34px rgba(15,61,46,.16);text-align:left}
.pr-menu>div button{display:block;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--text);font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}
.pr-menu>div button:hover{background:var(--surface-2,#eef1ee)}
.pr-menu>div button.danger{color:#b3384c}
.pr-menu>div hr{margin:4px 0;border:0;border-top:1px solid var(--line)}
@media(max-width:900px){.pr-follow-tools input{width:100%}}
/* Toutes les compétences : résumé, tableau par compétence, blocages. */
.pr-all-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-bottom:1px solid var(--line)}
.pr-all-kpis div{padding:14px 18px;border-right:1px solid var(--line)}
.pr-all-kpis div:last-child{border-right:0}
.pr-all-kpis b{display:block;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.pr-all-kpis span{color:var(--muted);font-size:12.5px}
.pr-all-kpis .warn b{color:#8a5a0a}
.pr-all-kpis .ok b{color:#1c7a56}
.pr-all>header{margin-top:6px}
.pr-all .pr-table th.n,.pr-all .pr-table td.n{text-align:right;font-variant-numeric:tabular-nums}
.pr-all .pr-table td small{display:block}
.pr-since{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:700px){.pr-all-kpis div{border-right:0;border-bottom:1px solid var(--line)}}

/* === registry-view.css === */
#view-registry{--rg-green:#0b6b3a;--rg-soft:#e9f3ec;--rg-line:#e3dfd4;--rg-mut:#69736c;--rg-bad:#b4472a;--rg-badbg:#fbeae4;--rg-warn:#9a6b00;--rg-warnbg:#fbf0d2;--rg-info:#2f6fbd;--rg-infobg:#e3edf9;--rg-vio:#5b4bc4;--rg-viobg:#ece9fb;--rg-ink:#14201a}
body.dark #view-registry{--rg-green:#5fc088;--rg-soft:#1d2f24;--rg-line:#2e362f;--rg-mut:#9aa39c;--rg-bad:#f0906f;--rg-badbg:#3a231b;--rg-warn:#e3b94f;--rg-warnbg:#3a3117;--rg-info:#8db8ee;--rg-infobg:#1d2a3a;--rg-vio:#b3a8f5;--rg-viobg:#2a2650;--rg-ink:#eef1ec}
#view-registry.rg-modern .registry-table-wrap,#view-registry.rg-modern .registry-result-head span{display:none}
#view-registry.rg-modern .registry-result-head{margin:12px 0 8px;font-size:12.5px}
#view-registry.rg-modern .page-heading .button{border-radius:2px}
#view-registry.rg-modern .registry-summary{display:flex!important;flex-wrap:wrap;gap:0;margin-top:16px;border:1px solid var(--rg-line);background:var(--surface,#fff);border-radius:0;padding:0;grid-template-columns:none;box-shadow:none}
#view-registry.rg-modern .registry-summary>*{display:flex;gap:9px;align-items:baseline;padding:9px 16px;border:0;border-right:1px solid var(--rg-line);border-left:0;border-radius:0;background:transparent;box-shadow:none;min-height:0;text-align:left;font:inherit;color:inherit}
#view-registry.rg-modern .registry-summary>*:last-child{border-right:0}
#view-registry.rg-modern .registry-summary button{cursor:pointer}
#view-registry.rg-modern .registry-summary button:hover,#view-registry.rg-modern .registry-summary button.on{background:var(--rg-soft)}
#view-registry.rg-modern .registry-summary strong{font-family:inherit;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#view-registry.rg-modern .registry-summary small{font-size:12px;color:var(--rg-mut)}
#view-registry.rg-modern .registry-summary i{width:9px;height:9px;display:inline-block;align-self:center}
#view-registry.rg-modern .registry-summary .warn strong{color:var(--rg-warn)}
#view-registry.rg-modern .registry-filters{display:flex!important;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px;border:0;background:transparent;box-shadow:none;padding:0}
#view-registry.rg-modern .registry-filters label{font-size:0!important;line-height:0!important;display:block;gap:0}
#view-registry.rg-modern .registry-filters label.wide{flex:1;min-width:320px;order:2}
#view-registry.rg-modern .registry-filters label:not(.wide){order:3}
#view-registry.rg-modern .registry-filters input,#view-registry.rg-modern .registry-filters select{font-size:12.5px!important;line-height:1.4!important;font-weight:600;border-radius:0;width:auto;max-width:190px}
#view-registry.rg-modern .registry-filters label.wide input{width:100%;max-width:none}
#view-registry.rg-modern .registry-filters #registryReset{order:4;border-radius:0}
#view-registry.rg-modern .registry-filters .segmented{order:1;border:1px solid var(--rg-line);background:var(--surface,#fff);border-radius:0;display:inline-flex;padding:0;gap:0}
#view-registry.rg-modern .registry-filters .segmented button{background:none;border:0;border-right:1px solid var(--rg-line);border-radius:0;padding:8px 13px;font-weight:700;font-size:12.5px;color:var(--rg-mut);box-shadow:none}
#view-registry.rg-modern .registry-filters .segmented button:last-child{border-right:0}
#view-registry.rg-modern .registry-filters .segmented button.active{background:var(--rg-ink);color:var(--surface,#fff)}
.rg-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
@media(max-width:1080px){.rg-layout{grid-template-columns:minmax(0,1fr)}}
.rg-panel{border:1px solid var(--rg-line);background:var(--surface,#fff);min-width:0}
.rg-scroll{overflow-x:auto}
.rg-day h4{margin:0;padding:9px 14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rg-mut);background:color-mix(in srgb,var(--rg-line) 35%,transparent);border-top:1px solid var(--rg-line);display:flex;justify-content:space-between}
.rg-day:first-child h4{border-top:0}
.rg-ev{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;width:100%;text-align:left;padding:10px 14px;border:0;border-top:1px solid var(--rg-line);background:var(--surface,#fff);border-radius:0;cursor:pointer;font:inherit;color:inherit;box-shadow:none}
.rg-ev:hover{background:var(--rg-soft)}
.rg-ev.sel{outline:2px solid var(--rg-ink);outline-offset:-2px}
.rg-ev b{font-size:13.5px}
.rg-ev small{display:block;color:var(--rg-mut);font-size:12px}
.rg-who{font-size:12px;color:var(--rg-mut);text-align:right}
@media(max-width:700px){.rg-ev{grid-template-columns:auto minmax(0,1fr) auto}.rg-who{display:none}}
.rg-ty{width:30px;height:30px;display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.t-training{background:var(--rg-infobg);color:var(--rg-info)}
.t-validation{background:var(--rg-soft);color:var(--rg-green)}
.t-certificate{background:var(--rg-viobg);color:var(--rg-vio)}
.t-plan{background:var(--rg-warnbg);color:var(--rg-warn)}
.rg-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;white-space:nowrap}
.rg-pill.b{background:var(--rg-badbg);color:var(--rg-bad)}
.rg-pill.w{background:var(--rg-warnbg);color:var(--rg-warn)}
.rg-pill.g{background:var(--rg-line);color:var(--rg-mut)}
.rg-pill.ok{background:var(--rg-soft);color:var(--rg-green)}
.rg-pill.i{background:var(--rg-infobg);color:var(--rg-info)}
.rg-pill.v{background:var(--rg-viobg);color:var(--rg-vio)}
.rg-panel table{border-collapse:collapse;width:100%;font-size:13px}
.rg-panel th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--rg-mut);padding:9px 12px;border-bottom:2px solid var(--rg-line);white-space:nowrap}
.rg-panel td{padding:10px 12px;border-bottom:1px solid var(--rg-line);vertical-align:middle}
.rg-panel tr[data-rg-id]{cursor:pointer}
.rg-panel tr[data-rg-id]:hover td,.rg-panel tr.sel td{background:var(--rg-soft)}
.rg-chain{padding:14px;border-top:1px solid var(--rg-line)}
.rg-chain:first-child{border-top:0}
.rg-hd{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.rg-muted{color:var(--rg-mut);font-size:12px}
.rg-av{width:26px;height:26px;border-radius:50%;background:#6c5ce7;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;flex:none}
.rg-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
@media(max-width:700px){.rg-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rg-st{border:1px solid var(--rg-line);padding:8px 10px;text-align:left;background:var(--surface,#fff);display:grid;gap:2px;min-height:62px;border-radius:0;cursor:pointer;font:inherit;color:inherit;box-shadow:none}
.rg-st:hover{background:var(--rg-soft)}
.rg-st.sel{outline:2px solid var(--rg-ink);outline-offset:-1px}
.rg-st span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--rg-mut)}
.rg-st b{font-size:12.5px}
.rg-st small{font-size:11.5px;color:var(--rg-mut)}
.rg-st.ok{border-top:3px solid var(--rg-green)}
.rg-st.i{border-top:3px solid var(--rg-info)}
.rg-st.warn{border-top:3px solid var(--rg-warn);background:var(--rg-warnbg)}
.rg-st.bad{border-top:3px solid var(--rg-bad);background:var(--rg-badbg)}
.rg-st.miss{border-style:dashed;color:var(--rg-mut);cursor:default}
.rg-prev{position:sticky;top:calc(var(--panel-sticky-top,74px) + 12px);max-height:calc(100vh - var(--panel-sticky-top,74px) - 80px);overflow-y:auto;overscroll-behavior:contain}
.rg-prev header{padding:14px 16px;border-bottom:1px solid var(--rg-line)}
.rg-prev h2{margin:8px 0 2px;font-size:18px}
.rg-prev .rg-p{padding:14px 16px;display:grid;gap:16px}
.rg-kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rg-line);border:1px solid var(--rg-line)}
.rg-kv div{background:var(--surface,#fff);padding:8px 11px}
.rg-kv span{display:block;font-size:11px;color:var(--rg-mut)}
.rg-kv b{font-size:13px}
.rg-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--rg-mut);margin-bottom:6px}
.rg-step{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;padding-bottom:12px;position:relative}
.rg-step::before{content:"";position:absolute;left:10px;top:20px;bottom:0;width:2px;background:var(--rg-line)}
.rg-step:last-child::before{display:none}
.rg-step .n{width:22px;height:22px;border-radius:50%;border:2px solid var(--rg-line);display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--surface,#fff);z-index:1}
.rg-step.ok .n{background:var(--rg-green);border-color:var(--rg-green);color:#fff}
.rg-step.warn .n{border-color:var(--rg-warn);color:var(--rg-warn)}
.rg-step.bad .n{border-color:var(--rg-bad);color:var(--rg-bad)}
.rg-step.miss .n{border-style:dashed;color:var(--rg-mut)}
.rg-step.cur b{text-decoration:underline;text-underline-offset:3px}
.rg-step b{font-size:13px}
.rg-step small{display:block;color:var(--rg-mut);font-size:11.5px}
.rg-list{border:1px solid var(--rg-line)}
.rg-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--rg-line);font-size:13px}
.rg-list>div:last-child{border:0}
.rg-alert{border:1px solid var(--rg-warn);background:var(--rg-warnbg);padding:10px 12px;font-size:12.5px}
.rg-alert b{display:block;color:var(--rg-warn);margin-bottom:3px}
.rg-alert.bad{border-color:var(--rg-bad);background:var(--rg-badbg)}
.rg-alert.bad b{color:var(--rg-bad)}
.rg-alert div{margin-top:8px}
.rg-alert .button{border-radius:2px}
.rg-pa{display:flex;gap:8px;flex-wrap:wrap}
.rg-pa .button{border-radius:2px}
.rg-pa .pri{flex:1}
.rg-danger{color:var(--rg-bad)}
.rg-danger.unavailable{opacity:.55}
.rg-none,.rg-empty{padding:14px;color:var(--rg-mut);font-size:12.5px;border:1px dashed var(--rg-line);text-align:center}
td.rg-empty{border:0}

@media(max-width:1080px){.rg-prev{position:static;max-height:none;overflow:visible}}

/* === grid-view.css === */
#skillCriteriaDialog,#evaluationDialog{--gv-green:#0b6b3a;--gv-soft:#e9f3ec;--gv-line:#e3dfd4;--gv-mut:#69736c;--gv-bad:#b4472a;--gv-badbg:#fbeae4;--gv-warn:#9a6b00;--gv-warnbg:#fbf0d2;--gv-ink:#14201a}
body.dark #skillCriteriaDialog,body.dark #evaluationDialog{--gv-green:#5fc088;--gv-soft:#1d2f24;--gv-line:#2e362f;--gv-mut:#9aa39c;--gv-bad:#f0906f;--gv-badbg:#3a231b;--gv-warn:#e3b94f;--gv-warnbg:#3a3117;--gv-ink:#eef1ec}
#skillCriteriaDialog{width:min(760px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;overflow:auto}
#skillCriteriaForm{display:grid;gap:12px;padding:0 0 14px}
#skillCriteriaForm .dialog-head{padding:18px 20px 0}
.sc-levels{display:flex;flex-wrap:wrap;gap:0;margin:0 20px;border:1px solid var(--gv-line)}
.sc-levels button{background:none;border:0;border-right:1px solid var(--gv-line);padding:8px 12px;font-weight:700;font-size:12.5px;color:var(--gv-mut);cursor:pointer;border-radius:0}
.sc-levels button:last-child{border-right:0}
.sc-levels button.on{background:var(--gv-ink);color:var(--surface,#fff)}
.sc-levels small{font-weight:600;opacity:.8}
.sc-levels em{font-style:normal;font-size:11px;font-weight:800;background:var(--gv-line);color:var(--gv-mut);padding:0 6px;margin-left:4px}
.sc-levels button.on em{background:rgba(255,255,255,.25);color:inherit}
#skillCriteriaList{display:grid;gap:8px;margin:0 20px}
.sc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--gv-line);padding:10px 12px}
.sc-req{display:flex;gap:4px;align-items:center;color:var(--gv-warn);font-weight:800;cursor:pointer;margin-top:6px}
.sc-req input{width:auto}
.sc-fields{display:grid;gap:6px;min-width:0}
.sc-fields input{width:100%;box-sizing:border-box;border:1px solid var(--gv-line);border-radius:0;padding:7px 9px;font:inherit}
.sc-fields input+input{font-size:12px}
.sc-del{border:1px solid var(--gv-line);background:none;width:28px;height:28px;cursor:pointer;color:var(--gv-bad);border-radius:0}
.sc-empty{border:1px dashed var(--gv-line);padding:16px;text-align:center;color:var(--gv-mut);font-size:13px}
#skillCriteriaAdd{margin:0 20px;justify-self:start;border-radius:2px}
.sc-rules{margin:0 20px;border:1px solid var(--gv-line);padding:12px 14px;display:grid;gap:10px;background:var(--gv-soft)}
.sc-rules h3{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gv-mut)}
.sc-rules label{display:flex;gap:8px;align-items:center;font-weight:600;font-size:13px;flex-wrap:wrap}
.sc-rules input[type=number]{width:74px;border:1px solid var(--gv-line);border-radius:0;padding:5px 8px;font:inherit}
.sc-rules input[type=checkbox]{width:auto}
#skillCriteriaForm .dialog-actions{padding:0 20px}
#skillCriteriaForm .dialog-actions .button{border-radius:2px}
#evaluationGrid{border:1px solid var(--gv-line);background:var(--surface,#fff);display:grid;gap:0}
.eg-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--gv-line);background:var(--gv-soft)}
.eg-head small{display:block;color:var(--gv-mut);font-size:12px;font-weight:500}
.eg-pct{font-size:22px;font-weight:800;letter-spacing:-.02em}
.eg-pct.ok{color:var(--gv-green)}.eg-pct.ko{color:var(--gv-warn)}
.eg-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 14px;border-bottom:1px solid var(--gv-line);align-items:start}
.eg-main{display:grid;gap:5px;min-width:0}
.eg-main small{color:var(--gv-mut);font-size:12px}
.eg-star{color:var(--gv-warn)}
.eg-ev{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.eg-ev>span{border:1px solid var(--gv-line);padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-flex;gap:6px;align-items:center}
.eg-ev>span button{border:0;background:none;cursor:pointer;color:var(--gv-bad);padding:0}
.eg-add{border:1px dashed var(--gv-line);padding:2px 8px;font-size:11.5px;font-weight:700;color:var(--gv-green);cursor:pointer}
.eg-link{border:1px dashed var(--gv-line);border-radius:0;padding:3px 8px;font-size:11.5px;min-width:190px;font:inherit;font-size:11.5px}
.eg-comment{border:1px solid var(--gv-line);border-radius:0;padding:6px 8px;font:inherit;font-size:12px;width:100%;box-sizing:border-box}
.eg-tri{display:inline-flex;border:1px solid var(--gv-line);flex-wrap:nowrap}
.eg-tri button{background:none;border:0;border-right:1px solid var(--gv-line);padding:6px 9px;font-size:12px;font-weight:700;color:var(--gv-mut);cursor:pointer;border-radius:0;white-space:nowrap}
.eg-tri button:last-child{border-right:0}
.eg-tri button.acquired.on{background:var(--gv-soft);color:var(--gv-green)}
.eg-tri button.review.on{background:var(--gv-badbg);color:var(--gv-bad)}
.eg-tri button.unobserved.on{background:var(--gv-line);color:var(--gv-ink)}
.eg-result{padding:10px 14px;display:grid;gap:4px;background:var(--gv-soft)}
.eg-rule{display:grid;grid-template-columns:18px 1fr;gap:6px;font-size:13px}
.eg-rule i{font-style:normal;font-weight:800}.eg-rule.ok i{color:var(--gv-green)}.eg-rule.ko i{color:var(--gv-bad)}
.eg-verdict{margin:6px 0 0;font-weight:800;font-size:13px}.eg-verdict.ok{color:var(--gv-green)}.eg-verdict.ko{color:var(--gv-warn)}
#evaluationDraft{border-radius:2px}
@media(max-width:640px){.eg-row{grid-template-columns:minmax(0,1fr)}.sc-row{grid-template-columns:auto minmax(0,1fr)}.sc-del{grid-column:2;justify-self:end}}
.sc-req span{opacity:.35}
.sc-req:has(input:checked) span{opacity:1}
#evaluationGrid input.eg-link,#evaluationGrid input.eg-comment{padding:5px 8px!important;border-radius:0!important;min-height:0!important;height:auto!important;font-size:12px!important;line-height:1.3!important;box-shadow:none!important}
#evaluationGrid input.eg-link{width:230px!important;max-width:100%}
#evaluationGrid input.eg-comment{width:100%!important}
#evaluationGrid .eg-add{display:inline-flex;align-items:center;min-height:0;line-height:1.3}
#auditDialog{width:min(560px,calc(100% - 28px))}
.audit-scope{display:flex;flex-wrap:wrap;gap:0;border:1px solid #e3dfd4}
.audit-scope label{margin:0;padding:8px 14px;border-right:1px solid #e3dfd4;font-weight:700;font-size:13px;display:flex;gap:6px;align-items:center;cursor:pointer}
.audit-scope label:last-child{border-right:0}
.audit-scope input{width:auto}
.audit-parts{border:1px solid #e3dfd4;padding:10px 14px;display:grid;gap:6px}
.audit-parts legend{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#69736c;padding:0 6px}
.audit-parts label{display:flex;gap:8px;align-items:center;font-weight:600;font-size:13px}
.audit-parts input{width:auto}
.audit-note{margin:0;font-size:12px;color:#69736c}
#auditDialog .dialog-actions .button{border-radius:2px}

#quizEditorDialog,#quizDialog{--qz-line:#e3dfd4;--qz-mut:#69736c;--qz-green:#0b6b3a;--qz-soft:#e9f3ec;--qz-bad:#b4472a;--qz-badbg:#fbeae4;--qz-ink:#14201a}
body.dark #quizEditorDialog,body.dark #quizDialog{--qz-line:#2e362f;--qz-mut:#9aa39c;--qz-green:#5fc088;--qz-soft:#1d2f24;--qz-bad:#f0906f;--qz-badbg:#3a231b;--qz-ink:#eef1ec}
#quizEditorDialog,#quizDialog{width:min(720px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;overflow:auto}
#quizEditorForm,#quizForm{display:grid;gap:12px;padding:0 0 14px}
#quizEditorForm .dialog-head,#quizForm .dialog-head{padding:18px 20px 0}
.qe-settings{margin:0 20px;border:1px solid var(--qz-line);background:var(--qz-soft);padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.qe-settings label{display:flex;gap:8px;align-items:center;font-weight:600;font-size:13px}
.qe-settings input[type=number]{width:70px;border:1px solid var(--qz-line);border-radius:0;padding:5px 8px;font:inherit}
.qe-settings input[type=checkbox]{width:auto}
#quizEditorList{display:grid;gap:10px;margin:0 20px}
.qe-card{border:1px solid var(--qz-line);padding:12px 14px;display:grid;gap:8px}
.qe-head{display:flex;justify-content:space-between;align-items:center}
.qe-del{border:1px solid var(--qz-line);background:none;width:28px;height:28px;color:var(--qz-bad);cursor:pointer;border-radius:0}
.qe-card input[type=text],.qe-card input:not([type]),.qe-card input[data-qe-field],.qe-card input[data-qe-choice]{width:100%;box-sizing:border-box;border:1px solid var(--qz-line);border-radius:0;padding:7px 9px;font:inherit}
.qe-text{font-weight:700}
.qe-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
.qe-correct{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--qz-mut);font-weight:800}
.qe-correct input{width:auto}
.qe-correct:has(input:checked){color:var(--qz-green)}
.qe-tools .button{border-radius:2px}
#quizEditorAdd{margin:0 20px;justify-self:start;border-radius:2px}
#quizEditorForm .dialog-actions,#quizForm .dialog-actions{padding:0 20px}
#quizBody{display:grid;gap:12px;margin:0 20px}
.qz-q{border:1px solid var(--qz-line);padding:12px 14px;display:grid;gap:8px;margin:0}
.qz-q legend{font-weight:800;padding:0 6px}
.qz-choice{display:flex;gap:10px;align-items:center;border:1px solid var(--qz-line);padding:9px 12px;cursor:pointer;font-weight:600}
.qz-choice input{width:auto}
.qz-choice.sel{outline:2px solid var(--qz-ink);outline-offset:-1px}
.qz-choice.good{background:var(--qz-soft);border-color:var(--qz-green);outline:0}
.qz-choice.bad{background:var(--qz-badbg);border-color:var(--qz-bad);outline:0}
.qz-exp{margin:0;font-size:12.5px;color:var(--qz-mut);border-left:2px solid var(--qz-green);padding-left:10px}
.qz-result{margin:0 20px;border:1px solid var(--qz-line);padding:12px 14px;display:grid;gap:4px;background:var(--qz-soft)}
.qz-result b.ok{color:var(--qz-green)}.qz-result b.ko{color:var(--qz-bad)}
#quizForm .dialog-actions .button,#quizEditorForm .dialog-actions .button{border-radius:2px}
.sk-quiz-me{border:1px solid var(--sk-line);padding:10px 12px;margin-top:8px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.sk-quiz-me .button,.sk-read{border-radius:2px;margin-top:6px}
.sk-ok{color:var(--sk-green)!important}
.sk-reset{border:1px solid var(--sk-line);background:none;cursor:pointer;width:26px;height:26px;color:var(--sk-mut);border-radius:0}
.notify-objective{display:flex;gap:10px;align-items:flex-start;margin:4px 24px 10px;padding:10px 12px;border:1px solid #e3dfd4;background:#e9f3ec;cursor:pointer}
.notify-objective[hidden]{display:none}
.notify-objective input{width:auto;margin-top:3px;accent-color:#0b6b3a}
.notify-objective strong{display:block;font-size:13px}
.notify-objective small{display:block;color:#69736c;font-size:12px;font-weight:500}
body.dark .notify-objective{background:#1d2f24;border-color:#2e362f}

.form-grid label.print-check{display:flex;flex-direction:row;align-items:center;gap:10px;font-weight:600}.print-check input{width:auto;accent-color:#0b6b3a}

.consistency-fix{margin:2px 0 8px auto;display:block;border:1px solid var(--line,#e3dfd4);background:#e9f3ec;color:#0b6b3a;font:inherit;font-weight:800;font-size:12px;padding:6px 12px;cursor:pointer}.consistency-fixall{display:flex;justify-content:flex-end;margin:10px 0}.consistency-fixall .consistency-fix{margin:0;background:#0b6b3a;color:#fff}

.reset-evaluation{color:#b4472a!important;border-color:rgba(180,71,42,.4)!important}.reset-evaluation:hover{background:#fbeae4!important}
.reset-opts{display:grid;gap:8px}.reset-opt{display:grid!important;grid-template-columns:22px 1fr;gap:10px;border:1px solid var(--line,#e3dfd4);padding:10px 12px;cursor:pointer}.reset-opt:has(input:checked){border-color:#14201a;outline:1px solid #14201a}.reset-opt input{width:auto;margin-top:3px;accent-color:#0b6b3a}.reset-opt b{font-size:13.5px}.reset-opt small{display:block;color:#69736c;font-size:12px;font-weight:500}
.reset-impact{border:1px solid var(--line,#e3dfd4);background:rgba(227,223,212,.25);padding:11px 13px;display:grid;gap:7px}.reset-impact h4{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#69736c}
.reset-imp{display:grid;grid-template-columns:20px 1fr;gap:8px;font-size:13px}.reset-imp i{font-style:normal;width:18px;height:18px;display:grid;place-items:center;font-weight:800;font-size:11px}.reset-imp .a{background:#fbf0d2;color:#9a6b00}.reset-imp .k{background:#e9f3ec;color:#0b6b3a}
.reset-confirm{background:#b4472a!important;border-color:#b4472a!important}.reset-confirm:disabled{opacity:.45;cursor:not-allowed}
.reset-evaluation-row{display:grid;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line,#e3dfd4)}.reset-evaluation-row .reset-evaluation{width:100%;justify-content:center;text-align:center}.reset-evaluation-row small{color:#69736c;font-size:12px}
#workspaceUsageStat.usage-warning{color:#9a6b00;font-weight:700}#workspaceUsageStat.usage-critical{color:#b4472a;font-weight:800}
.auto-backups{margin-top:12px;padding-top:12px;border-top:1px solid var(--line,#e3dfd4);display:grid;gap:10px}.auto-backups-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.auto-backups-head small{display:block;color:#69736c;font-size:12px}.auto-backup-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line,#e3dfd4);padding:8px 12px}.auto-backup-row small{display:block;color:#69736c;font-size:12px}

.print-skills{border:1px solid #d9d4c6;border-radius:10px;padding:10px 12px;margin:0;min-width:0}.print-skills legend{font-weight:800;font-size:13px;padding:0 6px}.print-skills-tools{display:flex;gap:8px;margin-bottom:8px}.print-skills-tools .button{padding:6px 10px;font-size:12px}.print-skills-list{max-height:210px;overflow:auto;display:grid;gap:10px}.print-skills-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 14px}.print-skills-category{grid-column:1/-1;text-align:left;background:none;border:0;padding:0;font:inherit;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0b6b3a;cursor:pointer}.print-skills-category:hover{text-decoration:underline}.form-grid .print-skills-group label{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600;font-size:13px;min-width:0}.print-skills-group label input{width:auto;flex:none;accent-color:#0b6b3a}.print-skills-group label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.form-grid .print-skills-group label{min-height:0;margin:0;padding:2px 0}.print-skills-group label input{height:auto;min-height:0;margin:0;padding:0}
.print-scope-note{display:block;margin-top:6px;font-weight:600;font-size:12px;color:#5f6a63}.print-scope-note:empty{display:none}

/* === certificates-view.css === */
#view-certificates{--cv-ink:#14201a;--cv-surf:#fff;--cv-mut:#69736c;--cv-line:#e3dfd4;--cv-green:#0b6b3a;--cv-gsoft:#e9f3ec;--cv-warn:#9a6b00;--cv-warnbg:#fbf0d2;--cv-info:#2f6fbd;--cv-infobg:#e3edf9;--cv-vio:#5b4bc4;--cv-viobg:#ece9fb}
body.dark #view-certificates{--cv-ink:#eef1ec;--cv-surf:#1c221e;--cv-mut:#9aa39c;--cv-line:#2e362f;--cv-green:#5fc088;--cv-gsoft:#1d2f24;--cv-warn:#e3b94f;--cv-warnbg:#3a3117;--cv-info:#8db8ee;--cv-infobg:#1d2a3a;--cv-vio:#b3a8f5;--cv-viobg:#2a2650}
#view-certificates .cv-btn{border:1px solid var(--cv-line);background:var(--cv-surf);color:var(--cv-ink);padding:8px 13px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;border-radius:0}
#view-certificates .cv-btn:hover{background:var(--cv-gsoft)}
#view-certificates .cv-btn.cv-pri{background:var(--cv-ink);color:var(--cv-surf);border-color:var(--cv-ink)}
#view-certificates .cv-btn.sm{padding:5px 10px;font-size:12px}
#view-certificates .cv-btn:disabled{opacity:.55;cursor:default}
#view-certificates .cv-auto{display:flex;gap:12px;align-items:center;border:1px solid var(--cv-line);background:var(--cv-surf);padding:9px 14px;margin-top:14px;flex-wrap:wrap}
#view-certificates .cv-auto b{font-size:13px}#view-certificates .cv-auto span{color:var(--cv-mut);font-size:12.5px}
#view-certificates .cv-auto select{border:1px solid var(--cv-line);background:var(--cv-surf);color:var(--cv-ink);padding:5px 8px;font:inherit;font-weight:700;font-size:12.5px;width:auto}
#view-certificates .cv-switch{position:relative;width:38px;height:22px;background:var(--cv-green);border-radius:22px;border:0;flex:none;cursor:pointer;padding:0}
#view-certificates .cv-switch::after{content:"";position:absolute;right:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:right .15s}
#view-certificates .cv-switch[aria-pressed=false]{background:var(--cv-line)}#view-certificates .cv-switch[aria-pressed=false]::after{right:19px}
#view-certificates .cv-switch:disabled{opacity:.6;cursor:default}
#view-certificates .cv-chips{display:flex;flex-wrap:wrap;border:1px solid var(--cv-line);background:var(--cv-surf);margin-top:14px}
#view-certificates .cv-chip{padding:9px 16px;border:0;border-right:1px solid var(--cv-line);display:flex;gap:9px;align-items:baseline;background:none;text-align:left;color:var(--cv-ink);font:inherit;cursor:pointer;border-radius:0}
#view-certificates .cv-chip:last-child{border-right:0}#view-certificates .cv-chip b{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}#view-certificates .cv-chip span{font-size:12px;color:var(--cv-mut)}
#view-certificates .cv-chip.on{background:var(--cv-gsoft)}#view-certificates .cv-chip.warn b{color:var(--cv-warn)}
#view-certificates .cv-tool{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
#view-certificates .cv-tool select{border:1px solid var(--cv-line);background:var(--cv-surf);color:var(--cv-ink);padding:8px 10px;font:inherit;font-weight:600;font-size:12.5px;width:auto}
#view-certificates .cv-search{flex:1;min-width:200px;display:flex;align-items:center;border:1px solid var(--cv-line);background:var(--cv-surf);padding:0 12px;gap:8px}
#view-certificates .cv-search input{border:0;background:none;outline:0;padding:9px 0;width:100%;color:var(--cv-ink);box-shadow:none}
#view-certificates .cv-bulk{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--cv-ink);color:var(--cv-surf);padding:9px 14px;margin-top:12px}
#view-certificates .cv-bulk[hidden]{display:none}#view-certificates .cv-bulk b{margin-right:auto}
#view-certificates .cv-bulk .cv-btn{background:transparent;color:var(--cv-surf);border-color:color-mix(in srgb,var(--cv-surf) 45%,transparent)}
#view-certificates .cv-bulk .cv-btn.hi{background:var(--cv-surf);color:var(--cv-ink)}
#view-certificates .cv-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:14px;margin-top:12px;align-items:start}
@media(max-width:1700px){#view-certificates .cv-layout{grid-template-columns:minmax(0,1fr)}#view-certificates .cv-prev{position:static}}#view-certificates .cv-who b,#view-certificates .cv-table td{white-space:nowrap}
#view-certificates .cv-panel{border:1px solid var(--cv-line);background:var(--cv-surf);min-width:0;color:var(--cv-ink)}
#view-certificates .cv-scroll{overflow-x:auto}
#view-certificates .cv-table{border-collapse:collapse;width:100%;font-size:13px}
#view-certificates .cv-table th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--cv-mut);padding:9px 12px;border-bottom:2px solid var(--cv-line);white-space:nowrap}
#view-certificates .cv-table td{padding:9px 12px;border-bottom:1px solid var(--cv-line);vertical-align:middle}
#view-certificates .cv-table tr[data-cv-id]{cursor:pointer}#view-certificates .cv-table tr[data-cv-id]:hover td,#view-certificates .cv-table tr.sel td{background:var(--cv-gsoft)}
#view-certificates .cv-cb{width:34px;padding-right:0}
#view-certificates input[type=checkbox]{width:16px;height:16px;accent-color:var(--cv-green)}
#view-certificates .cv-who{display:flex;gap:9px;align-items:center}#view-certificates .cv-who small{display:block;color:var(--cv-mut);font-size:11.5px}
#view-certificates .cv-pill{display:inline-block;font-size:11px;font-weight:800;padding:2px 8px;white-space:nowrap}
#view-certificates .cv-pill.w{background:var(--cv-warnbg);color:var(--cv-warn)}#view-certificates .cv-pill.i{background:var(--cv-infobg);color:var(--cv-info)}#view-certificates .cv-pill.v{background:var(--cv-viobg);color:var(--cv-vio)}#view-certificates .cv-pill.ok{background:var(--cv-gsoft);color:var(--cv-green)}
#view-certificates .cv-sub{display:block;color:var(--cv-mut);font-size:11.5px}
#view-certificates .cv-rowact{display:flex;gap:6px;justify-content:flex-end}
#view-certificates .cv-prev{position:sticky;top:calc(var(--panel-sticky-top,74px) + 12px);max-height:calc(100vh - var(--panel-sticky-top,74px) - 80px);overflow-y:auto;overscroll-behavior:contain}
#view-certificates .cv-prev header{padding:14px 16px;border-bottom:1px solid var(--cv-line)}#view-certificates .cv-prev h2{margin:8px 0 2px;font-size:18px}#view-certificates .cv-prev header small{color:var(--cv-mut)}
#view-certificates .cv-pbody{padding:14px 16px;display:grid;gap:16px}
#view-certificates .cv-thumb{position:relative;width:100%;aspect-ratio:297/210;overflow:hidden;border:1px solid var(--cv-line);background:#fff}
#view-certificates .cv-thumb-inner{position:absolute;left:0;top:0;width:1122.52px;height:793.7px;transform-origin:0 0}
#view-certificates .cv-thumb-inner .cert2{width:297mm!important;height:209.5mm!important;max-height:209.5mm!important;box-shadow:none!important;margin:0!important}
#view-certificates .cv-kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--cv-line);border:1px solid var(--cv-line)}
#view-certificates .cv-kv div{background:var(--cv-surf);padding:8px 11px}#view-certificates .cv-kv span{display:block;font-size:11px;color:var(--cv-mut)}#view-certificates .cv-kv b{font-size:13px}
#view-certificates .cv-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--cv-mut);margin-bottom:8px}
#view-certificates .cv-step{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;padding-bottom:12px;position:relative}
#view-certificates .cv-step::before{content:"";position:absolute;left:10px;top:20px;bottom:0;width:2px;background:var(--cv-line)}#view-certificates .cv-step:last-child::before{display:none}
#view-certificates .cv-step .n{width:22px;height:22px;border-radius:50%;border:2px solid var(--cv-line);display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--cv-surf);z-index:1}
#view-certificates .cv-step.ok .n{background:var(--cv-green);border-color:var(--cv-green);color:#fff}#view-certificates .cv-step.miss .n{border-style:dashed;color:var(--cv-mut)}
#view-certificates .cv-step b{font-size:13px}#view-certificates .cv-step small{display:block;color:var(--cv-mut);font-size:11.5px}
#view-certificates .cv-pa{display:grid;gap:8px}#view-certificates .cv-pa .cv-btn{text-align:left}#view-certificates .cv-hint{font-size:12px;color:var(--cv-mut)}
#view-certificates .cv-empty{padding:26px;text-align:center;color:var(--cv-mut)}

/* === certificate-fonts.css === */
@font-face {font-family: 'KC DM Sans';font-style: normal;font-weight: 400 800;font-display: swap;src: url(fonts/dm-sans-normal-400-800-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC DM Sans';font-style: normal;font-weight: 400 800;font-display: swap;src: url(fonts/dm-sans-normal-400-800-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Outfit';font-style: normal;font-weight: 400 800;font-display: swap;src: url(fonts/outfit-normal-400-800-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Outfit';font-style: normal;font-weight: 400 800;font-display: swap;src: url(fonts/outfit-normal-400-800-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Libre Baskerville';font-style: italic;font-weight: 400;font-display: swap;src: url(fonts/libre-baskerville-italic-400-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Libre Baskerville';font-style: italic;font-weight: 400;font-display: swap;src: url(fonts/libre-baskerville-italic-400-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Libre Baskerville';font-style: normal;font-weight: 400;font-display: swap;src: url(fonts/libre-baskerville-normal-400-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Libre Baskerville';font-style: normal;font-weight: 400;font-display: swap;src: url(fonts/libre-baskerville-normal-400-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Libre Baskerville';font-style: normal;font-weight: 700;font-display: swap;src: url(fonts/libre-baskerville-normal-700-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Libre Baskerville';font-style: normal;font-weight: 700;font-display: swap;src: url(fonts/libre-baskerville-normal-700-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Barlow Condensed';font-style: normal;font-weight: 500;font-display: swap;src: url(fonts/barlow-condensed-normal-500-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Barlow Condensed';font-style: normal;font-weight: 500;font-display: swap;src: url(fonts/barlow-condensed-normal-500-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Barlow Condensed';font-style: normal;font-weight: 600;font-display: swap;src: url(fonts/barlow-condensed-normal-600-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Barlow Condensed';font-style: normal;font-weight: 600;font-display: swap;src: url(fonts/barlow-condensed-normal-600-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Barlow Condensed';font-style: normal;font-weight: 700;font-display: swap;src: url(fonts/barlow-condensed-normal-700-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Barlow Condensed';font-style: normal;font-weight: 700;font-display: swap;src: url(fonts/barlow-condensed-normal-700-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Barlow';font-style: normal;font-weight: 400;font-display: swap;src: url(fonts/barlow-normal-400-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Barlow';font-style: normal;font-weight: 400;font-display: swap;src: url(fonts/barlow-normal-400-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Barlow';font-style: normal;font-weight: 500;font-display: swap;src: url(fonts/barlow-normal-500-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Barlow';font-style: normal;font-weight: 500;font-display: swap;src: url(fonts/barlow-normal-500-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Barlow';font-style: normal;font-weight: 600;font-display: swap;src: url(fonts/barlow-normal-600-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Barlow';font-style: normal;font-weight: 600;font-display: swap;src: url(fonts/barlow-normal-600-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'KC Manrope';font-style: normal;font-weight: 400 800;font-display: swap;src: url(fonts/manrope-normal-400-800-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'KC Manrope';font-style: normal;font-weight: 400 800;font-display: swap;src: url(fonts/manrope-normal-400-800-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* === certificate-sheet.css === */
.cert2{container-type:inline-size;width:100%;aspect-ratio:297/210;background:#fff;color:#14201a;position:relative;overflow:hidden;box-sizing:border-box}
.cert2 *{box-sizing:border-box}
.cert2>div{height:100%}
.cert2 .pips{display:flex;gap:.5cqw}
.cert2 .pips i{width:2.6cqw;height:.7cqw;background:#e3dfd4;display:block}
.cert2 .pips i.on{background:#0b6b3a}
.cert2 .stamp{transform:rotate(-6deg);mix-blend-mode:multiply;display:block;height:auto}
.cert2 .s-round{width:7.6cqw}
.cert2 .s-rect{width:12.5cqw}
.cert2 .s-oval{width:11.5cqw}
.cert2 .s-min{width:12.5cqw}
.cert2 .foot>div{text-align:center}
.cert2 .sigblock{position:relative}
.cert2 .sigblock small,.cert2 .dates small{display:block;font-size:1.05cqw;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#5f6a63}
.cert2 .sigblock strong,.cert2 .dates strong{font-size:1.6cqw;display:block}
.cert2 .sigblock .st{height:8.2cqw;display:flex;align-items:flex-end;justify-content:center;margin-bottom:.5cqw}
.cert2 .ref{font-size:1cqw;color:#5f6a63;letter-spacing:.06em}
.cert2 .f1{font-family:"KC DM Sans","DM Sans",sans-serif;padding:3.4cqw;display:grid!important;grid-template-rows:auto 1fr auto}
.cert2 .f1 .fr{position:absolute;inset:1.8cqw;border:.22cqw solid #0b6b3a;pointer-events:none}
.cert2 .f1 .org{font-size:1.5cqw;letter-spacing:.32em;text-transform:uppercase;font-weight:800;color:#0b6b3a;text-align:center}
.cert2 .f1 .ttl{font-size:2.9cqw;font-weight:800;text-align:center;margin-top:.8cqw;letter-spacing:-.01em}
.cert2 .f1 .mid{display:grid;align-content:center;gap:.6cqw;text-align:center}
.cert2 .f1 .lead{font-size:1.5cqw;color:#5f6a63}
.cert2 .f1 .name{font-size:6cqw;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.cert2 .f1 .sub{font-size:1.4cqw;color:#5f6a63}
.cert2 .f1 .lvl{display:inline-flex;gap:1.2cqw;align-items:center;justify-self:center;margin-top:.8cqw}
.cert2 .f1 .badge{background:#0b6b3a;color:#fff;font-weight:800;font-size:1.6cqw;padding:.55cqw 1.6cqw;letter-spacing:.06em}
.cert2 .f1 .skill{font-size:4cqw;font-weight:800;margin-top:.4cqw;letter-spacing:-.01em}
.cert2 .f1 .foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3cqw;padding:1.4cqw 1cqw 1.6cqw;border-top:.1cqw solid #d9d4c6;align-items:end}
.cert2 .f2{font-family:"KC Outfit",Outfit,sans-serif;display:grid!important;grid-template-columns:27% 1fr}
.cert2 .f2 .side{background:#0b6b3a;color:#fff;padding:3.4cqw 2.6cqw;display:grid;grid-template-rows:auto 1fr auto}
.cert2 .f2 .side .org{font-size:1.6cqw;font-weight:800;letter-spacing:.2em}
.cert2 .f2 .side .big{align-self:center}
.cert2 .f2 .side .big small{display:block;font-size:1.2cqw;letter-spacing:.24em;text-transform:uppercase;opacity:.85;font-weight:600}
.cert2 .f2 .side .big b{display:block;font-size:15cqw;line-height:1;font-weight:800}
.cert2 .f2 .side .big span{font-size:2cqw;font-weight:600}
.cert2 .f2 .side .pips{margin-top:1.4cqw}
.cert2 .f2 .side .pips i{background:rgba(255,255,255,.35)}
.cert2 .f2 .side .pips i.on{background:#fff}
.cert2 .f2 .main{padding:3.4cqw 4cqw 2.4cqw;display:grid;grid-template-rows:auto 1fr auto}
.cert2 .f2 .tt{font-size:1.45cqw;letter-spacing:.24em;text-transform:uppercase;font-weight:800;color:#0b6b3a}
.cert2 .f2 .body{display:grid;align-content:center;gap:.5cqw}
.cert2 .f2 .lead{font-size:1.5cqw;color:#5f6a63}
.cert2 .f2 .name{font-size:5.6cqw;font-weight:800;line-height:1.05;letter-spacing:-.02em}
.cert2 .f2 .sub{font-size:1.5cqw;color:#5f6a63}
.cert2 .f2 .skill{font-size:3.6cqw;font-weight:800;color:#0b6b3a;margin-top:1.2cqw}
.cert2 .f2 .foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2cqw;padding-top:1cqw;border-top:.1cqw solid #d9d4c6;align-items:end}
.cert2 .f3{font-family:"KC Libre Baskerville","Libre Baskerville",Georgia,serif;padding:4cqw;display:grid!important;grid-template-rows:auto 1fr auto;text-align:center}
.cert2 .f3 .fr{position:absolute;inset:2.2cqw;border:.25cqw solid #14201a;pointer-events:none}
.cert2 .f3 .fr::after{content:"";position:absolute;inset:.7cqw;border:.08cqw solid #14201a}
.cert2 .f3 .org{font-size:1.4cqw;letter-spacing:.34em;text-transform:uppercase}
.cert2 .f3 .ttl{font-size:3cqw;font-weight:700;margin-top:1cqw}
.cert2 .f3 .rule{width:14cqw;height:.15cqw;background:#14201a;margin:1cqw auto 0}
.cert2 .f3 .mid{display:grid;align-content:center;gap:.7cqw}
.cert2 .f3 .lead{font-size:1.4cqw;font-style:italic;color:#4a544d}
.cert2 .f3 .name{font-size:4.8cqw;font-weight:700;line-height:1.1}
.cert2 .f3 .sub{font-size:1.25cqw;color:#4a544d}
.cert2 .f3 .skill{font-size:3.4cqw;font-weight:700}
.cert2 .f3 .lvltxt{font-size:1.7cqw;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cert2 .f3 .foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3cqw;padding:1.2cqw 3cqw 1.4cqw;border-top:.1cqw solid #14201a;align-items:end}
.cert2 .f3 .sigblock small,.cert2 .f3 .dates small{font-family:"KC DM Sans","DM Sans",sans-serif}
.cert2 .f4{font-family:"KC Barlow",Barlow,sans-serif;display:grid!important;grid-template-rows:auto 1fr auto}
.cert2 .f4 .top{background:#14201a;color:#fff;padding:2.2cqw 4cqw;display:flex;justify-content:space-between;align-items:center}
.cert2 .f4 .top .org{font-family:"KC Barlow Condensed","Barlow Condensed",sans-serif;font-size:2.4cqw;font-weight:700;letter-spacing:.18em}
.cert2 .f4 .top .ttl{font-family:"KC Barlow Condensed","Barlow Condensed",sans-serif;font-size:2cqw;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.9}
.cert2 .f4 .mid{padding:2.4cqw 4cqw;display:grid;grid-template-columns:1fr 24%;gap:3cqw;align-items:center}
.cert2 .f4 .lead{font-size:1.5cqw;color:#5f6a63}
.cert2 .f4 .name{font-family:"KC Barlow Condensed","Barlow Condensed",sans-serif;font-size:8.2cqw;font-weight:700;text-transform:uppercase;line-height:.98;letter-spacing:.01em}
.cert2 .f4 .sub{font-size:1.5cqw;color:#5f6a63;margin-top:.5cqw}
.cert2 .f4 .skill{font-family:"KC Barlow Condensed","Barlow Condensed",sans-serif;font-size:4.8cqw;font-weight:700;text-transform:uppercase;color:#0b6b3a;margin-top:1.6cqw;line-height:1}
.cert2 .f4 .lv{border:.3cqw solid #0b6b3a;text-align:center;padding:1.6cqw 1cqw;color:#0b6b3a}
.cert2 .f4 .lv small{display:block;font-size:1.3cqw;letter-spacing:.24em;text-transform:uppercase;font-weight:600}
.cert2 .f4 .lv b{display:block;font-family:"KC Barlow Condensed","Barlow Condensed",sans-serif;font-size:12cqw;line-height:.95;font-weight:700}
.cert2 .f4 .lv span{font-family:"KC Barlow Condensed","Barlow Condensed",sans-serif;font-size:2.4cqw;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.cert2 .f4 .foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3cqw;padding:1.2cqw 4cqw 1.8cqw;border-top:.2cqw solid #14201a;align-items:end}
.cert-preview{aspect-ratio:297/210;width:100%;max-width:640px;margin:0 auto;box-shadow:0 6px 24px rgba(0,0,0,.2);border:1px solid var(--line,#e3dfd4)}
#certificateFormatDialog{width:min(760px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;border:1px solid #e3dfd4;border-radius:2px!important;overflow:auto}
#certificateFormatDialog::backdrop{background:rgba(20,26,22,.5)}
#certificateFormatForm{display:grid;gap:14px;padding:18px 20px}
#certificateFormatForm h2{margin:2px 0 0;font-size:20px}
#certificateFormatForm .cf-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#certificateFormatForm .cf-row>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#69736c;min-width:110px}
#certificateFormatForm .cf-seg{display:inline-flex;border:1px solid #e3dfd4;flex-wrap:wrap}
#certificateFormatForm .cf-seg label{margin:0;cursor:pointer}
#certificateFormatForm .cf-seg input{position:absolute;opacity:0;pointer-events:none}
#certificateFormatForm .cf-seg label span{display:block;padding:7px 12px;font-weight:700;font-size:12.5px;color:#69736c;border-right:1px solid #e3dfd4}
#certificateFormatForm .cf-seg label:last-child span{border-right:0}
#certificateFormatForm .cf-seg input:checked+span{background:#14201a;color:#fff}
#certificateFormatForm .cf-seg input:focus-visible+span{outline:2px solid #14201a;outline-offset:2px}
#certificateFormatForm .cf-note{margin:0;font-size:12px;color:#69736c}
#certificateFormatForm .dialog-actions{display:flex;justify-content:flex-end;gap:8px}
#certificateFormatForm .dialog-actions .button{border-radius:2px}
@media print{html:has(body.certificate-print),body.certificate-print{width:297mm!important;height:209.5mm!important;min-height:0!important;max-height:209.5mm!important;margin:0!important;padding:0!important;overflow:hidden!important}body.certificate-print>*:not(#printSheet){display:none!important}html body.certificate-print .print-sheet{display:block!important;position:absolute!important;top:0!important;left:0!important;width:297mm!important;height:209.5mm!important;max-height:209.5mm!important;margin:0!important;padding:0!important;overflow:hidden!important;break-inside:avoid!important;page-break-after:avoid!important;page-break-before:avoid!important}html body.certificate-print .print-sheet .cert2{width:297mm!important;height:209.5mm!important;max-height:209.5mm!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.cert2 .numero{position:absolute;left:0;right:0;width:100%;bottom:2.7cqw;text-align:center;font-size:1cqw;font-weight:400;letter-spacing:.14em;color:#8a938d}
.cert2 .f2 .numero{left:0;bottom:.9cqw}
.cert2 .f3 .numero{bottom:3.5cqw}
.cert2 .f4 .numero{bottom:.5cqw}
.cert2 .sigblock small,.cert2 .dates small{font-size:1.05cqw!important;letter-spacing:.14em!important;line-height:1.3!important}
.cert2 .f2 .side .big small{font-size:1.2cqw!important}
.cert2 .f4 .lv small{font-size:1.3cqw!important}
.cert2 .foot small,.cert2 .foot strong{white-space:nowrap}
.cert2 .stamp text{stroke:none!important;stroke-width:0!important;paint-order:normal!important;text-shadow:none!important}

/* === organization-view.css === */
#view-organization{--og-green:#0b6b3a;--og-soft:#e9f3ec;--og-line:#e3dfd4;--og-mut:#69736c;--og-bad:#b4472a;--og-badbg:#fbeae4;--og-warn:#9a6b00;--og-warnbg:#fbf0d2;--og-info:#2f6fbd;--og-infobg:#e3edf9;--og-ink:#14201a}
body.dark #view-organization{--og-green:#5fc088;--og-soft:#1d2f24;--og-line:#2e362f;--og-mut:#9aa39c;--og-bad:#f0906f;--og-badbg:#3a231b;--og-warn:#e3b94f;--og-warnbg:#3a3117;--og-info:#8db8ee;--og-infobg:#1d2a3a;--og-ink:#eef1ec}
#view-organization .organization-summary{display:flex;flex-wrap:wrap;gap:0;margin-top:16px;border:1px solid var(--og-line);background:var(--surface,#fff);border-radius:0;padding:0}
#view-organization .organization-summary>article{display:flex;gap:9px;align-items:baseline;padding:9px 16px;border:0;border-right:1px solid var(--og-line);border-radius:0;background:transparent;box-shadow:none;min-height:0}
#view-organization .organization-summary>article strong{font-family:inherit;font-weight:800;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#view-organization .organization-summary>article span{font-size:12px;color:var(--og-mut)}
#view-organization .organization-summary .org-integrity-status{margin:0 0 0 auto;display:flex;align-items:center;gap:10px;padding:9px 16px;border:0;border-radius:0;background:var(--og-soft);color:var(--og-green);font-size:12.5px;font-weight:700;flex:1 1 320px;min-width:0}
#view-organization .organization-summary .org-integrity-status.has-alert{background:var(--og-warnbg);color:var(--og-warn)}
#view-organization .organization-summary .org-integrity-status .button{border-radius:2px;margin-left:auto}
#view-organization .org-tabs{display:flex;gap:2px;border-bottom:1px solid var(--og-line);margin-top:14px;overflow-x:auto;background:transparent;padding:0;border-radius:0}
#view-organization .org-tabs button{background:none!important;border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 14px;font-weight:700;color:var(--og-mut)!important;display:flex;gap:7px;align-items:center;margin-bottom:-1px;white-space:nowrap;box-shadow:none!important}
#view-organization .org-tabs button[aria-selected="true"]{color:var(--og-ink)!important;border-bottom-color:var(--og-green)}
#view-organization .org-count{font-size:11px;padding:1px 7px;background:var(--og-line);color:var(--og-mut);font-weight:800}
#view-organization .org-tabs [aria-selected="true"] .org-count{background:var(--og-soft);color:var(--og-green)}
#view-organization .org-structure{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:900px){#view-organization .org-structure{grid-template-columns:1fr}}
#view-organization .org-tree{border:1px solid var(--og-line);background:var(--surface,#fff);padding:8px 0}
#view-organization .org-tree-node{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;border-left:3px solid transparent;border-radius:0;padding:7px 14px;font-size:13px;cursor:default}
#view-organization button.org-tree-node,#view-organization .org-tree-unit{cursor:pointer}
#view-organization .org-tree-unit:hover{background:var(--og-soft)}
#view-organization .org-tree-unit:focus-visible{outline:2px solid var(--og-green);outline-offset:-2px}
#view-organization .org-tree-unit small{margin-left:auto}
#view-organization .org-tree-unit small+.org-tree-edit{margin-left:6px}
#view-organization button.org-tree-node:hover{background:var(--og-soft)}
#view-organization .org-tree-node.selected{background:var(--og-soft);border-left-color:var(--og-green);font-weight:800}
#view-organization .org-tree-node.l1{font-weight:800;padding-top:10px}
#view-organization .org-tree-node.l2{padding-left:26px;color:var(--og-mut);font-weight:700}
#view-organization .org-tree-node.l3{padding-left:44px}
#view-organization .org-tree-node small{margin-left:auto;font-size:11px;color:var(--og-mut);font-weight:700}
#view-organization .org-tree-edit{margin-left:auto;background:none;border:0;color:var(--og-mut);cursor:pointer;padding:2px 6px;opacity:.6}#view-organization .org-tree-edit:hover{opacity:1;color:var(--og-green)}
#view-organization .org-dot{width:8px;height:8px;display:inline-block;background:var(--og-green);flex:none}#view-organization .org-dot.w{background:var(--og-warn)}
#view-organization .org-detail{border:1px solid var(--og-line);background:var(--surface,#fff);border-radius:0}
#view-organization .org-detail>header{padding:16px 18px;border-bottom:1px solid var(--og-line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}
#view-organization .org-detail h2{margin:2px 0 6px;font-size:20px}
#view-organization .org-bc{display:block;font-size:11px;color:var(--og-mut);font-weight:600}
#view-organization .org-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:0}
#view-organization .org-pill.ok{background:var(--og-soft);color:var(--og-green)}#view-organization .org-pill.g{background:var(--og-line);color:var(--og-mut)}#view-organization .org-pill.i{background:var(--og-infobg);color:var(--og-info)}
#view-organization .org-detail-actions{display:flex;gap:8px;flex-wrap:wrap}#view-organization .org-detail-actions .button{border-radius:2px}
#view-organization .org-detail-body{padding:16px 18px;display:grid;gap:18px}
#view-organization .org-alert{border:1px solid var(--og-warn);background:var(--og-warnbg);color:var(--og-warn);padding:10px 12px;font-size:13px;font-weight:700}
#view-organization .org-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--og-line);border:1px solid var(--og-line);margin:0}
#view-organization .org-kv>div{background:var(--surface,#fff);padding:10px 12px}
#view-organization .org-kv dt{font-size:11px;color:var(--og-mut)}#view-organization .org-kv dd{margin:0;font-size:13px;font-weight:700}
#view-organization .org-bar{display:inline-block;width:80px;height:6px;background:var(--og-line);vertical-align:middle}#view-organization .org-bar i{display:block;height:100%;background:var(--og-green)}
#view-organization .org-kv .org-bar{display:block;width:100%;margin-top:6px}
#view-organization .org-lbl{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--og-mut)}
#view-organization .org-detail .org-requirements{display:flex;flex-wrap:wrap;gap:6px}
#view-organization .org-detail .org-requirements>span{border:1px solid var(--og-line);padding:4px 8px;font-size:12px;font-weight:700;border-radius:0;display:inline-flex;gap:6px;align-items:center}
#view-organization .org-detail .org-requirements>span.critical{border-color:var(--og-bad)}
#view-organization .org-detail .org-requirements>span b{font-size:11px;background:var(--og-soft);color:var(--og-green);padding:0 6px}
#view-organization .org-table-scroll{overflow-x:auto}
#view-organization .org-table{border-collapse:collapse;width:100%;font-size:13px}
#view-organization .org-table th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--og-mut);padding:8px 10px;border-bottom:2px solid var(--og-line)}
#view-organization .org-table td{padding:9px 10px;border-bottom:1px solid var(--og-line)}
#view-organization .org-table tr:hover td{background:var(--og-soft)}
#view-organization .org-who{display:flex;gap:9px;align-items:center}
#view-organization .org-tree-node{color:var(--og-ink)}#view-organization .org-tree-node.l2{color:var(--og-mut)}
#view-organization .org-structure>*{min-width:0}
#view-organization .org-tree-edit+.org-tree-edit{margin-left:0}
#view-organization .org-tree-remove:hover{color:var(--og-bad)}
#view-organization .org-detail-body{min-width:0}
#view-organization .org-detail-actions{max-width:100%}
#view-organization .org-detail-body{grid-template-columns:minmax(0,1fr)}#view-organization .org-detail{overflow:hidden}

/* Onglets Compétences, Postes, Profils, Collaborateurs : même style que la structure */
#view-organization .org-explanation{margin:12px 0 0;color:var(--og-mut);font-size:13px}
#view-organization .panel,#view-organization .org-card,#view-organization .org-empty{border-radius:0}
#view-organization .og-grid,#view-organization .org-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px}
#view-organization .og-card,#view-organization .org-card{border:1px solid var(--og-line);background:var(--surface,#fff);padding:14px;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:8px}
#view-organization .og-eyebrow,#view-organization .org-card>small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--og-mut)}
#view-organization .og-card h2,#view-organization .org-card h2{margin:0;font-size:17px}
#view-organization .og-card p,#view-organization .org-card>p{margin:0;color:var(--og-mut);font-size:12.5px}
#view-organization .og-chips{display:flex;flex-wrap:wrap;gap:6px}
#view-organization .og-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--og-line);background:transparent;padding:4px 8px;font-size:12px;font-weight:700;border-radius:0;cursor:pointer;color:var(--og-ink)}
#view-organization .og-chip:hover{background:var(--og-soft)}#view-organization .og-chip.critical{border-color:var(--og-bad)}
#view-organization .og-chip i{font-style:normal;font-size:10px;font-weight:800;padding:0 5px;background:var(--og-bad);color:#fff}
#view-organization .og-card footer,#view-organization .org-card footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px;border-top:0}
#view-organization .og-card footer .button,#view-organization .org-card footer .button{border-radius:2px;padding:6px 11px;min-height:0;font-size:12.5px}
#view-organization .org-card .org-tags{display:flex;flex-wrap:wrap;gap:6px}
#view-organization .org-card .org-tags span{border-radius:0;background:var(--og-line);color:var(--og-mut);font-size:11px;font-weight:700;padding:1px 7px;border:0}
#view-organization .org-card .org-requirements{display:flex;flex-wrap:wrap;gap:6px}
#view-organization .org-card .org-requirements>span{border:1px solid var(--og-line);padding:4px 8px;font-size:12px;font-weight:700;border-radius:0;display:inline-flex;gap:6px;align-items:center}
#view-organization .org-card .org-requirements>span b{font-size:11px;background:var(--og-soft);color:var(--og-green);padding:0 6px}
#view-organization .og-table-wrap{margin-top:12px;border:1px solid var(--og-line);background:var(--surface,#fff);overflow-x:auto}
#view-organization .og-table{border-collapse:collapse;width:100%;font-size:13px;min-width:820px}
#view-organization .og-table th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--og-mut);padding:9px 12px;border-bottom:2px solid var(--og-line)}
#view-organization .og-table td{padding:9px 12px;border-bottom:1px solid var(--og-line);vertical-align:middle}
#view-organization .og-table tr:hover td{background:var(--og-soft)}
#view-organization .og-who{display:flex;gap:9px;align-items:center}#view-organization .og-who small{display:block;color:var(--og-mut);font-size:11px}
#view-organization .og-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:0}
#view-organization .og-pill.ok{background:var(--og-soft);color:var(--og-green)}#view-organization .og-pill.g{background:var(--og-line);color:var(--og-mut)}
#view-organization .og-muted{color:var(--og-mut)}
#view-organization .og-actions{white-space:nowrap;text-align:right}#view-organization .og-actions .button{border-radius:2px;padding:5px 10px;min-height:0;font-size:12px;margin-left:6px}
#view-organization .org-toolbar .button,#view-organization .org-actions .button,#view-organization #organizationActions .button{border-radius:2px}
#view-organization .org-toolbar .input-search,#view-organization .org-toolbar .input-search input{border-radius:0}

/* === session-guard.css === */
#idleWarning{position:fixed;inset:auto 0 24px 0;display:flex;justify-content:center;z-index:2147483000;pointer-events:none}
#idleWarning>div{pointer-events:auto;background:#14201a;color:#fff;padding:14px 18px;border-radius:2px;box-shadow:0 12px 40px rgba(0,0,0,.35);display:grid;gap:6px;max-width:min(420px,calc(100% - 32px));font-size:14px}
#idleWarning p{margin:0}
#idleWarning b{font-variant-numeric:tabular-nums}
#idleWarning button{justify-self:start;background:#fff;color:#14201a;border:0;padding:8px 14px;font-weight:800;cursor:pointer;border-radius:2px}

/* === access-view.css === */
#view-access{--am-green:#0b6b3a;--am-soft:#e9f3ec;--am-line:#e3dfd4;--am-mut:#69736c;--am-bad:#b4472a;--am-warn:#9a6b00;--am-warnbg:#fbf0d2;--am-info:#2f6fbd;--am-infobg:#e3edf9;--am-vio:#5b4bc4;--am-viobg:#ece9fb;--am-ink:#14201a}
body.dark #view-access{--am-green:#5fc088;--am-soft:#1d2f24;--am-line:#2e362f;--am-mut:#9aa39c;--am-bad:#f0906f;--am-warn:#e3b94f;--am-warnbg:#3a3117;--am-info:#8db8ee;--am-infobg:#1d2a3a;--am-vio:#b3a8f5;--am-viobg:#2a2650;--am-ink:#eef1ec}
#view-access .access-heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#view-access .access-heading-actions .button{border-radius:2px}
#view-access .access-security{display:inline-flex;gap:7px;align-items:center;background:var(--am-soft);color:var(--am-green);padding:6px 10px;border:0;border-radius:0;font-size:12px;font-weight:700}
#view-access .access-security small{font-size:12px;color:inherit}
#view-access .access-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:16px;border:1px solid var(--am-line);background:var(--surface,#fff);border-radius:0;padding:0}
#view-access .access-stats>div{display:flex;gap:9px;align-items:baseline;padding:9px 16px;border:0;border-right:1px solid var(--am-line);border-radius:0;background:transparent;box-shadow:none;min-height:0}
#view-access .access-stats>div:last-child{border-right:0}
#view-access .access-stats strong{font-family:inherit;font-weight:800;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#view-access .access-stats span{font-size:12px;color:var(--am-mut)}
#view-access .am-banner{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--am-warn);background:var(--am-warnbg);padding:10px 14px;margin-top:12px;font-weight:700;font-size:13px;color:var(--am-warn)}
#view-access .am-banner .button{border-radius:2px}
#view-access .access-tabs{display:flex;gap:2px;border-bottom:1px solid var(--am-line);margin-top:14px;overflow-x:auto}
#view-access .access-tabs button{background:none!important;border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 14px;font-weight:700;color:var(--am-mut)!important;display:flex;gap:7px;align-items:center;margin-bottom:-1px;box-shadow:none!important;cursor:pointer;white-space:nowrap}
#view-access .access-tabs button.on{color:var(--am-ink)!important;border-bottom-color:var(--am-green)}
#view-access .am-count{font-size:11px;padding:1px 7px;background:var(--am-line);color:var(--am-mut);font-weight:800}
#view-access .access-tabs .on .am-count{background:var(--am-soft);color:var(--am-green)}
#view-access .access-tabs .am-count.warn{background:var(--am-warnbg);color:var(--am-warn)}
#view-access .access-tool{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
#view-access .access-tool .input-search{flex:1;min-width:200px;border-radius:0}
#view-access .access-tool .input-search input{width:100%;border-radius:0}
#view-access .access-tool select{border-radius:0;font-weight:600;font-size:12.5px}
#view-access .access-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;margin-top:12px;align-items:start}
@media(max-width:960px){#view-access .access-layout{grid-template-columns:1fr}}
#view-access .access-main,#view-access .access-guide{border:1px solid var(--am-line);background:var(--surface,#fff);border-radius:0;padding:0;box-shadow:none}
#view-access .am-table-wrap{overflow-x:auto}
#view-access .am-table{border-collapse:collapse;width:100%;font-size:13px}
#view-access .am-table th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--am-mut);padding:9px 14px;border-bottom:2px solid var(--am-line)}
#view-access .am-table td{padding:11px 14px;border-bottom:1px solid var(--am-line);vertical-align:middle}
#view-access .am-table tr:last-child td{border-bottom:0}
#view-access .am-table tr.am-row:hover td{background:var(--am-soft)}
#view-access .am-table tr.am-edit td{background:var(--am-soft)}
#view-access .am-table select{border-radius:0;font-weight:600;font-size:12.5px;padding:7px 9px;min-width:130px}
#view-access .am-who{display:flex;gap:10px;align-items:center}
#view-access .am-who small,#view-access .am-who-text small{display:block;color:var(--am-mut);font-size:12px}
#view-access .am-av{width:34px;height:34px;border-radius:50%;background:#6c5ce7;color:#fff;font-size:11.5px;font-weight:800;display:grid;place-items:center;flex:none}
#view-access .am-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:0}
#view-access .role-owner{background:var(--am-viobg);color:var(--am-vio)}
#view-access .role-admin{background:var(--am-infobg);color:var(--am-info)}
#view-access .role-manager,#view-access .role-editor{background:var(--am-soft);color:var(--am-green)}
#view-access .role-trainer{background:var(--am-warnbg);color:var(--am-warn)}
#view-access .role-member,#view-access .role-reader{background:var(--am-line);color:var(--am-mut)}
#view-access .am-status{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:700}
#view-access .am-status i{width:8px;height:8px;background:var(--am-green);display:inline-block}
#view-access .am-status.off i{background:var(--am-mut)}
#view-access .am-actions{text-align:right;white-space:nowrap}
#view-access .am-actions .button,#view-access .am-req-actions .button{border-radius:2px;padding:5px 11px;min-height:0;font-size:12px;margin-left:6px}
#view-access .am-actions .member-delete{color:var(--am-bad)}
#view-access .am-you{font-size:11px;font-weight:800;padding:1px 7px;background:var(--am-line);color:var(--am-mut)}
#view-access .am-req{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--am-line);border-left:4px solid var(--am-warn)}
#view-access .am-req.am-invite{border-left-color:var(--am-line)}
#view-access .am-req:last-child{border-bottom:0}
#view-access .am-req-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#view-access .am-req-actions select{border-radius:0;font-weight:600;font-size:12.5px;padding:7px 9px}
#view-access .am-empty{padding:34px 20px;text-align:center;color:var(--am-mut)}
#view-access .am-empty b{display:block;color:var(--am-ink);font-size:16px;margin-bottom:4px}
#view-access .access-guide{padding:14px 16px}
#view-access .access-guide h3{margin:0 0 10px;font-size:14px}
#view-access .access-guide>div{padding:8px 0;border-bottom:1px solid var(--am-line);font-size:12.5px}
#view-access .access-guide>div:last-child{border-bottom:0}
#view-access .access-guide b{display:flex;gap:8px;align-items:center;margin-bottom:2px}
#view-access .access-guide>div>span{color:var(--am-mut)}
#view-access .access-scrim{position:fixed;inset:0;background:rgba(20,26,22,.4);opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}
#view-access .access-scrim.on{opacity:1;pointer-events:auto}
#view-access .access-drawer{position:fixed;inset:0 0 0 auto;width:min(420px,100%);background:var(--surface,#fff);border-left:1px solid var(--am-line);box-shadow:-14px 0 40px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .22s;z-index:61;display:flex;flex-direction:column}
#view-access .access-drawer.on{transform:none}
#view-access .access-drawer header{padding:16px 18px;border-bottom:1px solid var(--am-line);display:flex;justify-content:space-between;align-items:flex-start}
#view-access .access-drawer h2{margin:2px 0 0;font-size:18px}
#view-access .access-close{border:1px solid var(--am-line);background:var(--surface,#fff);width:30px;height:30px;border-radius:0;cursor:pointer}
#view-access .access-drawer .invitation-form{padding:16px 18px;display:grid;gap:14px;overflow:auto}
#view-access .access-drawer label{display:grid;gap:5px;font-size:12px;font-weight:700}
#view-access .access-drawer input[type=email],#view-access .access-drawer select{border:1px solid var(--am-line);background:var(--surface,#fff);padding:9px 10px;font-weight:500;border-radius:0}
#view-access .access-drawer small,#view-access .access-hint{font-size:12px;color:var(--am-mut);font-weight:500;margin:0}
#view-access .access-roles{border:0;padding:0;margin:0;display:grid;gap:6px}
#view-access .access-roles legend{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--am-mut);margin-bottom:6px;padding:0}
#view-access .access-roles label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--am-line);padding:9px 10px;font-weight:600;font-size:13px}
#view-access .access-roles label:has(input:checked){border-color:var(--am-green);background:var(--am-soft)}
#view-access .access-roles input{margin-top:3px;width:auto}
#view-access .access-roles small{display:block}
#view-access .access-drawer .button{border-radius:2px}
#view-access .access-drawer .invitation-form{display:flex!important;flex-direction:column;gap:14px;grid-template-columns:none!important;align-items:stretch}
#view-access .access-drawer .invitation-form>*{grid-column:auto!important;min-width:0;width:100%}
#view-access .access-drawer .invitation-form .button{justify-self:auto!important;width:100%}
#view-access .access-roles{display:grid!important}
#view-access .access-drawer .access-roles label{display:flex!important;gap:10px;align-items:flex-start}#view-access .access-roles label>span{display:block}
/* Journal des connexions */
#view-access .aj-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:14px 14px 6px}
#view-access .aj-note{margin:0;max-width:70ch;color:var(--am-mut);font-size:12.5px}
#view-access .aj-table td small{display:block;color:var(--am-mut);font-size:12px}
#view-access .aj-date,#view-access .aj-ip{white-space:nowrap;font-variant-numeric:tabular-nums}
#view-access .aj-new{display:inline-block;margin-left:8px;padding:1px 7px;border:1px solid #e9d3a8;background:#fdf6e7;color:#7a4a08;font-size:11px;font-weight:700}
#view-access .am-signout{margin-left:auto}
@media(max-width:700px){#view-access .aj-head{flex-direction:column}}
