: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}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:flex;align-items:center;justify-content:space-between;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 span{transition:transform .2s}.nav-group[open]>summary span{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(3,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}@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{right:5px;bottom:5px;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%;padding:11px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);display:grid;grid-template-columns:1fr 30px 30px 62px;align-items:center;gap:7px;text-align:left}.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{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;text-align:center;font-weight:800}.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) 28px 28px}.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{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)}
.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%}}
@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}
 .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)}@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 .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-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}

/* Matrice : un seul indicateur visuel, sans cercle de progression superposé. */
.matrix-table .level-ring{border-radius:8px;background:transparent;box-shadow:none}.matrix-table .level-ring:before{display:none}.matrix-table .level-ring .level{width:100%;height:100%;border-radius:8px;box-sizing:border-box}.matrix-compact .level-ring .level{width:100%;height:100%}.matrix-audit .level-ring .level{width:100%;height:100%}@media print{body.printing-matrix .matrix-print-page .level-ring{border-radius:7px!important;background:transparent!important;box-shadow:none!important}body.printing-matrix .matrix-print-page .level-ring:before{display:none!important}body.printing-matrix .matrix-print-page .level-ring .level{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:7px!important;transform:none!important}}

/* 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}}
