@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#182865;--blue:#293f98;--sky:#54c8ee;--sky-soft:#eaf9fe;--ink:#172038;--muted:#73809a;--line:#e7ebf2;--bg:#f6f8fb;--white:#fff;--green:#159976;--orange:#ef942f;--red:#e05252;--shadow:0 10px 30px rgba(35,54,105,.06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:linear-gradient(175deg,#162662 0%,#243b94 100%);color:#dce4ff;padding:22px 15px;display:flex;flex-direction:column;z-index:20}.brand{height:56px;display:flex;align-items:center;padding:0 15px}.brand img{width:150px;height:55px;object-fit:contain}.workspace-label,.nav-title{font-size:12px;letter-spacing:1.3px;font-weight:700;color:#8fa2dd;margin:27px 16px 10px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{height:46px;border-radius:11px;display:flex;align-items:center;gap:12px;padding:0 14px;font-weight:500;position:relative}.sidebar nav a span{font-size:21px;width:20px;text-align:center}.sidebar nav a b,.sidebar nav a i{margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-style:normal;background:rgba(83,203,241,.17);color:#83dcf6;padding:4px 6px;border-radius:5px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.12);color:#fff}.sidebar nav a.active:before{content:'';position:absolute;left:-15px;height:25px;width:3px;background:#5fd4f7;border-radius:0 4px 4px 0}.sidebar nav a.disabled{opacity:.56}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding:18px 6px 0;display:flex;align-items:center;gap:10px}.sidebar-foot .avatar{width:36px;height:36px;border-radius:10px;background:#68d2ef;color:#172c70;display:grid;place-items:center;font-weight:700}.sidebar-foot div:nth-child(2){min-width:0;flex:1}.sidebar-foot strong,.sidebar-foot small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot strong{font-size:14px;color:#fff}.sidebar-foot small{font-size:12px;color:#aebae2;margin-top:3px}.main{margin-left:248px;min-width:0;flex:1}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:10}.menu-btn{display:none;border:0;background:none;font-size:24px}.search-top{height:39px;display:flex;align-items:center;gap:10px;color:#9aa4b7;min-width:370px}.search-top kbd{margin-left:auto;font-size:12px;background:#f3f5f8;border:1px solid #e5e8ee;padding:3px 6px;border-radius:5px}.top-actions{margin-left:auto;display:flex;gap:8px}.top-actions button{border:1px solid var(--line);background:#fff;width:36px;height:36px;border-radius:10px;position:relative}.top-actions em{width:6px;height:6px;background:#e45454;border-radius:50%;position:absolute;right:7px;top:7px}.page{padding:32px 34px 50px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.page-head.compact{align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:#3d70c7}.page-head h1,.detail-head h1{font-size:29px;line-height:1.2;margin:6px 0;color:#17234c;letter-spacing:-.6px}.page-head p,.profile-title p{margin:0;color:var(--muted)}.head-actions{display:flex;gap:10px}.btn{border:1px solid transparent;border-radius:9px;height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px}.btn.primary{background:linear-gradient(135deg,#2e4aa8,#243987);color:#fff;box-shadow:0 7px 16px rgba(42,65,151,.18)}.btn.secondary{background:#fff;border-color:#dfe4ec;color:#45516a}.btn.wide{width:100%;height:48px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:17px}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow)}.stat-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:21px;font-weight:700}.stat-icon.blue{background:#eef2ff;color:#4563ca}.stat-icon.cyan{background:#e9faff;color:#33a9d0}.stat-icon.purple{background:#f2efff;color:#7663ce}.stat-icon.orange{background:#fff3e7;color:#e48627}.stats-grid small,.stats-grid strong,.stats-grid em{display:block}.stats-grid small{color:#69758a;font-size:13px}.stats-grid strong{font-size:27px;color:#19264f;margin:3px 0}.stats-grid em{font-style:normal;color:#36a17f;font-size:12px}.stats-grid .warning em{color:#db7b24}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:17px}.panel-head{padding:19px 21px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #edf0f5}.panel-head h2{font-size:17px;margin:0 0 4px}.panel-head p{font-size:13px;color:var(--muted);margin:0}.panel-head a{font-size:13px;color:#4366c5;font-weight:600}.pipeline-bars{height:225px;padding:28px 30px 20px;display:flex;gap:22px;align-items:flex-end;border-bottom:1px solid #f0f2f6}.pipeline-bars>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:9px}.pipe-count{width:100%;border-radius:7px 7px 3px 3px;min-height:20px;position:relative;opacity:.9}.pipe-count b{position:absolute;top:-24px;left:0;right:0;text-align:center;font-size:14px}.pipeline-bars span{font-size:11px;color:#768096;white-space:nowrap}.task-row,.alert-row,.activity-row{display:flex;align-items:center;padding:12px 20px;border-bottom:1px solid #f0f2f6;gap:11px}.task-row:last-child,.alert-row:last-child{border:0}.task-row button{border:2px solid #cbd2df;border-radius:50%;background:none;width:18px;height:18px;font-size:0}.task-row div,.alert-row div{flex:1}.task-row strong,.task-row small,.alert-row strong,.alert-row small{display:block}.task-row strong,.alert-row strong{font-size:13px}.task-row small,.alert-row small{font-size:11px;color:#8b95a8;margin-top:3px}.task-row time,.alert-row time{font-size:11px;color:#768096}.task-row time.late{color:#d75e4f;background:#fff0ed;padding:4px 7px;border-radius:5px}.alert-row>span{width:29px;height:29px;background:#fff3e5;color:#dc872b;border-radius:8px;display:grid;place-items:center;font-weight:700}.activity-row>span{width:30px;height:30px;border-radius:50%;background:#eaf4ff;color:#3461a8;display:grid;place-items:center;font-weight:700}.activity-row div{flex:1}.activity-row p{margin:0;font-size:12px}.activity-row small{font-size:11px;color:#929bad}.empty-small{padding:30px;text-align:center;color:var(--muted)}.filters{display:flex;gap:10px;margin-bottom:15px}.filters select,.filters input{height:40px;border:1px solid #dfe4ec;background:#fff;border-radius:9px;padding:0 12px;outline:none}.search-field{position:relative;display:flex;align-items:center;background:#fff;border:1px solid #dfe4ec;border-radius:9px;padding-left:12px;min-width:330px;color:#8994a7}.search-field input{border:0;flex:1;min-width:0}.table-panel{overflow:hidden}.table-meta{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.table-meta span{font-size:12px;color:var(--muted)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#fafbfc;color:#8992a4;font-size:11px;text-transform:uppercase;letter-spacing:.6px;padding:11px 15px}td{padding:13px 15px;border-top:1px solid #eef1f5;font-size:13px}.candidate-cell{display:flex;align-items:center;gap:10px}.candidate-cell>span{width:35px;height:35px;background:#e9f7fc;color:#2d92b5;border-radius:9px;display:grid;place-items:center;font-weight:700}.candidate-cell strong,.candidate-cell small{display:block}.candidate-cell strong{font-size:14px}.candidate-cell small{font-size:11px;color:#8791a4;margin-top:3px}.badge{font-size:11px;font-weight:700;padding:5px 8px;border-radius:6px;background:#f0f2f5}.badge.premium{background:#edf0ff;color:#465fb7}.badge.standard{background:#f2f3f5;color:#737c8c}.badge.status.available{background:#e9f8f3;color:#178967}.badge.status.option{background:#fff5e7;color:#d58727}.badge.status.in_service{background:#edf2ff;color:#3f61be}.badge.status.to_review,.badge.status.unavailable{background:#fff0ef;color:#d15e58}.stage-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#57c7eb}.stage-dot.interview{background:#5386ef}.stage-dot.training{background:#7c6de8}.stage-dot.internship{background:#f0a13c}.stage-dot.validated{background:#23ad88}.expiry.soon{color:#d76550;font-weight:600}.muted{color:#a0a8b6}.icon-link{color:#4265c4;font-size:18px}.empty{padding:50px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#8992a4}.empty b{color:#566176}.back{display:inline-block;font-size:13px;color:#5570b8;margin-bottom:8px}.form-layout{display:grid;grid-template-columns:190px 1fr;gap:25px;align-items:start}.form-nav{position:sticky;top:95px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.form-nav a{padding:11px;border-radius:8px;color:#69758a;font-size:13px}.form-nav a:hover{background:#eef7fd;color:#2d56a3}.form-content{display:flex;flex-direction:column;gap:17px}.form-section,.simple-form{background:#fff;border:1px solid var(--line);border-radius:13px;padding:23px;box-shadow:var(--shadow)}.section-title{display:flex;gap:13px;margin-bottom:20px}.section-title>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#e9f7fc;color:#2f89ab;font-weight:700}.section-title h2{font-size:18px;margin:0 0 4px}.section-title p{font-size:12px;color:var(--muted);margin:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.fields label,.candidate-form>label,.simple-form label{font-size:12px;font-weight:600;color:#5c687c}.fields input,.fields select,.fields textarea,.stage-panel select,.simple-form input,.simple-form select{width:100%;margin-top:6px;border:1px solid #dfe4ec;background:#fff;border-radius:8px;min-height:40px;padding:9px 11px;outline:none;transition:.2s}.fields input:focus,.fields select:focus,.fields textarea:focus{border-color:#58bde0;box-shadow:0 0 0 3px #e8f8fd}.fields textarea{resize:vertical}.fields .wide{grid-column:1/-1}.form-section h3{font-size:14px;margin:22px 0 12px}.experience-card{background:#fafbfc;border:1px solid #e8ebf1;border-radius:10px;padding:17px;margin:12px 0;position:relative}.experience-card>button{position:absolute;right:12px;top:10px;border:0;background:none;color:#929aa9;font-size:21px}.notice{background:#edf8fc;border-left:3px solid #54c8ee;color:#416579;padding:12px 14px;border-radius:6px;font-size:12px;margin-bottom:17px}.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;color:#4f5b6f}.check input{margin-top:3px}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding:6px 0}.flash{padding:12px 15px;border-radius:9px;margin-bottom:15px;font-size:14px}.flash.success{background:#e7f8f2;color:#157c60}.flash.error{background:#fff0ef;color:#b54d48}.detail-head{margin-bottom:20px}.profile-title{display:flex;align-items:center;gap:15px}.profile-avatar{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:#e6f7fd;color:#2689aa;font-size:22px;font-weight:700}.profile-title>div:nth-child(2){flex:1}.profile-title h1{margin:4px 0}.profile-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:#778299}.stage-panel{padding:18px 20px;margin-bottom:18px;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:22px}.stage-panel>div:first-child span,.stage-panel>div:first-child strong{display:block}.stage-panel>div:first-child span{font-size:10px;color:#8993a5;letter-spacing:1px}.stage-panel>div:first-child strong{font-size:14px;margin-top:4px}.stepper{display:flex}.step{flex:1;position:relative;text-align:center}.step:after{content:'';height:2px;background:#e2e6ed;position:absolute;left:50%;right:-50%;top:11px}.step:last-child:after{display:none}.step i{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#eef1f5;color:#8994a6;font-size:11px;font-style:normal;position:relative;z-index:1}.step span{display:block;font-size:10px;color:#8892a4;margin-top:5px}.step.done i,.step.current i{background:#4fc9ee;color:#fff}.step.done:after{background:#4fc9ee}.stage-panel form{display:flex;gap:7px}.stage-panel select{margin:0}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:17px}.detail-main{display:flex;flex-direction:column;gap:17px}.info-panel{padding-bottom:18px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:20px;margin:0}.info-grid div.full{grid-column:1/-1}.info-grid dt,.side-card dt{font-size:11px;color:#8a94a6;margin-bottom:4px}.info-grid dd,.side-card dd{margin:0;font-size:13px;font-weight:500}.privacy{font-size:11px;color:#8b94a5}.timeline-card{display:flex;gap:12px;margin:0 20px;padding:13px 0;border-top:1px solid #eef0f4}.timeline-card i{width:9px;height:9px;border-radius:50%;background:#52c8ed;margin-top:4px}.timeline-card strong,.timeline-card small{display:block;font-size:13px}.timeline-card small{color:#8791a4;font-size:11px;margin-top:3px}.timeline-card p{font-size:12px;color:#657084}.history-row{display:flex;gap:11px;margin:0 20px;padding:12px 0;border-top:1px solid #eef0f4}.history-row>span{width:29px;height:29px;border-radius:8px;background:#eef2ff;color:#4b63b0;display:grid;place-items:center}.history-row strong,.history-row small{display:block;font-size:12px}.history-row small{font-size:11px;color:#8c95a6;margin-top:3px}.detail-side{display:flex;flex-direction:column;gap:15px}.side-card{padding:18px}.side-card h3{font-size:14px;margin:0 0 14px}.side-card dl{margin:15px 0 0}.side-card dl div{padding:10px 0;border-top:1px solid #eef0f4}.big-status{font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px}.big-status i{width:8px;height:8px;border-radius:50%;background:#18a277}.big-status.in_service i{background:#456acb}.big-status.option i{background:#e9952f}.big-status.to_review i,.big-status.unavailable i{background:#d95d55}.mini-alert{background:#fff2ec;color:#c66146;border-radius:7px;padding:10px;font-size:11px;margin-top:12px}.simple-form{max-width:720px}.login-page{min-height:100vh;background:#fff;display:grid;grid-template-columns:1.1fr .9fr}.login-art{background:linear-gradient(145deg,#142562,#28459f);position:relative;overflow:hidden;color:#fff;padding:8vw}.login-art:after{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(98,209,243,.16);border-radius:50%;right:-90px;bottom:-100px;box-shadow:0 0 0 75px rgba(98,209,243,.04),0 0 0 150px rgba(98,209,243,.025)}.glow{position:absolute;width:280px;height:280px;background:#43c8ee;filter:blur(120px);opacity:.18;top:10%;right:10%}.login-copy{position:absolute;left:9%;right:9%;bottom:12%;z-index:2}.login-copy>span{font-size:12px;letter-spacing:2px;color:#68d4f3}.login-copy h1{font-size:38px;line-height:1.2;margin:15px 0}.login-copy p{color:#b9c5ea}.steps{display:flex;align-items:center;margin-top:45px;width:280px}.steps b{width:24px;height:24px;border-radius:50%;border:1px solid #66cce9;display:grid;place-items:center;font-size:10px;color:#7bd9f4}.steps i{height:1px;background:#4f68ab;flex:1}.login-card{padding:10vh 11vw 8vh;display:flex;flex-direction:column;justify-content:center}.login-card>img{width:175px;height:75px;object-fit:contain;object-position:left center;margin-bottom:45px}.login-card h2{font-size:31px;margin:7px 0}.login-card p{color:#7c879a}.login-card form{margin:25px 0}.login-card label{display:block;font-size:13px;font-weight:600;margin:16px 0}.login-card input{display:block;width:100%;height:47px;border:1px solid #dce1e9;border-radius:9px;margin-top:7px;padding:0 13px}.password{position:relative}.password input{padding-right:70px}.password button{position:absolute;right:10px;top:10px;border:0;background:none;color:#5271bc;font-size:11px}.login-card>small{text-align:center;color:#a0a8b5;font-size:11px}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.stage-panel{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-side{display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 30px rgba(0,0,0,.2)}.main{margin-left:0}.menu-btn{display:block}.topbar{padding:0 17px}.search-top{min-width:0;margin-left:10px}.search-top span,.search-top kbd{display:none}.page{padding:22px 16px}.page-head{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}.search-field{min-width:100%}.form-layout{grid-template-columns:1fr}.form-nav{display:none}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.profile-title{align-items:flex-start;flex-wrap:wrap}.profile-title .head-actions{width:100%}.detail-side{grid-template-columns:1fr}.login-page{display:block;background:linear-gradient(145deg,#142562,#28459f);padding:20px}.login-art{display:none}.login-card{min-height:calc(100vh - 40px);padding:35px;background:#fff;border-radius:18px}.login-card>img{margin-bottom:25px}}

/* Demandes commerciales et référentiels */
.inquiry-board{align-items:start}.inquiry-board>.inquiry-card{overflow:hidden;min-width:0}.inquiry-board>.inquiry-card:only-child{grid-column:1/-1;max-width:980px}.inquiry-card>header{padding:20px 22px 17px;background:linear-gradient(135deg,#fbfdff,#f3f8ff);border-bottom:1px solid var(--line)}.inquiry-card>header h2{font-size:20px;line-height:1.25;color:#17234c}.inquiry-card>header time{white-space:nowrap}.inquiry-card>dl{margin:0;padding:20px 22px;gap:18px 28px}.inquiry-card>dl>div{min-width:0;padding-bottom:12px;border-bottom:1px solid #eef1f5}.inquiry-card>dl dd{overflow-wrap:anywhere}.inquiry-card>.inquiry-message{margin:0 22px 20px;padding:16px 18px;border-left:3px solid var(--sky);background:#f4f8fc;color:#4f5c73}.inquiry-card>.inquiry-service{margin:0 22px 20px;padding:18px}.inquiry-card>.inquiry-service form{flex-wrap:wrap}.inquiry-card>.inquiry-service input,.inquiry-card>.inquiry-service select{min-height:40px;border:1px solid #dfe4ec;border-radius:8px;background:#fff;padding:8px 10px}.inquiry-card>form{padding:20px 22px 22px;border-top:1px solid var(--line);background:#fff}.inquiry-card>form>.fields{margin-bottom:16px}.inquiry-card>form textarea{min-height:88px}.inquiry-card>form>.btn{min-width:130px}
.panel:has(>.inline-create){overflow:hidden;max-width:1120px}.panel>.inline-create{padding:18px 20px;background:linear-gradient(135deg,#fbfdff,#f4f8ff);border-bottom:1px solid var(--line)}.panel>.reference-row{padding:14px 20px;border-bottom:1px solid var(--line);transition:background .18s ease}.panel>.reference-row:last-child{border-bottom:0}.panel>.reference-row:hover{background:#fafcff}.panel>.inline-create input,.panel>.reference-row>input[name="name"]{height:42px;min-width:0;border:1px solid #dfe4ec;border-radius:8px;background:#fff;padding:0 12px;outline:none}.panel>.inline-create input:focus,.panel>.reference-row>input[name="name"]:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-soft)}.panel>.reference-row>.check{min-width:92px;margin:0;align-items:center}.panel>.reference-row>.check input{accent-color:var(--blue)}.panel>.reference-row>.btn{min-width:112px}
@media(max-width:760px){.inquiry-board{grid-template-columns:1fr}.inquiry-board>.inquiry-card:only-child{max-width:none}.inquiry-card>header{align-items:flex-start;flex-direction:column}.inquiry-card>dl{grid-template-columns:1fr}.inquiry-card>.inquiry-service form{align-items:stretch;flex-direction:column}.inquiry-card>.inquiry-service form>*{width:100%}.inquiry-card>form>.btn{width:100%}.panel:has(>.inline-create){max-width:none}.panel>.inline-create,.panel>.reference-row{padding:16px}.panel>.reference-row>.check{min-width:0}}
/* Portraits candidats */
.candidate-cell .candidate-thumb{width:44px;height:44px;flex:0 0 44px;object-fit:cover;object-position:center top;border-radius:11px;border:2px solid #fff;box-shadow:0 3px 12px rgba(32,54,112,.14)}.profile-title .candidate-portrait{width:92px;height:112px;flex:0 0 92px;object-fit:cover;object-position:center top;border-radius:16px;border:4px solid #fff;box-shadow:0 10px 25px rgba(32,54,112,.16)}.profile-title:has(.candidate-portrait){align-items:center}.profile-title:has(.candidate-portrait) h1{font-size:32px}
@media(max-width:520px){.candidate-cell .candidate-thumb{width:40px;height:40px;flex-basis:40px}.profile-title .candidate-portrait{width:78px;height:94px;flex-basis:78px}.profile-title:has(.candidate-portrait) h1{font-size:25px}}
/* Correctifs de recette visuelle 2026-09 */
html,body{max-width:100%;overflow-x:hidden}.main,.page,.panel,.login-card,.login-card form,.password{min-width:0}.sidebar{overflow:hidden}.sidebar nav{min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:3px;scrollbar-width:thin}.sidebar-foot{flex:0 0 auto}.finance-icon,.nav-svg{width:24px;display:grid;place-items:center}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:720px}.stepper{min-width:0}.step{min-width:72px}.stage-panel{max-width:100%}
@media(max-width:780px){.login-page{width:100%;padding:12px}.login-card{width:100%;max-width:100%;min-height:calc(100svh - 24px);padding:28px 20px}.login-card form,.login-card label,.login-card input,.password,.login-card .btn{max-width:100%}.password input{padding-right:76px}.password button{right:8px}.login-card .public-links{align-items:stretch}.login-card .public-links a{text-align:center}.stage-panel{overflow:hidden}.stepper{width:100%;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x proximity}.step{flex:0 0 88px;scroll-snap-align:start}.step:after{left:50%;right:-50%}.profile-title h1,.page-head h1{overflow-wrap:anywhere}.top-actions{margin-left:auto}.filters>*{min-width:0}.modal{max-width:calc(100vw - 24px)}.modal form{padding:18px}.permission-item{align-items:flex-start}.permission-item input{flex:0 0 auto}}
@media(max-width:520px){.page{padding:18px 12px}.topbar{padding:0 12px}.login-card>img{width:150px;height:auto}.login-card h2{font-size:27px}.profile-meta{flex-wrap:wrap}.head-actions,.form-actions,.need-actions{width:100%;flex-direction:column;align-items:stretch}.head-actions .btn,.form-actions .btn,.need-actions .btn{width:100%;justify-content:center}.horizontal-bar{grid-template-columns:minmax(70px,90px) minmax(70px,1fr) 28px;padding:9px 12px}.reference-row,.inline-create{padding:12px}.public-card{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.sidebar nav a[href*="route=finance"] span,.sidebar nav a[href$="/finance"] span{font-size:0;width:22px;height:17px;border:1.8px solid currentColor;border-radius:4px;position:relative}.sidebar nav a[href*="route=finance"] span:before,.sidebar nav a[href$="/finance"] span:before{content:'';position:absolute;left:2px;right:2px;top:4px;border-top:1.8px solid currentColor}.sidebar nav a[href*="route=finance"] span:after,.sidebar nav a[href$="/finance"] span:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;right:3px;bottom:2px;background:currentColor}


/* Workflow métier */
.workflow-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.workflow-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.workflow-card>span{width:34px;height:34px;border-radius:9px;background:#f0f2f7;color:#758096;display:grid;place-items:center;font-weight:700}.workflow-card.complete>span{background:#e6f8f2;color:#178b69}.workflow-card div{flex:1}.workflow-card strong,.workflow-card small{display:block}.workflow-card small{color:var(--muted);margin-top:4px}.workflow-card>b{color:#4666be}.workflow-form,.workflow-settings{display:flex;flex-direction:column;gap:16px}.evaluation-table{overflow:hidden}.evaluation-row{display:grid;grid-template-columns:1.3fr 120px 1fr;gap:18px;align-items:end;padding:16px 20px;border-top:1px solid #eef1f5}.evaluation-row.training{grid-template-columns:1.3fr 130px 110px 1fr}.evaluation-row strong,.evaluation-row small{display:block}.evaluation-row strong em{color:#d45454}.evaluation-row small{color:var(--muted);margin-top:4px}.evaluation-row label,.editor-label,.setting-row label{font-size:12px;font-weight:600;color:#5c687c}.evaluation-row input,.evaluation-row select,.setting-row input{width:100%;height:40px;border:1px solid #dfe4ec;border-radius:8px;padding:0 10px;margin-top:6px;background:#fff}.editor-label{display:block;margin:20px 0 7px}.editor-toolbar{display:flex;gap:5px;padding:7px;border:1px solid #dfe4ec;border-bottom:0;border-radius:9px 9px 0 0;background:#f8f9fb}.editor-toolbar button{border:1px solid #dfe4ec;background:#fff;border-radius:5px;min-width:34px;height:30px}.rich-editor{min-height:230px;border:1px solid #dfe4ec;border-radius:0 0 9px 9px;padding:16px;line-height:1.6;outline:none;background:#fff}.rich-editor:focus{border-color:#58bde0}.setting-row{display:grid;grid-template-columns:1fr 1.3fr 100px 105px 30px;gap:12px;align-items:end;padding:13px 0;border-top:1px solid #edf0f4}.setting-row.module{grid-template-columns:1fr 1.2fr 90px 90px 105px 30px}.setting-row .toggle{height:40px;display:flex;align-items:center;gap:6px}.setting-row .toggle input{width:auto;height:auto;margin:0}.setting-row>button{height:40px;border:0;background:none;color:#d0605d;font-size:20px}.fields.thirds{grid-template-columns:repeat(3,1fr)}.document-form{display:grid;grid-template-columns:150px 150px 1fr auto;gap:8px;padding:16px 20px}.document-form input,.document-form select{height:40px;border:1px solid #dfe4ec;border-radius:8px;padding:7px;background:#fff}.documents-list>div{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid #eef1f5}.documents-list>div>span{width:32px;height:32px;border-radius:8px;background:#edf5ff;color:#4564b7;display:grid;place-items:center}.documents-list>div>div{flex:1}.documents-list strong,.documents-list small{display:block}.documents-list small{color:var(--muted);margin-top:3px}.documents-list a{color:#4265c4;font-weight:600}.documents-list form button{border:0;background:none;color:#d35c57;font-size:19px}.publication-card ul{list-style:none;padding:0;margin:15px 0}.publication-card li{font-size:12px;color:#a0a8b5;padding:5px 0}.publication-card li:before{content:'○';margin-right:7px}.publication-card li.ok{color:#178b69}.publication-card li.ok:before{content:'✓'}
@media(max-width:900px){.workflow-cards{grid-template-columns:1fr}.evaluation-row,.evaluation-row.training,.setting-row,.setting-row.module{grid-template-columns:1fr}.document-form{grid-template-columns:1fr}.fields.thirds{grid-template-columns:1fr}}
.result-block{padding:17px 20px;border-top:1px solid #eef1f5}.result-block>strong{display:block;margin-bottom:5px}.result-block>span{color:#4d68b5;font-weight:600}.result-block>p{color:var(--muted)}.result-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.result-modules>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:8px;padding:10px}.result-modules span,.result-modules b,.result-modules small{display:block}.result-modules b{margin:5px 0;color:#253f98}.result-modules small{color:var(--muted)}.rendered-report{margin-top:12px;padding:15px;background:#fafbfc;border-radius:9px;line-height:1.6}.rendered-report p:first-child{margin-top:0}.rendered-report p:last-child{margin-bottom:0}@media(max-width:780px){.result-modules{grid-template-columns:1fr}}

/* Modules opérations, CRM et finance */
.task-board{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:start}.task-column{background:#eef1f6;border-radius:13px;padding:12px;min-height:300px}.column-head{display:flex;justify-content:space-between;padding:5px 4px 13px}.column-head span{background:#fff;border-radius:10px;padding:2px 7px;color:var(--muted)}.task-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow)}.task-card>div:first-child,.task-card footer{display:flex;justify-content:space-between;align-items:center}.task-card h3{font-size:14px;margin:12px 0 6px}.task-card p{font-size:12px;color:var(--muted)}.task-card>a{font-size:11px;color:#4265c4}.task-card footer{border-top:1px solid #eef0f4;margin-top:12px;padding-top:10px}.task-card select,table select{border:1px solid #dfe4ec;border-radius:6px;background:#fff;padding:5px}.priority{font-size:10px;border-radius:5px;padding:4px 6px;background:#eef1f5}.priority.high,.priority.urgent{background:#fff0ec;color:#ce5a47}.priority.low{background:#edf8f3;color:#248567}.task-card time{font-size:10px;color:var(--muted)}.task-card time.late{color:#d45149;font-weight:700}.modal{width:min(680px,92vw);border:0;border-radius:15px;padding:0;box-shadow:0 25px 70px rgba(21,32,67,.25)}.modal::backdrop{background:rgba(15,24,50,.55)}.modal form{padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h2{margin:0}.modal-head button{border:0;background:none;font-size:22px}.need-card{display:flex;justify-content:space-between;gap:15px;padding:18px 20px;border-top:1px solid #eef1f5}.need-card h3{margin:9px 0 5px}.need-card p,.need-card small{color:var(--muted)}.need-actions{display:flex;gap:8px;align-items:center}.mini-profile{border-top:1px solid #eef0f4;padding:10px 0}.mini-profile strong,.mini-profile small{display:block}.mini-profile small{color:var(--muted);margin-top:3px}.finance-stats{grid-template-columns:repeat(2,minmax(240px,340px))}@media(max-width:900px){.task-board{grid-template-columns:1fr}.need-card{flex-direction:column}.need-actions{align-items:flex-start}.finance-stats{grid-template-columns:1fr}}

/* Catalogue et reporting */
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:var(--shadow)}.profile-card.published{border-color:#afe5d4}.profile-card-head{display:flex;align-items:center;gap:10px}.profile-card-head>span{width:40px;height:40px;border-radius:10px;background:#eaf8fc;color:#2e91b4;display:grid;place-items:center;font-weight:700}.profile-card-head div{flex:1}.profile-card-head b,.profile-card-head small{display:block}.profile-card-head small{color:var(--muted)}.profile-card-head em{font-style:normal;font-size:10px;background:#f0f2f5;color:#788296;padding:4px 7px;border-radius:5px}.profile-card.published em{background:#e7f8f1;color:#178966}.profile-card h2{font-size:17px;margin:17px 0 6px}.profile-card>p{color:var(--muted);min-height:38px}.profile-card dl{border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;padding:10px 0}.profile-card dl div{display:flex;justify-content:space-between;padding:4px 0}.profile-card dt{color:var(--muted)}.profile-card dd{margin:0;font-weight:600}.profile-card>a{display:inline-block;color:#4265c4;font-weight:600;margin-top:10px}.report-chart{padding-bottom:20px}.horizontal-bar{display:grid;grid-template-columns:120px 1fr 35px;gap:12px;align-items:center;padding:9px 20px}.horizontal-bar span{font-size:12px}.horizontal-bar i{height:8px;background:#edf1f6;border-radius:10px;overflow:hidden}.horizontal-bar b{display:block;height:100%;background:linear-gradient(90deg,#54c8ee,#394fa8);border-radius:10px}.horizontal-bar strong{text-align:right}@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.catalog-grid{grid-template-columns:1fr}.horizontal-bar{grid-template-columns:90px 1fr 25px}}

.doc-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.doc-actions .btn{padding:7px 10px;font-size:13px}.reference-row,.inline-create{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#e7edf5)}.reference-row input,.inline-create input{flex:1}.filters{display:flex;gap:12px;margin-bottom:18px}.filters input{flex:1}@media(max-width:760px){.reference-row,.inline-create,.filters{align-items:stretch;flex-direction:column}}

.public-card{width:min(820px,calc(100% - 32px));margin:40px auto;background:#fff;border-radius:24px;padding:34px;box-shadow:0 20px 60px #1f3e8f1a}.public-card>img{width:190px;margin-bottom:24px}.public-card form{display:grid;gap:16px}.public-list{width:min(1200px,calc(100% - 32px));margin:32px auto}.public-list header{display:flex;align-items:center;gap:24px;margin-bottom:30px}.public-list header img{width:170px}.public-list header div{flex:1}.public-list .profile-card form{display:grid;gap:9px;margin-top:18px}.public-list input,.public-list textarea{width:100%}.public-links{display:flex;justify-content:space-between;gap:16px;margin-top:18px}.notification-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #e7edf5}.notification-row.read{opacity:.58}.top-actions a{display:grid;place-items:center;color:inherit;text-decoration:none}@media(max-width:760px){.public-list header{align-items:flex-start;flex-direction:column}.public-card{padding:22px}.public-links{flex-direction:column}}

.public-flash{position:fixed;z-index:20;top:16px;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 32px))}

.inquiry-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.inquiry-card header{display:flex;justify-content:space-between;gap:15px}.inquiry-card header h2{margin:10px 0 0}.inquiry-card header p,.inquiry-card time{color:var(--muted);font-size:13px}.inquiry-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inquiry-card dt{font-size:12px;color:var(--muted)}.inquiry-card dd{margin:2px 0;font-weight:650}.inquiry-message{padding:14px;background:#f6f9fc;border-radius:10px;margin:14px 0}.inquiry-shortlist{color:var(--primary)}@media(max-width:900px){.inquiry-board{grid-template-columns:1fr}}

/* Icônes vectorielles du module finance */
.nav-svg svg,.finance-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-svg{display:grid;place-items:center}.finance-icon svg{width:22px;height:22px}


.error-page{min-height:65vh;display:grid;place-content:center;text-align:center;max-width:620px;margin:auto}.error-code{font-size:clamp(70px,12vw,140px);font-weight:800;color:#dce7fb;line-height:1}.error-page h1{font-size:32px;margin:8px}.error-page p{color:var(--muted);margin:0 0 24px}.error-page>div:last-child{display:flex;justify-content:center;gap:10px}.role-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.permission-panel{padding:24px;max-width:850px}.permission-panel h3{margin:24px 0 8px;color:#293f98}.permission-item{display:flex;gap:12px;padding:11px;border-bottom:1px solid var(--line);align-items:center}.permission-item span,.permission-item strong,.permission-item small{display:block}.permission-item small{color:var(--muted);margin-top:2px}


.inquiry-service{background:#f0f7fb;border-radius:10px;padding:14px;margin:12px 0;display:grid;gap:8px}.inquiry-service span{color:var(--muted)}.inquiry-service form{display:flex;align-items:end;gap:10px}.inquiry-service label{display:grid;gap:5px}.quality-surveys{margin-top:20px}.stars{color:#f3a51f}
.inquiry-details,.inquiry-documents{margin:14px 0;padding:14px;border-radius:12px;background:#f7f9fd;border:1px solid #e3e8f2}.inquiry-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 0}.inquiry-details dt{font-size:.72rem;color:#71809f;text-transform:capitalize}.inquiry-details dd{margin:2px 0 0;font-weight:600}.inquiry-documents{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:680px){.inquiry-details dl{grid-template-columns:1fr}}

/* Menu compact, accessible et défilement discret */
html,body{overflow-x:clip}
.sidebar{height:100vh;height:100dvh;padding-top:18px;padding-bottom:18px}
.sidebar .brand,.sidebar .workspace-label,.sidebar-foot{flex-shrink:0}
.sidebar .workspace-label{margin:18px 14px 12px;font-size:10px}
.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#849bd477 transparent;padding-right:5px;gap:4px}
.sidebar nav::-webkit-scrollbar{width:5px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar nav::-webkit-scrollbar-thumb{background:#849bd477;border-radius:20px}
.sidebar nav::-webkit-scrollbar-thumb:hover{background:#abc1ef}
.sidebar nav a{min-height:40px;height:auto;padding:9px 12px;font-size:13px;flex-shrink:0;line-height:1.35}
.nav-group{flex-shrink:0;border-top:1px solid #ffffff12;margin-top:6px;padding-top:6px}
.nav-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;color:#bdcbf0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:8px}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover{background:#ffffff0d;color:white}
.nav-chevron{font-size:22px;line-height:1;transition:transform .15s}
.nav-group[open] .nav-chevron{transform:rotate(90deg)}
.nav-group-links{display:flex;flex-direction:column;gap:3px;padding-bottom:4px}
.sidebar-foot{margin-top:12px;padding-top:14px}
.sidebar summary:focus-visible,.sidebar a:focus-visible{outline:2px solid #68d2ef;outline-offset:-2px}
.topbar{position:fixed;top:0;left:248px;right:0;z-index:30}
.main{padding-top:70px}
.sidebar-backdrop{display:none}
input[type=checkbox],input[type=radio]{width:18px;height:18px;flex:0 0 18px;padding:0;margin:0;accent-color:var(--blue);cursor:pointer}
@media(max-width:1100px){.sidebar{transform:translateX(-100%);z-index:60;transition:transform .2s ease}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.topbar{left:0}.menu-btn{display:block;width:44px;height:44px;flex-shrink:0}.sidebar-open{overflow:hidden}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;border:0;background:#10225266;z-index:50;backdrop-filter:blur(2px)}.search-top{min-width:0;flex:1}.search-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.sidebar,.nav-chevron{transition:none}}

/* Pièces jointes : ne jamais laisser la largeur native du fichier pousser le bouton. */
.document-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.document-form>*{min-width:0;max-width:100%}
.document-form input[type=file]{width:100%;grid-column:1/-1;height:auto;min-height:44px;overflow:hidden;font-size:13px}
.document-form select,.document-form input[type=date]{width:100%}
.document-form [data-upload-submit]{justify-self:start;min-height:42px;white-space:normal}
.document-form [data-upload-submit]:disabled{opacity:.65;cursor:wait}
.upload-feedback{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--blue);padding:12px;background:#eef4ff;border-radius:10px;overflow-wrap:anywhere}
.upload-feedback[hidden],.upload-feedback progress[hidden]{display:none}
.upload-feedback.is-error{background:#fff0f0;color:#a52c34}
.upload-spinner{display:none;width:17px;height:17px;border:2px solid #bac9ed;border-top-color:var(--blue);border-radius:50%;flex-shrink:0;animation:upload-spin .8s linear infinite}
.is-uploading .upload-spinner{display:inline-block}
.upload-feedback progress{width:100%;height:7px;accent-color:var(--blue)}
@keyframes upload-spin{to{transform:rotate(360deg)}}
@media(min-width:1400px){.document-form{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(0,2fr) auto}.document-form input[type=file]{grid-column:auto}}
@media(max-width:480px){.document-form{grid-template-columns:minmax(0,1fr)}.document-form [data-upload-submit]{width:100%;justify-self:stretch}}
@media(prefers-reduced-motion:reduce){.upload-spinner{animation:none}}
