.ocp-portal{--navy:#142b3b;--ink:#1a3040;--line:#dce4e9;--muted:#607383;--blue:#186187;font-family:inherit;color:var(--ink);font-size:15px;line-height:1.55;max-width:1320px;margin:32px auto 70px;padding:0 20px}.ocp-portal *{box-sizing:border-box}.ocp-shell{background:#f5f8fa;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 18px 44px rgba(18,42,58,.08)}.ocp-hero{background:linear-gradient(115deg,#112a3b,#214b60);padding:36px 40px;display:flex;align-items:center;justify-content:space-between;color:#fff;gap:20px}.ocp-hero h1{font-size:38px;color:#fff;margin:4px 0!important;line-height:1.2}.ocp-hero p{margin:7px 0 0;color:#d7e5ed}.ocp-eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:#297194}.ocp-hero .ocp-eyebrow{color:#c6dbe7}.ocp-eyebrow span{color:#7ec2df}.ocp-hero-mark{font-size:43px;font-weight:900;letter-spacing:-.05em;opacity:.9;border:2px solid #8eaab7;border-radius:14px;padding:4px 20px;white-space:nowrap}.ocp-hero-mark span{font-size:15px;vertical-align:top;margin-left:6px;letter-spacing:0}.ocp-tabs{display:flex;gap:3px;background:#eaf0f4;padding:12px 20px;overflow-x:auto;border-bottom:1px solid var(--line)}.ocp-tabs .ocp-tab{appearance:none;background:transparent;border:0;border-radius:9px;padding:12px 16px;color:#405968;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.ocp-tab[aria-selected=true]{background:white;color:#123b53;box-shadow:0 2px 8px rgba(11,51,77,.1)}.ocp-tab:focus-visible,.ocp-link:focus-visible{outline:3px solid #5ab2dd;outline-offset:2px}.ocp-view{padding:31px 36px 40px}.ocp-view[hidden]{display:none!important}.ocp-section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.ocp-section-header h2{font-size:27px;line-height:1.3;margin:3px 0 4px;color:#152f3f}.ocp-section-header p{margin:0;color:var(--muted)}.ocp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ocp-kpi{background:#fff;padding:20px;border:1px solid var(--line);border-radius:13px;border-top:3px solid #5d99b8}.ocp-kpi-label{font-weight:700;font-size:13px;color:#536b7a}.ocp-kpi strong{display:block;font-size:36px;line-height:1.45;font-variant-numeric:tabular-nums}.ocp-kpi small{display:block;color:var(--muted);font-size:12px}.ocp-danger{border-top-color:#b74f52}.ocp-warn{border-top-color:#c98b3a}.ocp-good{border-top-color:#3e9076}.ocp-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:15px;margin-top:16px}.ocp-panel,.ocp-feature,.ocp-course{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px}.ocp-panel h3,.ocp-feature h3,.ocp-course h3{font-size:19px;margin:0 0 15px;color:var(--navy)}.ocp-activity{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #edf1f3;padding:12px 0}.ocp-activity:last-child{border-bottom:0}.ocp-activity strong{font-size:18px}.ocp-muted{color:var(--muted);font-size:13px;margin-top:19px}.ocp-actions,.ocp-footer-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.ocp-actions{flex-direction:column;align-items:flex-start}.ocp-portal .ocp-link{display:inline-flex;align-items:center;gap:5px;font-weight:700;text-decoration:none!important;color:var(--blue)!important;padding:6px 0}.ocp-portal .ocp-link:hover{text-decoration:underline!important}.ocp-course-grid,.ocp-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ocp-course{display:flex;align-items:flex-start;flex-direction:column;min-height:180px}.ocp-course h3{font-size:17px;margin:14px 0 10px;flex:1}.ocp-course-badge{font-size:10px;letter-spacing:.1em;color:#527286;font-weight:800}.ocp-status,.ocp-chip{display:inline-flex;border-radius:100px;padding:4px 10px;background:#ebf0f3;color:#456476;font-size:12px;font-weight:700}.ocp-course .ocp-link{margin-top:13px}.ocp-feature p{color:var(--muted);margin:0 0 12px}.ocp-table-wrap{width:100%;overflow:auto}.ocp-table-wrap table{width:100%;border-collapse:collapse;min-width:650px;font-size:14px}.ocp-table-wrap th{text-align:left;background:#eef3f5;color:#435b6b}.ocp-table-wrap td,.ocp-table-wrap th{border-bottom:1px solid var(--line);padding:12px}.ocp-chip-ok{background:#e0f0e8;color:#23684c}.ocp-hint{padding:15px;border-left:3px solid #4e91b0;background:#edf4f8;margin-top:22px}.ocp-auth{padding:40px}.ocp-auth h2{margin:0}.ocp-button{display:inline-block;margin-top:14px;background:#175779;color:#fff!important;border-radius:9px;padding:13px 20px;text-decoration:none!important;font-weight:800}.ocp-embedded{margin-top:26px}.ocp-legal{border-top:1px solid var(--line);padding:17px 36px;font-size:12px;color:var(--muted)}@media(max-width:1050px){.ocp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ocp-course-grid,.ocp-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.ocp-portal{padding:0 8px;margin:12px auto}.ocp-shell{border-radius:14px}.ocp-hero{padding:25px 20px}.ocp-hero h1{font-size:29px}.ocp-hero-mark{display:none}.ocp-tabs{padding:10px}.ocp-tabs .ocp-tab{padding:11px}.ocp-view{padding:22px 16px}.ocp-section-header{display:block}.ocp-section-header h2{font-size:23px}.ocp-kpis{gap:9px}.ocp-kpi{padding:13px}.ocp-kpi strong{font-size:28px}.ocp-columns,.ocp-course-grid,.ocp-feature-grid{grid-template-columns:1fr}.ocp-legal{padding:18px}}

/* Espace de connexion — maquette RH validée : interface 2.2 */
.ocp-login{max-width:1280px;margin:0 auto 54px;padding:40px 22px 26px;font-family:inherit;color:#173c51}
.ocp-login *{box-sizing:border-box}
.ocp-login-hero{text-align:center;padding:18px 10px 28px;background:radial-gradient(circle at 100% 40%,#e1f0f2 0%,transparent 42%),linear-gradient(120deg,#eef7f8 0%,#fff 60%);border-radius:24px 24px 0 0}
.ocp-login-eyebrow{font-size:12px;font-weight:800;letter-spacing:.28em;color:#28667c;margin-bottom:12px}
.ocp-login-hero h1{font-size:clamp(31px,4vw,53px);line-height:1.15;color:#082f48;margin:0 0 13px;font-weight:800}
.ocp-login-hero p{font-size:clamp(15px,2vw,21px);color:#637b8b;margin:0}
.ocp-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:0}
.ocp-login-card{overflow:hidden;background:#fff;border:1px solid #d9e5e9;border-radius:17px;box-shadow:0 15px 36px rgba(15,55,76,.08)}
.ocp-login-card-head{display:flex;gap:22px;align-items:center;min-height:145px;padding:26px 32px;background:#eaf5f6}
.ocp-login-icon{display:grid;place-items:center;width:75px;height:75px;flex:none;background:#cae6eb;border-radius:20px;font-size:34px;color:#0f6481}
.ocp-login-card-head h2{color:#0c354b;font-size:clamp(23px,2.2vw,30px);margin:0 0 6px;font-weight:800}
.ocp-login-card-head p{font-size:15px;line-height:1.55;color:#687f90;margin:0}
.ocp-login-card-body{padding:28px 32px 30px}
.ocp-login-form{display:flex;flex-direction:column;gap:8px}
.ocp-login-form label{color:#193c53;font-weight:750;font-size:14px;margin-top:10px}
.ocp-login-form input[name=log],.ocp-login-form input[name=pwd]{display:block;width:100%;height:51px;border:1px solid #bfced6;border-radius:7px;background:#fff;color:#123951;padding:0 16px;font:inherit;font-size:15px;outline-offset:2px}
.ocp-login-form input:focus{outline:2px solid #237f9a;border-color:#237f9a}
.ocp-password-wrap{position:relative}
.ocp-password-wrap input{padding-right:100px!important}
.ocp-password-toggle{position:absolute;right:8px;top:6px;bottom:6px;border:0;background:#eef5f6;color:#225970;font-weight:700;border-radius:5px;padding:0 12px;cursor:pointer}
.ocp-login-submit{margin-top:16px;width:100%;min-height:53px;border:none;border-radius:8px;color:#fff;background:#09617a;font-size:16px;font-weight:750;cursor:pointer;display:flex;justify-content:center;gap:12px;align-items:center}
.ocp-login-submit:hover{background:#064b62}
.ocp-login-help{margin-top:13px;text-align:center;color:#075f90;text-decoration:underline;font-size:14px}
.ocp-login-trust{display:flex;justify-content:center;align-items:center;gap:15px;color:#576f80;margin:24px auto;font-size:13px;max-width:890px}
.ocp-login-trust span{font-size:25px}.ocp-login-trust p{margin:0}
.ocp-login-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-radius:20px;background:#f0f6f8;padding:25px 10px}
.ocp-login-benefits>div{padding:3px 23px;border-right:1px solid #d5e3e8;display:flex;flex-direction:column;gap:5px}
.ocp-login-benefits>div:last-child{border-right:0}
.ocp-login-benefits strong{font-size:14px;color:#0e4359}.ocp-login-benefits span{font-size:12px;color:#657d8c}
@media(max-width:850px){.ocp-login-grid{grid-template-columns:1fr}.ocp-login-benefits{grid-template-columns:repeat(2,1fr);row-gap:18px}.ocp-login-benefits>div:nth-child(2){border-right:0}}
@media(max-width:480px){.ocp-login{padding:16px 10px 25px}.ocp-login-card-head{padding:20px;gap:12px;min-height:unset}.ocp-login-card-body{padding:18px}.ocp-login-icon{height:56px;width:56px;font-size:25px;border-radius:14px}.ocp-login-benefits{grid-template-columns:1fr}.ocp-login-benefits>div{border-right:0;padding:9px 18px}}
