:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f9fc}body{min-width:320px;margin:0;font-family:Inter,Arial,sans-serif}#root{min-height:100vh}:root{--primary:#06f;--primary-dark:#0a4fd0;--primary-darker:#004bc4;--primary-soft:#eaf3ff;--primary-softer:#f4f8ff;--primary-ring:#0066ff24;--background:#f6f8fb;--surface:#fff;--surface-soft:#f8fafc;--text-dark:#0f172a;--text-body:#334155;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--success:#10b981;--success-soft:#ecfdf5;--success-text:#047857;--warning-soft:#fffbeb;--warning-text:#b45309;--danger:#ef4444;--danger-soft:#fef2f2;--danger-text:#b91c1c;--footer:#07111f;--radius-sm:8px;--radius:10px;--radius-md:12px;--radius-lg:16px;--shadow-xs:0 1px 2px #0f172a0d;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow:0 8px 22px #0f172a0f;--shadow-md:0 14px 34px #0f172a17;--shadow-blue:0 12px 26px #06f3;--shadow-lg:0 24px 60px #0f172a24}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--background);min-width:320px;color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.6}button,a{font:inherit;color:inherit}img{max-width:100%;display:block}a{text-decoration:none}button{cursor:pointer;background:0 0;border:0}h1,h2,h3,h4{color:var(--text-dark);letter-spacing:-.015em;font-weight:800;line-height:1.2}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.muted-text{color:var(--text-secondary);margin:0;font-size:.92rem}.btn{border-radius:var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 18px;font-size:.92rem;font-weight:700;line-height:1;transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,transform .12s,opacity .18s;display:inline-flex}.btn:hover,.btn:focus-visible{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{color:#fff;background:var(--primary);box-shadow:var(--shadow-sm)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--primary-dark);box-shadow:var(--shadow-blue)}.btn-secondary{color:var(--text-body);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover,.btn-secondary:focus-visible{color:var(--primary);border-color:#06f6}.btn-light{color:var(--primary);background:var(--surface);box-shadow:var(--shadow)}.btn-danger{color:#fff;background:var(--danger);box-shadow:var(--shadow-sm)}.btn-danger:hover,.btn-danger:focus-visible{background:#dc2626}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover,.btn-ghost:focus-visible{color:var(--primary);background:var(--primary-soft)}.btn-sm{border-radius:var(--radius-sm);min-height:34px;padding:0 12px;font-size:.84rem}.reveal{opacity:0;transition:opacity .56s,transform .56s;transform:translateY(18px)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.home-page{background:radial-gradient(circle at 12% 0%, #0066ff12, transparent 26rem), linear-gradient(180deg, #fff 0%, var(--background) 16rem);width:100%;min-height:100vh;overflow-x:clip}.container{width:min(1180px,100% - 40px);margin:0 auto}.site-header{z-index:50;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;transition:box-shadow .2s,border-color .2s;position:sticky;top:0}.site-header.scrolled{border-color:var(--border-strong);box-shadow:0 8px 24px #0f172a0f}.nav-wrap{grid-template-columns:auto 1fr auto auto;align-items:center;gap:22px;min-height:76px;transition:min-height .2s;display:grid}.site-header.scrolled .nav-wrap{min-height:66px}.brand{align-items:center;width:170px;display:inline-flex}.brand-logo-image,.footer-logo{object-fit:contain;width:170px;height:auto}.main-nav{justify-content:center;align-items:center;gap:clamp(14px,2vw,26px);display:flex}.main-nav a{color:var(--text-body);font-size:.93rem;font-weight:700;transition:color .16s}.main-nav a:hover,.main-nav a:focus-visible{color:var(--primary)}.header-btn{min-width:128px}.mobile-menu-button{border:1px solid var(--border);border-radius:var(--radius);width:42px;height:42px;color:var(--primary);background:var(--surface);justify-content:center;align-items:center;font-size:1.15rem;display:none}.mobile-menu{background:var(--surface);opacity:0;border-top:1px solid #0000;gap:4px;max-height:0;padding:0 20px;transition:max-height .22s,padding .22s,opacity .18s,transform .18s,border-color .18s;display:grid;overflow:hidden;transform:translateY(-6px)}.mobile-menu.open{border-color:var(--border);opacity:1;max-height:460px;padding:12px 20px 18px;transform:translateY(0)}.mobile-menu a{color:var(--text-body);border-radius:var(--radius-sm);padding:11px 8px;font-weight:700}.mobile-menu a:hover{background:var(--surface-soft);color:var(--primary)}.mobile-menu .mobile-cta{width:100%;margin-top:6px}.hero-section{padding:clamp(46px,7vw,88px) 0 clamp(56px,6vw,84px)}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,.85fr);align-items:center;gap:clamp(34px,5vw,64px);display:grid}.hero-copy{max-width:620px}.eyebrow{border-radius:var(--radius);background:var(--primary-soft);width:fit-content;min-height:30px;color:var(--primary);letter-spacing:.03em;text-transform:uppercase;border:1px solid #0066ff29;align-items:center;padding:.44rem .8rem;font-size:.74rem;font-weight:800;display:inline-flex}.eyebrow-alt{background:var(--surface)}.hero-copy h1{letter-spacing:-.03em;margin:18px 0 14px;font-size:clamp(2.05rem,4.4vw,3.4rem);line-height:1.08}.hero-copy p{max-width:560px;color:var(--text-body);margin:0;font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.7}.section-heading p,.info-card p,.benefit-card p,.timeline-item p,.cta-box p,.footer-brand-block p{color:var(--text-secondary);line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero-actions .btn{min-height:44px;padding-inline:22px}.hero-visual{position:relative}.hero-frame{border-radius:var(--radius-lg);isolation:isolate;min-height:470px;position:relative}.hero-frame:before{content:"";z-index:-1;border-radius:var(--radius-lg);background:linear-gradient(145deg,#0066ff24,#fff3);border:1px solid #0066ff24;position:absolute;inset:26px -14px -14px 30px}.hero-frame img{border-radius:var(--radius-lg);object-fit:cover;width:100%;height:470px;box-shadow:var(--shadow-md)}.hero-glow{border-radius:var(--radius-lg);pointer-events:none;background:linear-gradient(200deg,#0066ff14,#0000 55%);position:absolute;inset:0}.floating-card{border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#fffffff5;border:1px solid #e2e8f0e6;align-items:center;gap:12px;padding:12px 16px;animation:5s ease-in-out infinite floatCard;display:flex;position:absolute}.floating-card-top{top:18px;left:22px}.floating-card-bottom{flex-direction:column;align-items:flex-start;gap:2px;animation-delay:1.2s;bottom:96px;right:18px}.floating-card svg{color:var(--primary);font-size:1.2rem}.floating-card strong{color:var(--text-dark);font-size:.95rem;line-height:1.3}.floating-card span{color:var(--text-secondary);font-size:.8rem;font-weight:600}.hero-stat-strip{border-radius:var(--radius-md);background:var(--border);box-shadow:var(--shadow-md);border:1px solid #e2e8f0e6;grid-template-columns:repeat(2,1fr);gap:1px;display:grid;position:absolute;bottom:20px;left:20px;right:20px;overflow:hidden}.hero-stat-strip div{background:#fffffff7;gap:2px;padding:12px 16px;display:grid}.hero-stat-strip strong{color:var(--primary);font-size:1.1rem;line-height:1.2}.hero-stat-strip span{color:var(--text-secondary);font-size:.78rem;font-weight:600}.section-block{padding:clamp(52px,6vw,84px) 0}.program-section{background:var(--surface)}.program-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:center;gap:clamp(30px,5vw,56px);display:grid}.section-heading h2{letter-spacing:-.025em;margin:14px 0 12px;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.12}.section-heading p{max-width:640px;margin:0;font-size:.98rem}.section-heading.center{text-align:center}.section-heading.center p{margin:0 auto}.program-panel{position:relative}.program-panel img{border-radius:var(--radius-lg);object-fit:cover;width:100%;height:330px;box-shadow:var(--shadow-md)}.program-note{border-radius:var(--radius-md);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07111fd1;border:1px solid #ffffff24;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;font-weight:600;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.program-note svg{color:#7fb2ff;flex-shrink:0;font-size:1.05rem}.priority-section,.process-section{background:var(--background)}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px;display:grid}.priority-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);padding:22px;transition:transform .18s,box-shadow .18s,border-color .18s}.info-card:hover{box-shadow:var(--shadow);border-color:#06f3;transform:translateY(-3px)}.mini-icon{border-radius:var(--radius);width:46px;height:46px;color:var(--primary);background:var(--primary-soft);place-items:center;margin-bottom:16px;font-size:1.15rem;display:grid}.blue-soft{background:var(--primary-soft)}.info-card h3,.benefit-card h3,.timeline-item h3{margin:0 0 8px;font-size:1.02rem;line-height:1.3}.info-card p,.benefit-card p,.timeline-item p{margin:0;font-size:.92rem}.why-section{background:var(--surface)}.benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.benefit-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);grid-template-columns:auto 1fr;gap:16px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.benefit-card:hover{box-shadow:var(--shadow);border-color:#06f3;transform:translateY(-3px)}.benefit-card .mini-icon{margin-bottom:0}.timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:34px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(90deg,#0000,#0066ff80,#0000);height:2px;position:absolute;top:25px;left:8%;right:8%}.timeline-item{z-index:1;text-align:center;padding:18px 12px;position:relative}.timeline-marker{border-radius:var(--radius);color:#fff;background:var(--primary);min-height:50px;box-shadow:var(--shadow-blue);grid-template-columns:auto auto;align-items:center;gap:8px;margin-bottom:14px;padding:0 12px;display:inline-grid}.timeline-marker span{font-size:.95rem;font-weight:800}.timeline-marker svg{font-size:.95rem}.impact-section{background:linear-gradient(135deg,#07111fdb,#0066ffb8),url(/images/Le%20futur%20de%20la%20productivite%CC%81%20_%20les%20applications%20personnalise%CC%81es.jpeg) 50%/cover no-repeat;min-height:clamp(380px,46vw,520px)}.impact-overlay{min-height:inherit;align-items:center;padding:70px 0;display:grid}.impact-section .eyebrow{color:#fff;background:#ffffff1f;border-color:#fff3}.impact-section h2{color:#fff;letter-spacing:-.03em;max-width:760px;margin:18px 0 0;font-size:clamp(2rem,4.4vw,3.9rem);line-height:1.05}.cta-section{background:var(--background);padding:clamp(56px,7vw,88px) 0}.cta-box{border-radius:var(--radius-lg);color:#fff;background:var(--primary);box-shadow:var(--shadow-blue);justify-content:space-between;align-items:center;gap:26px;padding:clamp(26px,4vw,42px);display:flex;position:relative;overflow:hidden}.cta-box:after{content:"";border:1px solid #ffffff38;border-radius:50%;width:240px;height:240px;position:absolute;top:-90px;right:-90px}.cta-box>*{z-index:1;position:relative}.cta-box h2{color:#fff;letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.12}.cta-box p{color:#ffffffd6;margin:0;font-size:1rem}.cta-btn{flex:none;min-height:46px;padding-inline:22px}.site-footer{background:var(--footer);color:#ffffffb8;padding:54px 0 20px}.footer-grid{grid-template-columns:minmax(250px,1.55fr) repeat(3,1fr);gap:30px;padding-bottom:30px;display:grid}.footer-brand-block p{max-width:340px;margin:16px 0 0;font-size:.92rem}.site-footer h3{color:#fff;margin:0 0 14px;font-size:.98rem}.site-footer ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.site-footer a{transition:color .16s}.site-footer a:hover,.site-footer a:focus-visible{color:#fff}.contact-list li{align-items:center;gap:10px;display:flex}.contact-list svg{color:#63a2ff}.social-links{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.social-links a{border-radius:var(--radius-sm);background:#ffffff14;place-items:center;width:36px;height:36px;display:grid}.social-links a:hover{background:var(--primary)}.footer-bottom{color:#ffffff8f;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:18px;font-size:.88rem;display:flex}.auth-page{background:var(--background);grid-template-columns:minmax(0,1fr) minmax(400px,.66fr);min-height:100vh;display:grid}.auth-visual{color:#fff;background:linear-gradient(135deg,#07111fe6,#0066ffbd),url(/images/YOUTH%20EMPOWERMENT,%20ADULT_.jpeg) 50%/cover no-repeat;flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,60px);display:flex;position:relative;overflow:hidden}.auth-visual:after{content:"";background:linear-gradient(#0000000f,#00000038);position:absolute;inset:0}.auth-visual>*{z-index:1;position:relative}.back-link{color:#fff;opacity:.92;background:0 0;align-self:flex-start;align-items:center;gap:9px;padding:0;font-size:.92rem;font-weight:700;transition:opacity .16s;display:inline-flex}.back-link:hover,.back-link:focus-visible{opacity:1}.auth-visual h1{color:#fff;letter-spacing:-.03em;max-width:700px;margin:20px 0 16px;font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.06}.auth-visual p{color:#ffffffd1;max-width:580px;margin:0;font-size:1.02rem;line-height:1.7}.auth-visual .eyebrow{color:#fff;background:#ffffff1f;border-color:#fff3}.auth-panel{align-items:center;padding:clamp(26px,5vw,56px);display:grid}.auth-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,500px);box-shadow:var(--shadow-md);margin:0 auto;padding:clamp(24px,3.6vw,34px)}.auth-card .auth-icon{border-radius:var(--radius-md);width:52px;height:52px;color:var(--primary);background:var(--primary-soft);place-items:center;font-size:1.3rem;display:grid}.auth-card h2{letter-spacing:-.02em;margin:16px 0 6px;font-size:1.45rem}.auth-card>p{color:var(--text-secondary);margin:0;font-size:.94rem;line-height:1.6}.auth-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:4px;width:100%;margin-top:20px;padding:4px;display:inline-flex}.auth-toggle button{border-radius:var(--radius-sm);min-height:38px;color:var(--text-secondary);background:0 0;flex:1;font-size:.9rem;font-weight:700;transition:color .16s,background-color .16s,box-shadow .16s}.auth-toggle button.active{color:var(--primary);background:var(--surface);box-shadow:var(--shadow-sm)}.auth-form,.compact-form{gap:14px;margin-top:20px;display:grid}.auth-form label,.compact-form label,.form-grid label{color:var(--text-dark);gap:6px;font-size:.88rem;font-weight:700;display:grid}.auth-form input,.auth-form select,.compact-form input,.compact-form select,.dossier-actions select,.admin-toolbar input,.admin-toolbar select,.data-table select.inline-select{border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;min-height:42px;color:var(--text-dark);background:var(--surface);font:inherit;outline:none;padding:0 12px;font-size:.92rem;transition:border-color .16s,box-shadow .16s,background-color .16s}.password-field{align-items:center;display:flex;position:relative}.password-field input{padding-right:42px}.password-toggle{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);background:0 0;place-items:center;font-size:.95rem;transition:color .16s,background-color .16s;display:grid;position:absolute;right:8px}.password-toggle:hover,.password-toggle:focus-visible{background:var(--primary-soft);color:var(--primary)}.auth-form input:hover,.auth-form select:hover,.compact-form input:hover,.compact-form select:hover,.dossier-actions select:hover,.admin-toolbar input:hover,.admin-toolbar select:hover,.data-table select.inline-select:hover{border-color:#0066ff73}.auth-form input:focus,.auth-form select:focus,.compact-form input:focus,.compact-form select:focus,.dossier-actions select:focus,.admin-toolbar input:focus,.admin-toolbar select:focus,.data-table select.inline-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);background:var(--surface)}.compact-form input[type=file]{align-items:center;min-height:42px;padding:8px 10px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-alert{border:1px solid var(--danger-soft);border-radius:var(--radius-sm);color:var(--danger-text);background:var(--danger-soft);padding:11px 13px;font-size:.9rem;font-weight:600;line-height:1.5}.form-alert.muted{color:var(--text-body);background:var(--primary-soft);border-color:#0066ff24}.auth-help,.form-note{color:var(--text-body);align-items:center;gap:8px;margin-top:14px;font-size:.86rem;font-weight:600;line-height:1.5;display:inline-flex}.auth-form .btn,.auth-card .btn{min-height:44px;margin-top:2px}.portal-page{background:radial-gradient(circle at 8% 0%, #0066ff0f, transparent 22rem), var(--background);min-height:100vh;padding:clamp(16px,2vw,28px)}.candidate-portal-page,.admin-portal-page{padding:0}.candidate-shell,.admin-shell{background:var(--background);min-height:100vh;display:flex}.candidate-sidebar,.admin-sidebar{background:var(--footer);border-right:1px solid #ffffff0f;flex-direction:column;width:236px;min-height:100vh;padding:16px 12px 12px;display:flex;position:sticky;top:0}.candidate-sidebar-brand,.admin-sidebar-brand{color:#fff;border-bottom:1px solid #ffffff14;gap:2px;padding:6px 10px 16px;display:grid}.candidate-sidebar-brand span,.admin-sidebar-brand span{letter-spacing:.1em;font-size:1.05rem;font-weight:900}.candidate-sidebar-brand small,.admin-sidebar-brand small{color:#ffffff9e;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.candidate-nav,.admin-nav{flex-direction:column;gap:4px;padding-top:16px;display:flex}.candidate-nav-item,.admin-nav-item{border-radius:var(--radius);color:#ffffffb8;text-align:left;background:0 0;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;font-size:.88rem;font-weight:600;transition:color .16s,background-color .16s;display:flex}.candidate-nav-item svg,.admin-nav-item svg{flex-shrink:0;font-size:1rem}.candidate-nav-item:hover,.admin-nav-item:hover{color:#fff;background:#ffffff12}.candidate-nav-item.active,.admin-nav-item.active{color:#fff;background:#06f9;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff1a}.candidate-logout,.admin-logout{color:#ffffff8c;margin-top:auto}.candidate-logout:hover,.admin-logout:hover{color:#fff;background:#ef444429}.candidate-content,.admin-content{flex:1;min-width:0;padding:clamp(22px,3vw,38px)}.portal-header{justify-content:space-between;align-items:flex-end;gap:20px;width:min(1180px,100%);margin:0 auto 18px;display:flex}.candidate-header,.admin-header{width:100%}.portal-header h1{letter-spacing:-.02em;margin:10px 0 6px;font-size:clamp(1.3rem,1.8vw,1.65rem);line-height:1.15}.portal-header p{max-width:680px;color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.6}.portal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.drawer-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:42px;height:42px;color:var(--text-dark);flex:none;justify-content:center;align-items:center;font-size:1.05rem;display:none}.drawer-scrim{z-index:30;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;border:0;position:fixed;inset:0}.drawer-scrim svg{color:#fff;font-size:1.3rem;position:absolute;top:20px;right:20px}.admin-profile-chip{border:2px solid var(--surface);background:var(--primary-soft);width:40px;height:40px;color:var(--primary);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;font-weight:800;display:grid;overflow:hidden}.admin-profile-chip img{object-fit:cover;width:100%;height:100%}.portal-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:16px;width:min(1180px,100%);margin:0 auto 16px;display:grid}.portal-grid.wide{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.profile-page-grid,.admin-single{grid-template-columns:minmax(0,1fr);width:min(1180px,100%);margin:0 auto 16px;display:grid}.admin-section{align-items:start;gap:0;width:min(1180px,100%);margin:0 auto;display:grid}.admin-dashboard{gap:16px;display:grid}.list-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;width:min(1180px,100%);margin:0 auto 14px;display:flex}.list-toolbar .btn{min-height:38px}.form-page-nav{width:min(1180px,100%);margin:0 auto 12px}.form-page-card{width:min(1180px,100%);max-width:840px;margin:0 auto}.scholarship-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,960px);min-width:0;box-shadow:var(--shadow);margin:0 auto;padding:clamp(16px,3vw,32px)}.scholarship-form__stepper{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);gap:20px;margin:24px 0;padding:20px 12px;display:grid}.scholarship-form__meta{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;display:flex}.scholarship-form__meta strong{color:var(--text-dark)}.scholarship-form__track{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin:0;padding:0;list-style:none;display:grid}.scholarship-form__item{min-width:0;position:relative}.scholarship-form__step{z-index:1;width:100%;min-height:44px;color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:0 4px;font-size:.78rem;font-weight:600;display:flex;position:relative}.scholarship-form__step.is-active{color:var(--primary);font-weight:800}.scholarship-form__step.is-done{color:var(--success-text)}.scholarship-form__dot{border:2px solid var(--border-strong);background:var(--surface);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;transition:background-color .18s,border-color .18s,box-shadow .18s;display:grid}.scholarship-form__step.is-active .scholarship-form__dot{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 0 0 5px var(--primary-ring)}.scholarship-form__step.is-done .scholarship-form__dot{border-color:var(--success-text);background:var(--success-soft)}.scholarship-form__label{overflow-wrap:anywhere;line-height:1.4}.scholarship-form__line{background:var(--border-strong);width:100%;height:2px;transition:background-color .18s;position:absolute;top:19px;left:50%}.scholarship-form__item.is-done .scholarship-form__line{background:var(--success-text)}.scholarship-form__content,.scholarship-form__section{gap:20px;min-width:0;display:grid}.scholarship-form__title{margin:0;font-size:clamp(1.1rem,2vw,1.35rem)}.scholarship-form__hint{color:var(--text-secondary);margin:-8px 0 0;font-size:.9rem;line-height:1.6}.scholarship-form__actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:24px;display:flex}.scholarship-form__actions .btn{white-space:normal;min-height:46px;line-height:1.4}.verification-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.verification-block{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg, var(--surface-soft), var(--surface));gap:12px;padding:16px;display:grid}.verification-block h3{letter-spacing:-.01em;margin:0;font-size:.96rem}.verification-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.verification-list li{border-bottom:1px solid var(--border);color:var(--text-body);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:.85rem;display:flex}.verification-list li:last-child{border-bottom:0}.verification-list li span{color:var(--text-secondary);font-weight:700}.verification-list li strong{color:var(--text-dark);text-align:right;word-break:break-word;font-size:.86rem}.verification-block.full-width{grid-column:1/-1}.scholarship-form .form-grid,.scholarship-form .docs-grid{align-items:start;gap:20px}.scholarship-form .form-grid label{gap:8px;min-width:0}.scholarship-form input:where(:not([type=checkbox]):not([type=file])),.scholarship-form select{border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;min-width:0;min-height:46px;color:var(--text-dark);background:var(--surface);font:inherit;padding:10px 12px;font-size:1rem;font-weight:400;transition:border-color .16s,box-shadow .16s}.scholarship-form input::placeholder{color:var(--text-secondary)}.scholarship-form :is(input,select):hover{border-color:var(--primary)}.scholarship-form :is(input,select):focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px var(--primary-ring)}.scholarship-form :is(input,select)[aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}.scholarship-form .dossier-checks{border:0;min-width:0;margin:0;padding:0}.scholarship-form .file-field{background:var(--surface-soft);min-width:0;padding:16px}.scholarship-form .file-field .btn{min-height:44px}.dossier-documents-grid{flex-direction:column;gap:12px;display:flex}.dossier-document{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-soft);flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.dossier-document.is-selected{border-color:var(--primary);background:var(--primary-soft)}.dossier-document.has-error{border-color:var(--danger)}.dossier-document h4{overflow-wrap:anywhere;margin:0;font-size:.9rem}.dossier-document__file{align-items:center;gap:12px;display:flex}.dossier-document__icon{border-radius:var(--radius-sm);height:44px;color:var(--primary);background:var(--surface);flex:0 0 38px;place-items:center;font-size:1.3rem;display:grid}.dossier-document__info{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.dossier-document__info strong{font-size:.9rem}.dossier-document__info span,.dossier-document__hint{color:var(--text-secondary);font-size:.8rem}.dossier-document__hint{overflow-wrap:anywhere;margin:0}.dossier-document__sublabel{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:.8rem}.dossier-document__actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.dossier-document__actions .btn{white-space:normal;min-height:44px}.dossier-document:focus-within{outline:2px solid var(--primary);outline-offset:2px}.dossier-documents-summary{margin-top:24px}.dossier-documents-summary>summary{cursor:pointer;padding:12px 0;font-weight:700}.scholarship-form .verification-block{min-width:0}@media (width<=1080px){.scholarship-form .form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.scholarship-form .form-grid,.scholarship-form .form-grid.cols-3,.scholarship-form .docs-grid,.scholarship-form .check-grid,.scholarship-form .verification-grid{grid-template-columns:minmax(0,1fr)}.scholarship-form .criteria-row-grid{grid-template-columns:auto 1fr;gap:4px}.scholarship-form__meta{flex-direction:column;align-items:flex-start;gap:4px}.scholarship-form__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.scholarship-form__dot{width:32px;height:32px;font-size:.9rem}.scholarship-form__line{top:15px}.scholarship-form__actions{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;display:grid}.scholarship-form__actions .btn{padding:10px 8px;font-size:.82rem}.scholarship-form .verification-list li{flex-direction:column;gap:4px}.scholarship-form .verification-list strong{text-align:left}}@media (width<=760px){.verification-grid{grid-template-columns:1fr}.list-toolbar{justify-content:stretch}.list-toolbar .btn{flex:1;min-height:44px}.criteria-row-grid{grid-template-columns:auto 1fr;gap:4px}}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:min(1180px,100%);margin:0 auto 16px;display:grid}.candidate-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;box-shadow:var(--shadow-xs);text-align:left;color:var(--text-dark);align-content:start;gap:4px;padding:16px 16px 14px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}button.summary-card{cursor:pointer}.summary-card:hover,.summary-card:focus-visible{box-shadow:var(--shadow);border-color:#0066ff40;transform:translateY(-2px)}.summary-card span{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.summary-card strong{color:var(--text-dark);letter-spacing:-.03em;font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.1}.summary-card small{color:var(--text-body);font-size:.84rem;line-height:1.45}.portal-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);padding:clamp(16px,1.9vw,22px)}.portal-card-title{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.portal-card-title svg{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--primary);background:var(--primary-soft);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.portal-card-title h2{letter-spacing:-.01em;margin:0;font-size:1rem}.dossier-page-layout{grid-template-columns:minmax(0,1fr);width:min(1180px,100%);margin:0 auto 16px;display:grid}.dossier-banner{border-radius:var(--radius-md);background:linear-gradient(120deg, var(--primary-softer) 0%, var(--surface) 55%), var(--surface);box-shadow:var(--shadow-xs);border:1px solid #0066ff24;justify-content:space-between;align-items:center;gap:22px;padding:clamp(18px,2.4vw,28px);display:flex}.dossier-banner-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.dossier-banner h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.2rem,1.9vw,1.5rem)}.dossier-banner-message{color:var(--danger);max-width:640px;margin:8px 0 0;font-size:.94rem;line-height:1.6}.dossier-banner-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.dossier-banner-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dossier-state-label{color:var(--text-secondary);font-size:.9rem;font-weight:700}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th{border-bottom:1px solid var(--border);color:var(--text-secondary);background:var(--surface-soft);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 12px;font-size:.74rem;font-weight:800}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-body);padding:12px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background-color .14s}.data-table tbody tr:hover{background:var(--surface-soft)}.data-table .cell-title{color:var(--text-dark);font-weight:700;line-height:1.35;display:block}.data-table .cell-sub{color:var(--text-secondary);margin-top:2px;font-size:.84rem;line-height:1.4;display:block}.data-table .cell-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.data-table select.inline-select{width:auto;min-width:150px;min-height:38px;padding:0 30px 0 12px;font-size:.86rem}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.admin-toolbar input{flex:220px;max-width:360px}.admin-toolbar select{width:auto;min-width:170px}.dossier-toolbar{margin-bottom:12px}.notice{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:10px;width:100%;margin:2px 0 12px;padding:12px 14px;font-size:.9rem;line-height:1.55;animation:.18s noticeIn;display:flex}.notice-icon{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:.8rem;display:inline-flex}.notice-body{min-width:0}.notice-body strong{font-size:.9rem;font-weight:700;display:block}.notice-body p{margin:2px 0 0;font-size:.86rem;line-height:1.5}.notice-action{border-radius:var(--radius-sm);color:inherit;background:0 0;border:1px solid;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;font-size:.82rem;font-weight:700;transition:background-color .16s,color .16s;display:inline-flex}.notice-action:hover,.notice-action:focus-visible{background:#0000000f}.notice-close{border-radius:var(--radius-sm);width:26px;height:26px;color:inherit;opacity:.7;background:0 0;flex-shrink:0;place-items:center;margin-left:auto;font-size:.85rem;transition:opacity .16s,background-color .16s;display:grid}.notice-close:hover,.notice-close:focus-visible{opacity:1;background:#0000000f}.notice.success{color:var(--success-text);background:var(--success-soft);border-color:#10b98147}.notice.success .notice-icon{color:#fff;background:var(--success)}.notice.error{color:var(--danger-text);background:var(--danger-soft);border-color:#ef444447}.notice.error .notice-icon{color:#fff;background:var(--danger)}.notice.warning{color:var(--warning-text);background:var(--warning-soft);border-color:#f59e0b4d}.notice.warning .notice-icon{color:#fff;background:#f59e0b}.notice.info{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.notice.info .notice-icon{color:#fff;background:var(--primary)}@keyframes noticeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.stacked-form-blocks{gap:16px;display:grid}.compact-form{border-top:1px solid var(--border);padding-top:16px}.compact-form h3{align-items:center;gap:8px;margin:0 0 4px;font-size:1rem;display:flex}.form-section{gap:12px;padding:2px 0 16px;display:grid}.form-section+.form-section{border-top:1px solid var(--border);padding-top:14px}.form-section-title{color:var(--text-secondary);letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:700}.form-section-hint{color:var(--text-secondary);margin:-6px 0 0;font-size:.84rem;line-height:1.5}.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.file-field{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:8px;padding:12px;display:grid}.file-field-label{color:var(--text-dark);font-size:.86rem;font-weight:700;line-height:1.35}.file-field-control{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-field-name{min-width:0;color:var(--text-body);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.82rem;font-weight:600;overflow:hidden}.file-field-name.empty{color:var(--text-muted);font-weight:500}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-page-card .form-actions{justify-content:flex-end;margin-top:2px}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkbox-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);flex-direction:row;align-items:center;min-height:42px;padding:10px 12px;transition:border-color .16s,background-color .16s;color:var(--text-body)!important;gap:10px!important;font-size:.88rem!important;font-weight:600!important;display:flex!important}.checkbox-row:hover{background:var(--surface);border-color:#0066ff59}.checkbox-row input{width:17px;height:17px;accent-color:var(--primary);flex-shrink:0;margin:0}.scholarship-form .checkbox-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);gap:10px;margin-top:8px;padding:10px 14px}.scholarship-form .checkbox-row label{color:var(--text-body);cursor:pointer;font-size:.88rem;font-weight:600}.criteria-list{gap:12px;margin-top:4px;display:grid}.criterion-row{grid-template-columns:1fr;gap:8px;display:grid}.criterion-label{color:var(--text-body);padding:6px 0;font-size:.88rem;font-weight:600;line-height:1.5}.criteria-row-grid{grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:0 2px;display:grid}.edition-display{color:var(--text-dark);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-soft);cursor:default;padding:8px 12px;font-size:.92rem;font-weight:600}.radio-cell{height:16px;margin:0;padding:0;position:relative}.radio-cell--radio{cursor:pointer;justify-content:center;align-items:center;width:16px;min-width:16px;display:flex}.radio-cell--label{cursor:default;align-items:center;padding:0;display:inline-flex}.radio-cell--radio input[type=radio]{opacity:0;cursor:pointer;z-index:1;width:16px;height:16px;margin:0;position:absolute}.radio-custom{border:2px solid var(--border-strong);background:var(--surface);pointer-events:none;border-radius:50%;flex-shrink:0;width:16px;height:16px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:inline-block}.radio-cell--radio input[type=radio]:checked+.radio-custom{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--surface), 0 0 0 2px var(--primary-ring)}.radio-cell--radio input[type=radio]:focus-visible+.radio-custom{outline:2px solid var(--primary);outline-offset:2px}.radio-text{color:var(--text-body);cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;padding:0 2px;font-size:.88rem;font-weight:600}.radio-text:hover{color:var(--text-body);background:0 0}.radio-cell--radio:has(input[type=radio]:checked) .radio-text{color:var(--primary)}.status-pill{min-height:26px;color:var(--text-secondary);background:var(--surface-soft);white-space:nowrap;border:1px solid #64748b38;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.status-pill svg{font-size:.8rem}.status-pill.success,.status-pill.status-bourse_acceptee{color:var(--success-text);background:var(--success-soft);border-color:#10b98140}.status-pill.status-soumis{color:#1e40af;background:#eff6ff;border-color:#3b82f640}.status-pill.status-documents_incomplets,.status-pill.status-refuse{color:var(--danger-text);background:var(--danger-soft);border-color:#ef444440}.status-pill.status-documents_incomplets{color:var(--warning-text);background:var(--warning-soft);border-color:#f59e0b4d}.status-pill.status-preselectionne{color:#1e40af;background:#eff6ff;border-color:#3b82f64d}.status-pill.status-en_cours{color:var(--text-secondary);background:var(--surface-soft);border-color:#64748b40}.role-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.role-badge.candidat{color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border)}.role-badge.administrateur{color:#1e3a8a;background:#eff6ff;border:1px solid #3b82f640}.edition-list{gap:8px;display:grid}.tracking-list{gap:8px}.edition-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,box-shadow .16s;display:flex}.edition-item:hover{box-shadow:var(--shadow-xs);border-color:#0066ff38}.edition-item strong{color:var(--text-dark);font-size:.94rem;line-height:1.35;display:block}.edition-item div span{color:var(--text-body);margin-top:3px;font-size:.86rem;font-weight:600;display:block}.edition-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dossier-actions .btn{min-height:36px;padding:0 12px;font-size:.86rem}.dossier-record{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.dossier-record+.dossier-record{margin-top:8px}.dossier-detail-grid{border-top:1px solid var(--border);background:var(--surface-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.dossier-detail-grid div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);gap:2px;padding:10px 12px;display:grid}.dossier-detail-grid span{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:.76rem;font-weight:700}.dossier-detail-grid strong{color:var(--text-dark);font-size:.92rem;font-weight:700}.dossier-detail-section{margin-bottom:20px}.dossier-detail-section h3{color:var(--primary);border-bottom:2px solid var(--primary-soft);margin-bottom:10px;padding-bottom:6px;font-size:1rem}.dossier-detail-section.full-width{grid-column:1/-1}dl.detail-list{gap:8px;display:grid}dl.detail-list div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:1fr 2fr;gap:8px;padding:8px 12px;display:grid}dl.detail-list dt{color:var(--text-secondary);font-size:.82rem;font-weight:600}dl.detail-list dd{color:var(--text-dark);margin:0;font-size:.88rem}.detail-file-link{color:var(--primary);align-items:center;gap:4px;font-size:.85rem;text-decoration:none;display:inline-flex}.detail-file-link:hover{text-decoration:underline}.detail-file-actions{align-items:center;gap:8px;display:inline-flex}.detail-file-actions .detail-file-link{background:var(--primary-soft);color:var(--primary);border-radius:4px;padding:2px 8px;font-size:.82rem;transition:background .15s}.detail-file-actions .detail-file-link:hover{background:var(--primary);color:#fff;text-decoration:none}.detail-text{color:var(--text-body);margin:0;font-size:.9rem}.notification-list{gap:10px;display:grid}.notification-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);gap:12px;padding:12px 14px;display:flex}.notification-dot{background:var(--primary);border-radius:999px;flex-shrink:0;width:10px;height:10px;margin-top:7px}.notification-item strong{color:var(--text-dark);font-size:.92rem;display:block}.notification-item p{color:var(--text-body);margin:4px 0;font-size:.88rem;line-height:1.55}.notification-item small{color:var(--text-secondary);font-size:.78rem;font-weight:600}.profile-card{overflow:hidden}.profile-header-card{align-items:center;gap:clamp(16px,2.4vw,22px);padding:4px 0 18px;display:flex}.profile-avatar-wrap{flex-shrink:0}.profile-avatar-wrap img,.profile-avatar-placeholder{border-radius:var(--radius-lg);object-fit:cover;width:clamp(72px,7vw,92px);height:clamp(72px,7vw,92px);box-shadow:var(--shadow-sm);place-items:center;display:grid}.profile-avatar-placeholder{background:linear-gradient(135deg, var(--primary-soft), #dfeeff);color:var(--primary);font-size:clamp(1.35rem,1.6vw,1.7rem);font-weight:800}.profile-summary{flex:1;min-width:0}.profile-summary h2{letter-spacing:-.02em;margin:8px 0 4px;font-size:clamp(1.3rem,1.8vw,1.6rem)}.profile-summary p{color:var(--text-secondary);margin:0;font-size:.9rem;font-weight:600}.profile-action-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.profile-action-row .btn{min-height:38px;padding:0 14px;font-size:.88rem}.avatar-edit-button{margin-top:8px}.profile-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.profile-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:14px 14px 8px}.profile-section h3{margin:0 0 10px;font-size:.95rem}.profile-list{gap:0;margin:0;display:grid}.profile-list div{border-bottom:1px solid var(--border);grid-template-columns:132px 1fr;align-items:start;gap:10px;padding:9px 0;display:grid}.profile-list div:last-child{border-bottom:0}.profile-list dt{color:var(--text-secondary);font-size:.8rem;font-weight:700}.profile-list dd{color:var(--text-dark);word-break:break-word;margin:0;font-size:.9rem;font-weight:600}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{border-radius:var(--radius-lg);background:var(--surface);width:min(680px,100%);max-height:min(86vh,680px);box-shadow:var(--shadow-lg);overflow:auto}.modal-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}.modal-header h3{letter-spacing:-.01em;margin:0;font-size:1.06rem}.modal-close{border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);background:var(--surface-soft);place-items:center;font-size:1.35rem;line-height:1;transition:color .16s,background-color .16s,border-color .16s;display:grid}.modal-close:hover,.modal-close:focus-visible{color:var(--danger-text);background:var(--danger-soft);border-color:#ef444459}.modal-body{padding:18px 20px 20px}.modal-form{border-top:0;margin-top:0;padding-top:0}.modal-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}@media (width<=1080px){.nav-wrap{grid-template-columns:auto auto auto}.main-nav{display:none}.mobile-menu-button{display:inline-flex}.brand{margin-right:auto}.hero-grid,.program-grid{grid-template-columns:1fr}.hero-copy{max-width:720px}.hero-frame{width:min(620px,100%);margin:0 auto}.priority-grid,.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline{grid-template-columns:1fr;max-width:640px;margin:34px auto 0}.timeline:before{background:linear-gradient(#0000,#0066ff80,#0000);width:2px;height:auto;top:0;bottom:0;left:25px}.timeline-item{text-align:left;grid-template-columns:auto 1fr;align-items:start;column-gap:16px;padding:16px 0;display:grid}.timeline-marker{grid-row:span 2;margin-bottom:0}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.auth-page{grid-template-columns:1fr}.auth-visual{min-height:300px}.auth-panel{padding-top:24px}.candidate-sidebar,.admin-sidebar{z-index:40;width:min(86vw,300px);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:20px 0 48px #0f172a2e}.drawer-open .candidate-sidebar,.drawer-open .admin-sidebar{transform:translate(0)}.candidate-content,.admin-content{padding:18px 16px 28px}.drawer-toggle{display:inline-flex}.portal-grid,.portal-grid.wide{grid-template-columns:1fr}}@media (width<=760px){.container{width:min(100% - 28px,1180px)}.nav-wrap{gap:10px;min-height:64px}.site-header.scrolled .nav-wrap{min-height:60px}.brand,.brand-logo-image{width:132px}.header-btn{display:none}.mobile-menu a{min-height:44px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-frame{min-height:400px}.hero-frame:before{inset:14px -8px -8px 14px}.hero-frame img{height:400px}.floating-card-top{top:12px;left:12px}.floating-card-bottom{bottom:84px;right:12px}.hero-stat-strip{bottom:12px;left:12px;right:12px}.priority-grid,.benefits-grid{grid-template-columns:1fr}.cta-box{flex-direction:column;align-items:flex-start}.cta-btn{width:100%}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.portal-header{flex-direction:column;align-items:flex-start;gap:12px}.portal-actions{justify-content:flex-start;width:100%}.summary-grid,.candidate-summary{grid-template-columns:1fr}.dossier-banner{flex-direction:column;align-items:flex-start;gap:16px}.dossier-banner-actions{width:100%}.dossier-banner-actions .btn{flex:1}.profile-header-card,.profile-content-grid{grid-template-columns:1fr;display:grid}.profile-header-card{align-items:flex-start;gap:14px}.profile-action-row,.modal-actions{flex-direction:column}.profile-action-row .btn,.modal-actions .btn{width:100%}.form-grid,.form-grid.cols-3,.check-grid,.docs-grid,.modal-form .form-grid{grid-template-columns:1fr}.form-page-card .form-actions .btn{flex:1;min-height:44px}.admin-toolbar input,.admin-toolbar select{max-width:100%}.edition-item{flex-direction:column;align-items:flex-start}.dossier-actions{justify-content:flex-start;width:100%}.dossier-detail-grid{grid-template-columns:1fr}.data-table{min-width:640px}.portal-card{border-radius:14px}.auth-visual{min-height:250px}.auth-card{border-radius:16px}}@media (width<=460px){.hero-copy h1{font-size:2rem}.hero-frame,.hero-frame img{height:380px;min-height:380px}.hero-stat-strip{grid-template-columns:1fr}.auth-page{display:block}.auth-panel{padding:16px 14px 28px}.candidate-content,.admin-content{padding:16px 14px 24px}.modal-backdrop{align-items:flex-end;padding:12px}.modal-panel{border-radius:16px 16px 0 0;width:100%;max-height:92vh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.data-table th.ta-right{text-align:right}.data-table .cell-empty{text-align:center;color:var(--text-secondary);padding:22px 12px;font-size:.9rem}.data-table .cell-actions{justify-content:flex-end}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dossier-detail-panel{border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:10px;overflow:hidden}.dossier-detail-panel .dossier-detail-grid{border-top:0}fieldset{border:0;min-width:0;margin:0;padding:0}.data-table tbody tr td[colspan]{border:0}.profile-avatar-frame{width:fit-content;position:relative}.profile-avatar-edit{border:2px solid var(--surface);color:#fff;background:var(--primary);width:30px;height:30px;box-shadow:var(--shadow-sm);border-radius:999px;place-items:center;font-size:.8rem;transition:background-color .16s,transform .16s;display:grid;position:absolute;bottom:-4px;right:-4px}.profile-avatar-edit:hover,.profile-avatar-edit:focus-visible{background:var(--primary-dark);transform:scale(1.06)}.avatar-edit-button{width:fit-content;margin:10px auto 0}.modal-panel-sm{width:min(560px,100%)}.avatar-tool{gap:14px;display:grid}.avatar-tool-body{align-items:center;gap:22px;padding:4px 0 2px;display:flex}.avatar-tool-preview{background:var(--surface-soft);border:1px solid var(--border);width:clamp(104px,24vw,132px);height:clamp(104px,24vw,132px);box-shadow:var(--shadow-sm);border-radius:999px;flex-shrink:0;position:relative;overflow:hidden}.avatar-tool-preview img,.avatar-tool-placeholder{object-fit:cover;width:100%;height:100%}.avatar-tool-placeholder{color:var(--primary);background:linear-gradient(135deg, var(--primary-soft), #dfeeff);place-items:center;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:800;display:grid}.avatar-tool-badge{border:2px solid var(--surface);color:#fff;background:var(--primary);border-radius:999px;place-items:center;width:34px;height:34px;font-size:.85rem;display:grid;position:absolute;bottom:6px;right:6px}.avatar-tool-actions{flex:1;min-width:0}.avatar-tool-actions h3{margin:0 0 6px;font-size:1rem}.avatar-tool-actions p{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.55}.avatar-tool-actions .avatar-tool-hint{color:var(--text-muted);margin-top:4px;font-size:.82rem}.avatar-tool-buttons{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.avatar-tool-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding-top:14px;display:flex}@media (width<=520px){.avatar-tool-body{text-align:center;flex-direction:column;align-items:center}.avatar-tool-buttons,.avatar-tool-footer{justify-content:center}.avatar-tool-footer .btn{flex:1}}.spin{animation:.9s linear infinite spin}.toast-container{z-index:200;gap:10px;width:min(380px,100vw - 32px);display:grid;position:fixed;top:20px;right:20px}.toast{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);border:1px solid;align-items:flex-start;gap:10px;padding:13px 14px;animation:.22s toastIn;display:flex}.toast-icon{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;font-size:.9rem;display:inline-flex}.toast-content{flex:1;min-width:0}.toast-content strong{color:var(--text-dark);font-size:.92rem;line-height:1.3;display:block}.toast-content p{color:var(--text-body);margin:2px 0 0;font-size:.86rem;line-height:1.45}.toast-close{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);background:0 0;flex-shrink:0;place-items:center;font-size:.95rem;transition:color .16s,background-color .16s;display:grid}.toast-close:hover,.toast-close:focus-visible{color:var(--text-dark);background:var(--surface-soft)}.toast.success{border-color:#10b9814d}.toast.success .toast-icon{background:var(--success)}.toast.error{border-color:#ef44444d}.toast.error .toast-icon{background:var(--danger)}.toast.warning{border-color:#f59e0b52}.toast.warning .toast-icon{background:#f59e0b}.toast.info{border-color:#0066ff40}.toast.info .toast-icon{background:var(--primary)}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;justify-items:center;gap:6px;padding:26px 16px;display:grid}.empty-state-icon{border-radius:var(--radius-md);width:48px;height:48px;color:var(--primary);background:var(--primary-soft);place-items:center;margin-bottom:4px;font-size:1.25rem;display:grid}.empty-state strong{color:var(--text-dark);font-size:.98rem}.empty-state p{max-width:420px;color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.55}.loading-state{color:var(--text-secondary);align-items:center;gap:10px;padding:22px 14px;font-size:.9rem;font-weight:600;display:flex}.loading-state svg{color:var(--primary);font-size:1.05rem}.confirm-dialog{text-align:center;justify-items:center;width:min(420px,100%);padding:28px 26px 24px;display:grid}.confirm-dialog-icon{width:52px;height:52px;color:var(--primary);background:var(--primary-soft);border-radius:999px;place-items:center;margin-bottom:14px;font-size:1.4rem;display:grid}.confirm-dialog-icon.danger{color:var(--danger-text);background:var(--danger-soft)}.confirm-dialog h3{letter-spacing:-.01em;margin:0 0 6px;font-size:1.15rem}.confirm-dialog p{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.55}.confirm-dialog-actions{justify-content:center;gap:10px;width:100%;margin-top:20px;display:flex}.confirm-dialog-actions .btn{min-width:110px}@media (width<=760px){.toast-container{width:auto;top:12px;left:12px;right:12px}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .btn{width:100%}}.required-star{color:var(--danger);margin-left:2px;font-size:1rem;font-weight:800}.field-error{color:var(--danger-text);margin:5px 0 0;padding-left:2px;font-size:.8rem;font-weight:600;line-height:1.4;animation:.16s noticeIn}.field-error:before{content:"•";margin-right:6px}.field-error+.field-error{margin-top:2px}.session-gate{background:var(--surface-soft);place-items:center;min-height:100vh;padding:24px;display:grid}
