:root{
  --navy:#0b3e73;--blue:#0e68b5;--cyan:#19a9c7;--green:#28b636;--green2:#159447;
  --ink:#17324b;--muted:#677d90;--bg:#f4f8fb;--paper:#fff;--line:#dde7ed;
  --danger:#b42318;--warn:#b54708;--shadow:0 12px 34px rgba(17,55,86,.08);--r:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:.86rem}.wrap{width:min(1160px,calc(100% - 34px));margin:auto}
/* Public */
.public-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.public-nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{width:250px;display:block}.public-nav nav{display:flex;align-items:center;gap:20px;font-weight:700;font-size:.94rem}.hero{background:linear-gradient(135deg,#f8fff9 0%,#eef8ff 55%,#f7fbff 100%);padding:82px 0 74px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:60px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #bfe5ca;background:#effaf2;color:#148a3e;border-radius:999px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.hero h1{font-size:clamp(2.9rem,5vw,4.7rem);line-height:1.03;margin:16px 0;color:var(--navy);letter-spacing:-.04em}.hero h1 span{color:var(--green)}.hero p{font-size:1.12rem;color:var(--muted);max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.academic-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--shadow)}.academic-card .mini-title{display:flex;align-items:center;gap:10px}.timeline-item{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid #edf2f5}.timeline-item:last-child{border:0}.timeline-num{width:36px;height:36px;border-radius:12px;background:#ecf8ef;color:var(--green2);display:grid;place-items:center;font-weight:900}.section{padding:72px 0}.section.white{background:#fff}.section-head{max-width:760px;margin:0 auto 34px;text-align:center}.section-head h2{font-size:2.3rem;color:var(--navy);margin:8px 0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:0 7px 20px rgba(17,55,86,.05)}.feature .ico{width:46px;height:46px;border-radius:14px;background:#eaf5ff;color:var(--blue);display:grid;place-items:center;margin-bottom:15px}.feature h3{margin:0 0 7px}.feature p{margin:0;color:var(--muted)}.public-footer{background:#082e58;color:#dceaf5;padding:34px 0}.public-footer .footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.public-footer img{width:220px;background:#fff;border-radius:12px;padding:4px}.wa{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.18);z-index:60}.wa img{width:29px;height:29px}
/* Controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:10px 15px;font-weight:800;transition:.15s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--navy);color:#fff}.btn.green{background:var(--green);color:#fff}.btn.blue{background:var(--blue);color:#fff}.btn.soft{background:#edf5fa;color:var(--navy);border:1px solid #d4e4ee}.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}.btn.danger{background:#fff1f0;color:var(--danger);border:1px solid #f3cac7}.btn.sm{padding:7px 10px;font-size:.86rem;border-radius:9px}.icon{width:18px;height:18px;display:inline-block;vertical-align:-3px;flex:0 0 auto}.icon.lg{width:23px;height:23px}.icon.xl{width:30px;height:30px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:0 7px 24px rgba(17,55,86,.045)}.card.flat{box-shadow:none}.card h2,.card h3{margin-top:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#eef5f8;color:#496579;font-size:.78rem;font-weight:800}.pill.green{background:#eaf8ee;color:#14833d}.pill.blue{background:#eaf4ff;color:#145c9e}.pill.orange{background:#fff3e8;color:#a84605}.pill.red{background:#fff0ef;color:#ad2b22}.pill.gray{background:#f0f3f5;color:#62707c}.badge-role{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}.notice{padding:13px 14px;border-radius:12px;background:#eef7ff;border:1px solid #d7e8f6;color:#295a80}.notice.success{background:#edf9f1;border-color:#cfecd8;color:#176c38}.notice.warn{background:#fff8e8;border-color:#f4e2aa;color:#8d5b00}.notice.danger{background:#fff1f0;border-color:#f2cfcc;color:#a02c23}
/* Auth */
.auth-page{min-height:100vh;background:linear-gradient(140deg,#f1fbf4,#eef7ff);display:grid;place-items:center;padding:28px}.auth-shell{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.auth-shell .auth-logo{width:280px;display:block;margin:0 auto 16px}.auth-shell h1{text-align:center;color:var(--navy);margin:7px 0}.auth-shell>p{text-align:center;color:var(--muted)}label{display:block;font-weight:750;font-size:.91rem;margin:13px 0 5px}input,textarea,select{width:100%;border:1px solid #cddce5;background:#fff;color:var(--ink);border-radius:11px;padding:10px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:#79acd3;box-shadow:0 0 0 3px #e7f2fb}textarea{min-height:96px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.auth-shell .btn{width:100%;margin-top:12px}.link-button{background:none;border:0;color:var(--blue);font-weight:700;padding:8px 0}
/* App shell */
.app-body{min-height:100vh;background:var(--bg)}.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{background:#082f59;color:#dce8f1;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:16px 14px;overflow:auto}.sidebar-brand{background:#fff;border-radius:14px;padding:4px 7px;margin-bottom:16px}.sidebar-brand img{width:100%;display:block}.side-profile{padding:13px 10px 15px;border-bottom:1px solid rgba(255,255,255,.11);margin-bottom:10px}.side-profile strong{display:block;color:#fff}.side-profile small{color:#9fc0d7}.nav-section{font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;color:#82a9c3;padding:12px 10px 5px;font-weight:900}.nav-btn{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;color:#dce8f1;padding:10px 11px;border-radius:11px;text-align:left;font-weight:700;margin:2px 0}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.105);color:#fff}.nav-btn.active{box-shadow:inset 3px 0 0 var(--green)}.nav-btn .icon{color:#8fcee7}.nav-btn.active .icon{color:#68dd78}.sidebar-bottom{margin-top:auto;padding-top:12px}.app-main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.top-title{display:flex;align-items:center;gap:11px}.title-icon{width:38px;height:38px;border-radius:12px;background:#edf5fb;color:var(--blue);display:grid;place-items:center}.top-title h1{font-size:1.25rem;margin:0;color:var(--navy)}.top-user{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;display:grid;place-items:center;font-weight:900}.mobile-menu{display:none;background:none;border:0;color:var(--navy);padding:5px}.content{padding:24px;max-width:1440px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h2{font-size:1.65rem;color:var(--navy);margin:0}.page-head p{margin:4px 0 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:13px}.stat .stat-icon{width:44px;height:44px;border-radius:13px;background:#eef6fc;color:var(--blue);display:grid;place-items:center}.stat strong{display:block;font-size:1.55rem;color:var(--navy);line-height:1.1}.stat span{font-size:.8rem;color:var(--muted)}.dash-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.list{display:grid;gap:10px}.list-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;gap:16px}.list-row:hover{border-color:#c2d6e2}.person{display:flex;gap:12px;align-items:center}.person-avatar{width:42px;height:42px;border-radius:13px;background:#eaf3f9;color:var(--navy);display:grid;place-items:center;font-weight:900}.person h4{margin:0}.person p{margin:2px 0 0;color:var(--muted);font-size:.86rem}.row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.divider{height:1px;background:var(--line);margin:16px 0}.progress{height:9px;background:#e8eff2;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--cyan))}.deadline{display:flex;align-items:center;gap:10px;font-weight:800}.deadline.good{color:#16843e}.deadline.warn{color:#ad6500}.deadline.late{color:var(--danger)}.deadline-box{border:1px solid var(--line);border-radius:14px;padding:14px}.deadline-box h4{margin:0 0 5px}.deadline-box .meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.85rem}
/* messages */
.chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;min-height:610px}.chat-contacts{border-right:1px solid var(--line);background:#fbfdfe;overflow:auto}.contact{padding:13px;border-bottom:1px solid #edf1f4;display:flex;gap:10px;align-items:center;cursor:pointer}.contact:hover,.contact.active{background:#edf6fb}.chat-main{display:flex;flex-direction:column;min-width:0}.chat-head{padding:14px 16px;border-bottom:1px solid var(--line);font-weight:800}.chat-messages{flex:1;padding:17px;overflow:auto;display:flex;flex-direction:column;gap:10px;background:#f8fbfc}.bubble-msg{max-width:min(74%,620px);padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line)}.bubble-msg.mine{align-self:flex-end;background:#eaf7ee;border-color:#cfead5}.bubble-msg small{display:block;color:var(--muted);margin-top:5px}.chat-compose{padding:12px;border-top:1px solid var(--line);display:flex;gap:9px}.chat-compose textarea{min-height:46px;height:46px}.chat-compose .btn{align-self:stretch}
/* tables/settings */
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:11px 13px;border-bottom:1px solid #edf2f4;text-align:left;vertical-align:middle}.table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#61798b;background:#f8fbfc}.table tr:last-child td{border-bottom:0}.table td .btn{margin:2px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filter-row input,.filter-row select{width:auto;min-width:190px}.setting{padding:13px 0;border-bottom:1px solid var(--line)}.setting:last-child{border:0}.setting-grid{display:grid;grid-template-columns:1fr 170px 90px;gap:12px;align-items:center}.announcement{border-left:4px solid var(--blue);padding:13px 14px;background:#f7fbfe;border-radius:0 12px 12px 0;margin:10px 0}.announcement.pinned{border-left-color:var(--green);background:#f4fbf6}.announcement h4{margin:0 0 4px}.announcement p{margin:0;color:#49677c}.announcement small{color:var(--muted)}
/* modal/toast */
.modal{position:fixed;inset:0;background:rgba(6,30,53,.48);display:none;align-items:center;justify-content:center;padding:18px;z-index:100}.modal.open{display:flex}.modal-card{background:#fff;border-radius:20px;width:min(720px,100%);max-height:92vh;overflow:auto;padding:22px;box-shadow:0 22px 70px rgba(0,0,0,.2)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.modal-head h3{margin:0;color:var(--navy)}.icon-btn{width:36px;height:36px;border:0;border-radius:10px;background:#eef4f7;color:var(--navy);display:grid;place-items:center}.toast{position:fixed;right:20px;top:84px;z-index:120;background:#fff;border-left:4px solid var(--green);border-radius:10px;padding:12px 15px;box-shadow:var(--shadow);display:none;max-width:360px}.toast.show{display:block}.toast.error{border-left-color:var(--danger)}.empty{text-align:center;padding:35px 20px}.empty .empty-icon{width:58px;height:58px;border-radius:18px;background:#eef5f8;color:#7b9caf;display:grid;place-items:center;margin:0 auto 12px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.cards3{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.public-nav nav a:not(.btn){display:none}.hero-grid{grid-template-columns:1fr}.hero{padding:55px 0}.app-shell{display:block}.sidebar{position:fixed;left:-285px;width:270px;z-index:70;transition:left .2s}.sidebar.open{left:0}.mobile-menu{display:grid;place-items:center}.topbar{padding:0 14px}.content{padding:17px 13px}.chat-layout{grid-template-columns:1fr;min-height:0}.chat-contacts{border-right:0;border-bottom:1px solid var(--line);max-height:220px}.chat-main{min-height:480px}.top-user .user-text{display:none}}
@media(max-width:620px){.brand{width:205px}.public-nav{height:68px}.hero h1{font-size:2.6rem}.grid3,.cards2,.cards3,.stats{grid-template-columns:1fr}.public-footer .footer-row{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.list-row{align-items:flex-start;flex-direction:column}.row-actions{justify-content:flex-start}.setting-grid{grid-template-columns:1fr}.filter-row input,.filter-row select{width:100%}.bubble-msg{max-width:90%}.content{padding-bottom:80px}}

/* =========================================================
   UX refresh — public site, authentication and brand system
   ========================================================= */
:root{
  --navy-950:#062a4d;--navy-900:#0a365f;--navy-800:#0b3e73;--navy-700:#11558d;
  --green-600:#18a83f;--green-500:#25b942;--green-100:#eaf9ee;
  --sky-100:#eef7fd;--surface:#ffffff;--surface-soft:#f7fafc;
  --text:#17324b;--text-soft:#62798d;--border:#dce7ed;
  --shadow-soft:0 18px 48px rgba(13,57,92,.08);--shadow-card:0 10px 30px rgba(13,57,92,.07);
}
body.public-page{background:#fff}
.brand-lockup{display:inline-flex;align-items:center;gap:10px;min-width:0;color:inherit}.brand-mark{width:52px;height:52px;flex:0 0 52px;border-radius:15px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 4px 14px rgba(9,54,91,.06)}.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}.brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1}.brand-name{font-size:1.36rem;font-weight:900;letter-spacing:-.035em;color:var(--navy-800);white-space:nowrap}.brand-name>span{color:var(--green-600)}.brand-copy small{color:#6f8597;font-size:.69rem;margin-top:5px;letter-spacing:.01em;white-space:nowrap}
.public-header{box-shadow:0 1px 0 rgba(18,58,90,.04)}.public-nav-v2{height:82px}.desktop-public-nav{display:flex;align-items:center;gap:24px}.desktop-public-nav>a:not(.btn){font-size:.92rem;font-weight:700;color:#36556f}.desktop-public-nav>a:not(.btn):hover{color:var(--navy-800)}.nav-signin{padding:10px 2px}.mobile-signin{display:none;align-items:center;gap:7px;color:var(--navy-800);font-weight:800;font-size:.88rem}.mobile-signin svg{width:21px;height:21px}
.hero-v2{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 12%,rgba(25,169,199,.12),transparent 26%),radial-gradient(circle at 8% 85%,rgba(37,185,66,.09),transparent 28%),linear-gradient(135deg,#fbfffc 0%,#f3f9fd 56%,#eef7fc 100%);padding:88px 0 78px}.hero-v2:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(18,86,130,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(18,86,130,.028) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 85%);pointer-events:none}.hero-grid-v2{position:relative;grid-template-columns:minmax(0,1.02fr) minmax(390px,.78fr);gap:72px}.hero-copy-v2{max-width:700px}.hero-label{display:inline-flex;align-items:center;gap:8px;color:#557084;font-size:.78rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.hero-label>span{width:27px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--green-500),var(--blue))}.hero-wordmark{margin:17px 0 2px;font-size:clamp(3.45rem,6.2vw,5.9rem);font-weight:950;line-height:.95;letter-spacing:-.065em;white-space:nowrap}.hero-wordmark .aide{color:var(--green-600)}.hero-wordmark .dash{color:#2a7fb2;margin:0 .02em}.hero-wordmark .memoire{color:var(--navy-800)}.hero-copy-v2 h1{font-size:clamp(1.85rem,3vw,3rem);font-weight:780;line-height:1.12;letter-spacing:-.035em;color:#203c55;margin:15px 0 14px}.hero-lead{font-size:1.08rem!important;line-height:1.72;max-width:650px;color:#60788b!important}.hero-role-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.hero-role-chips span{background:#fff;border:1px solid #d9e6ec;color:#456177;border-radius:999px;padding:6px 11px;font-size:.78rem;font-weight:800;box-shadow:0 3px 12px rgba(13,57,92,.035)}.hero-actions{margin-top:24px}.btn-lg{min-height:48px;padding:12px 19px;border-radius:13px}.hero-note{font-size:.8rem!important;margin:12px 0 0!important;color:#7a8f9f!important}
.workspace-preview{position:relative;background:rgba(255,255,255,.92);border:1px solid #d9e6ec;border-radius:28px;padding:24px;box-shadow:0 26px 70px rgba(10,54,95,.12);backdrop-filter:blur(7px)}.workspace-preview:after{content:"";position:absolute;inset:10px -10px -10px 10px;border-radius:28px;background:linear-gradient(135deg,rgba(37,185,66,.08),rgba(14,104,181,.08));z-index:-1}.workspace-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:17px}.workspace-top h2{font-size:1.38rem;color:var(--navy-800);margin:4px 0 0}.mini-eyebrow{font-size:.7rem;font-weight:900;letter-spacing:.09em;color:#708698;text-transform:uppercase}.status-dot{display:inline-flex;align-items:center;gap:6px;background:#eaf9ee;color:#137d36;border-radius:999px;padding:6px 10px;font-weight:850;font-size:.74rem}.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#20ae43}.deadline-card{display:grid;grid-template-columns:68px 1fr;gap:14px;align-items:center;padding:15px;border:1px solid #e1eaef;background:#fafcfd;border-radius:17px}.deadline-calendar{width:62px;height:62px;border-radius:15px;background:linear-gradient(145deg,var(--navy-800),#156ba8);color:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 7px 18px rgba(11,62,115,.18)}.deadline-calendar strong{font-size:1.55rem;line-height:1}.deadline-calendar span{font-size:.62rem;font-weight:900;letter-spacing:.08em;margin-top:3px}.deadline-card strong{color:#203c55}.deadline-card p{font-size:.82rem!important;line-height:1.5;margin:4px 0 0!important;color:#718597!important}.countdown-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:18px 6px 12px}.countdown-card>div:first-child{display:flex;align-items:baseline;gap:7px}.countdown-number{font-size:2.25rem;font-weight:950;color:var(--green-600);letter-spacing:-.06em}.countdown-card small{font-weight:750;color:#6e8497}.countdown-line{height:8px;background:#e6eef2;border-radius:999px;overflow:hidden}.countdown-line span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-500),var(--cyan))}.preview-feedback{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;border-top:1px solid #e7eef2;padding-top:16px}.preview-icon{width:43px;height:43px;border-radius:13px;background:#ecf6fd;color:var(--blue);display:grid;place-items:center}.preview-icon svg{width:21px}.preview-feedback strong{font-size:.92rem}.preview-feedback p{font-size:.78rem!important;line-height:1.45;margin:3px 0 0!important;color:#708598!important}
.trust-strip{background:#fff;border-top:1px solid #edf2f4;border-bottom:1px solid #e5edf1}.trust-grid{min-height:92px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.trust-grid>div{height:46px;display:flex;align-items:center;justify-content:center;gap:9px;border-right:1px solid #e8eff2;color:#5f7688;font-size:.86rem;font-weight:750}.trust-grid>div:last-child{border-right:0}.trust-grid strong{font-size:1.7rem;color:var(--navy-800)}.trust-grid svg{width:23px;height:23px;color:var(--blue)}
.section-v2{padding:86px 0}.section-head-v2{max-width:760px}.section-kicker{display:inline-block;color:var(--green-600);font-size:.76rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px}.section-head-v2 h2,.process-intro h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.045em;color:var(--navy-800);margin:5px 0 14px}.section-head-v2 p,.process-intro>p{font-size:1rem;color:#6a8193;line-height:1.7}.role-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.role-card{position:relative;background:#fff;border:1px solid #dce7ed;border-radius:23px;padding:25px;box-shadow:0 8px 26px rgba(13,57,92,.055);transition:.2s}.role-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(13,57,92,.09);border-color:#c9dbe5}.role-card.featured{border-color:#b8dfc1;box-shadow:0 18px 45px rgba(24,168,63,.09)}.featured-label{position:absolute;right:18px;top:18px;background:#eaf9ee;color:#147f37;border-radius:999px;padding:5px 9px;font-size:.67rem;font-weight:850}.role-icon{width:52px;height:52px;border-radius:16px;background:#edf6fc;color:var(--blue);display:grid;place-items:center;margin-bottom:18px}.supervisor-card .role-icon{background:#ecf9ef;color:var(--green-600)}.admin-card .role-icon{background:#f1f2fb;color:#4a58a8}.role-icon svg{width:25px}.role-tag{font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6c8395}.role-card h3{font-size:1.35rem;line-height:1.25;color:#203d56;margin:8px 0 9px}.role-card>p{color:#6a8193;line-height:1.65;margin:0}.role-card ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px}.role-card li{position:relative;padding-left:23px;color:#49667c;font-size:.87rem;font-weight:650}.role-card li:before{content:"✓";position:absolute;left:0;top:-1px;color:var(--green-600);font-weight:950}
.process-section{background:linear-gradient(180deg,#f6fafc,#eef6fa)}.process-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.process-intro{position:sticky;top:120px}.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--navy-800);font-weight:850;margin-top:10px}.text-link span{color:var(--green-600);transition:.2s}.text-link:hover span{transform:translateX(3px)}.process-list{display:grid;gap:12px}.process-list article{display:grid;grid-template-columns:58px 1fr;gap:18px;background:#fff;border:1px solid #dce7ed;border-radius:20px;padding:21px;box-shadow:0 8px 25px rgba(13,57,92,.04)}.process-list article>span{width:51px;height:51px;border-radius:15px;background:#eef7fd;color:var(--blue);display:grid;place-items:center;font-size:.78rem;font-weight:950}.process-list h3{margin:2px 0 5px;color:#24435c}.process-list p{margin:0;color:#6a8193;line-height:1.55}
.service-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.public-service-card{background:#fff;border:1px solid #dce7ed;border-radius:20px;padding:21px;display:flex;flex-direction:column;min-height:220px;box-shadow:0 7px 23px rgba(13,57,92,.045)}.public-service-card .service-num{width:36px;height:36px;border-radius:11px;background:#ecf8ef;color:#16863c;display:grid;place-items:center;font-size:.75rem;font-weight:950}.public-service-card h3{color:#24435c;font-size:1.12rem;margin:14px 0 8px}.public-service-card p{color:#6b8294;font-size:.9rem;line-height:1.58;flex:1}.public-service-card .btn{align-self:flex-start}.service-skeleton{height:220px;border-radius:20px;background:linear-gradient(90deg,#f1f5f7,#f9fbfc,#f1f5f7);background-size:200% 100%;animation:skeleton 1.2s infinite}@keyframes skeleton{to{background-position:-200% 0}}
.cta-section{background:#fff;padding:0 0 88px}.cta-box{background:linear-gradient(135deg,#08365f 0%,#0b4d7e 62%,#0c654e 120%);border-radius:30px;padding:42px 46px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px;box-shadow:0 22px 55px rgba(8,54,95,.16)}.cta-box h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;letter-spacing:-.035em;max-width:720px;margin:7px 0 10px}.cta-box p{color:#d8e6ef;margin:0}.light-kicker{color:#90e2a0}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.white-btn{background:#fff;color:var(--navy-800)}.outline-white{border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.04)}
.public-footer-v2{padding:58px 0 22px;background:#062a4d}.footer-grid-v2{display:grid;grid-template-columns:1.5fr .75fr .9fr .9fr;gap:46px}.footer-brand-lockup{color:#fff}.footer-brand-lockup .brand-name{color:#fff}.footer-brand-lockup .brand-name>span{color:#51d263}.footer-brand-lockup .brand-copy small{color:#9fb8ca}.footer-brand-col>p{color:#a9bdcc;max-width:360px;font-size:.88rem;line-height:1.65;margin-top:18px}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-col h3{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.09em;margin:8px 0 5px}.footer-col a,.footer-col span{color:#b9cad6;font-size:.86rem}.footer-col a:hover{color:#fff}.footer-bottom-v2{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#829fb3;font-size:.78rem}.wa-v2{width:auto;min-width:56px;padding:0 17px;gap:9px;border-radius:999px;color:#fff;font-size:.79rem;font-weight:850}.wa-v2 span{display:inline}.service-modal-card{width:min(560px,100%)}.service-modal-card h2{color:var(--navy-800);margin:3px 0 9px}.service-price{font-size:1.85rem;font-weight:950;color:var(--green-600);letter-spacing:-.04em;margin:15px 0}.service-modal-card .modal-service-note{background:#f4f8fa;border:1px solid #e1e9ed;border-radius:13px;padding:13px;color:#5f7688;font-size:.88rem}

/* Auth refresh */
.auth-page-v2{position:relative;background:radial-gradient(circle at 15% 15%,rgba(37,185,66,.09),transparent 28%),radial-gradient(circle at 85% 85%,rgba(14,104,181,.1),transparent 30%),#f3f8fb;padding:54px 20px}.auth-page-v2:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(13,71,111,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(13,71,111,.025) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}.auth-back{position:fixed;left:26px;top:22px;z-index:3;display:inline-flex;align-items:center;gap:6px;color:#557187;font-weight:750;font-size:.85rem}.auth-back:hover{color:var(--navy-800)}.auth-shell-v2{position:relative;z-index:1;width:min(460px,100%);border-radius:26px;padding:30px 32px 29px;box-shadow:0 28px 75px rgba(12,58,93,.11);border:1px solid #dce7ed}.signup-shell{width:min(500px,100%)}.auth-brand{justify-content:center;width:100%;margin-bottom:20px}.auth-brand .brand-mark{width:58px;height:58px;flex-basis:58px}.auth-brand .brand-name{font-size:1.55rem}.auth-brand .brand-copy small{font-size:.72rem}.auth-heading{text-align:center;margin-bottom:18px}.auth-heading h1{font-size:2rem;letter-spacing:-.035em;margin:6px 0 6px;color:var(--navy-800)}.auth-heading p{color:#708598;margin:0;font-size:.92rem;line-height:1.55}.auth-eyebrow{font-size:.7rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--green-600)}.role-mini-row{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:0 0 18px}.role-mini-row span{font-size:.68rem;font-weight:800;color:#637b8e;background:#f2f6f8;border:1px solid #e0e8ed;border-radius:999px;padding:5px 8px}.auth-form{display:grid;gap:0}.auth-form label{margin:11px 0 6px;color:#345168}.auth-form input{height:49px;border-radius:12px;padding:0 13px;background:#fbfdfe}.auth-form .btn{margin-top:17px;width:100%}.auth-links{display:flex;justify-content:flex-end;margin-top:6px}.auth-divider{display:flex;align-items:center;gap:10px;margin:12px 0;color:#9aabb7;font-size:.74rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e5ecef;flex:1}.auth-register{text-align:center!important;color:#728699!important;font-size:.84rem!important;margin:0!important}.auth-register a{color:var(--blue);font-weight:850}.role-explainer{display:grid;grid-template-columns:32px 1fr;gap:10px;background:#f4f8fa;border:1px solid #e0e9ed;border-radius:14px;padding:12px 13px;margin-top:16px}.role-explainer-icon{width:28px;height:28px;border-radius:9px;background:#e8f4fb;color:var(--blue);display:grid;place-items:center;font-weight:950}.role-explainer strong{font-size:.84rem;color:#355269}.role-explainer p{margin:2px 0 0!important;text-align:left!important;color:#738798!important;font-size:.76rem!important;line-height:1.45}

/* App brand + modal/form polish */
.sidebar-brand-v2{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.98);padding:7px 9px;border-radius:15px;margin-bottom:15px;min-height:61px}.sidebar-mark{width:43px;height:43px;flex:0 0 43px;border-radius:11px;overflow:hidden}.sidebar-mark img{width:100%;height:100%;object-fit:cover!important;display:block}.sidebar-brand-copy{min-width:0;display:flex;flex-direction:column;line-height:1}.sidebar-brand-copy strong{font-size:1.02rem;color:var(--navy-800);letter-spacing:-.035em;white-space:nowrap}.sidebar-brand-copy strong span{color:var(--green-600)}.sidebar-brand-copy small{font-size:.61rem;color:#7890a1;margin-top:4px;white-space:nowrap}
.modal{padding:20px}.modal-card{width:min(690px,calc(100vw - 32px));max-height:min(88vh,820px);border-radius:24px;padding:0;overflow:auto}.modal-head{position:sticky;top:0;z-index:2;background:#fff;padding:20px 22px 14px;border-bottom:1px solid #e8eef2;margin:0}.modal-head h3{font-size:1.35rem;letter-spacing:-.025em}.modal-body,.modal-card>#modalBody{padding:19px 22px 23px}.modal-card form{display:grid;gap:13px}.modal-card form .form-grid{gap:13px}.modal-card label{display:grid;gap:6px;margin:0;color:#36546b;font-size:.85rem;font-weight:800}.modal-card input,.modal-card textarea,.modal-card select{width:100%;min-width:0;margin:0;border-radius:12px;padding:11px 12px}.modal-card textarea{min-height:105px}.modal-card input[type=file]{padding:9px;background:#f9fbfc}.modal-card .form-actions{margin-top:4px;padding-top:5px}.field-help{font-size:.75rem;color:#7e92a2;margin:-5px 0 2px;line-height:1.45}.role-select-help{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:5px}.role-hint{border:1px solid #e0e9ee;border-radius:11px;padding:9px 10px;background:#fafcfd;font-size:.74rem;color:#6b8294}.role-hint strong{display:block;color:#355269;margin-bottom:2px}

@media(max-width:960px){.desktop-public-nav{gap:16px}.desktop-public-nav>a:not(.btn){display:none}.hero-grid-v2{grid-template-columns:1fr;gap:42px}.workspace-preview{max-width:620px}.role-grid-v2{grid-template-columns:1fr 1fr}.role-card:last-child{grid-column:1/-1}.service-grid-v2{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr;gap:34px}.process-intro{position:static}.footer-grid-v2{grid-template-columns:1.2fr 1fr 1fr}.footer-brand-col{grid-column:1/-1}}
@media(max-width:720px){.public-nav-v2{height:72px}.public-nav-v2 .brand-mark{width:43px;height:43px;flex-basis:43px;border-radius:12px}.public-nav-v2 .brand-name{font-size:1.08rem}.public-nav-v2 .brand-copy small{display:none}.desktop-public-nav{display:none}.mobile-signin{display:flex}.hero-v2{padding:58px 0 48px}.hero-grid-v2{gap:32px}.hero-wordmark{font-size:clamp(2.75rem,13vw,4.2rem)}.hero-copy-v2 h1{font-size:1.75rem}.hero-lead{font-size:.98rem!important}.workspace-preview{padding:18px;border-radius:22px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{border-bottom:1px solid #e8eff2}.trust-grid>div:nth-child(2){border-right:0}.trust-grid>div:nth-child(3),.trust-grid>div:nth-child(4){border-bottom:0}.role-grid-v2,.service-grid-v2{grid-template-columns:1fr}.role-card:last-child{grid-column:auto}.section-v2{padding:62px 0}.cta-section{padding:0 0 62px}.cta-box{padding:30px 25px;border-radius:24px;align-items:flex-start;flex-direction:column}.cta-actions{justify-content:flex-start}.footer-grid-v2{grid-template-columns:1fr 1fr;gap:32px}.footer-brand-col{grid-column:1/-1}.footer-bottom-v2{flex-direction:column;gap:7px}.wa-v2 span{display:none}.wa-v2{width:56px;min-width:56px;padding:0}.auth-page-v2{padding:70px 12px 20px}.auth-back{position:absolute;left:18px;top:20px}.auth-shell-v2{padding:25px 20px 24px;border-radius:22px}.auth-brand .brand-mark{width:50px;height:50px;flex-basis:50px}.auth-brand .brand-name{font-size:1.3rem}.auth-brand .brand-copy small{font-size:.65rem}.modal{padding:12px}.modal-card{width:100%;max-height:92vh;border-radius:20px}.modal-head{padding:16px 16px 12px}.modal-card>#modalBody{padding:16px}.modal-card form .form-grid,.role-select-help{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1 1 auto}}
@media(max-width:430px){.wrap{width:min(100% - 26px,1160px)}.public-nav-v2{gap:8px}.public-nav-v2 .brand-lockup{gap:7px}.public-nav-v2 .brand-mark{width:39px;height:39px;flex-basis:39px}.public-nav-v2 .brand-name{font-size:.99rem}.mobile-signin{font-size:.78rem}.mobile-signin span{display:none}.mobile-signin svg{width:23px;height:23px}.hero-wordmark{font-size:2.72rem}.hero-copy-v2 h1{font-size:1.58rem}.hero-role-chips span{font-size:.7rem}.hero-actions .btn{width:100%}.deadline-card{grid-template-columns:55px 1fr;padding:12px}.deadline-calendar{width:52px;height:52px}.countdown-card{grid-template-columns:1fr}.countdown-line{width:100%}.trust-grid>div{font-size:.74rem;padding:0 8px}.section-head-v2 h2,.process-intro h2{font-size:2rem}.footer-grid-v2{grid-template-columns:1fr}.footer-brand-col{grid-column:auto}.auth-brand .brand-copy small{display:none}.auth-heading h1{font-size:1.75rem}.role-mini-row span{font-size:.62rem}}

/* Accessibility details */
:focus-visible{outline:3px solid rgba(25,169,199,.35);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ===== Public UX light refresh ===== */
.public-page-lite{background:#fff}.lite-header{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e9f0f3}.lite-nav{height:78px}.lite-links{gap:24px}.lite-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 50% -30%,rgba(26,180,77,.13),transparent 42%),linear-gradient(180deg,#fbfefd 0%,#f5fbfc 100%);padding:96px 0 82px}.lite-hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(17,140,192,.06);right:-180px;top:-160px}.lite-hero-inner{position:relative;z-index:1;max-width:880px;text-align:center}.lite-kicker{display:inline-flex;align-items:center;gap:9px;color:#507084;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:900}.lite-kicker span{width:26px;height:3px;border-radius:999px;background:var(--green-600)}.hero-wordmark-lite{margin:18px auto 8px;font-size:clamp(3.3rem,8vw,6.2rem);line-height:.95;letter-spacing:-.065em}.lite-hero h1{margin:18px auto 14px;max-width:760px;color:var(--navy-800);font-size:clamp(1.85rem,4vw,3.15rem);line-height:1.08;letter-spacing:-.045em}.lite-hero>div>p{max-width:710px;margin:0 auto;color:#5f788b;font-size:1.08rem;line-height:1.75}.lite-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.lite-benefits{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px}.lite-benefits span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #dfeaed;border-radius:999px;background:rgba(255,255,255,.82);color:#4d687a;font-size:.82rem;font-weight:750}.lite-benefits svg{width:17px;height:17px;color:#15954a}.lite-section{padding:78px 0}.lite-section-head{max-width:760px;margin:0 auto 36px;text-align:center}.lite-section-head h2{margin:8px 0 10px;color:var(--navy-800);font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.04em}.lite-section-head p{margin:0;color:#708494}.lite-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lite-role-card{display:flex;gap:17px;align-items:flex-start;padding:24px;border:1px solid #e2ecef;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(15,58,92,.055)}.lite-role-icon{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;background:#edf5ff;color:#0d68a8}.lite-role-icon.student{background:#eefbf3;color:#129547}.lite-role-icon.admin{background:#f3f1ff;color:#6b5cc4}.lite-role-icon svg{width:24px;height:24px}.lite-role-card span{display:block;color:#6f8595;text-transform:uppercase;letter-spacing:.08em;font-size:.69rem;font-weight:900}.lite-role-card h3{margin:4px 0 7px;color:#183d5c;font-size:1.08rem}.lite-role-card p{margin:0;color:#6c8292;font-size:.91rem;line-height:1.6}.soft-section{background:#f6fafb}.lite-flow{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.lite-flow-copy h2{font-size:clamp(2rem,4vw,2.9rem);line-height:1.08;letter-spacing:-.045em;color:var(--navy-800);margin:9px 0 13px}.lite-flow-copy p{color:#6d8393;line-height:1.7}.lite-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lite-steps li{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:center;padding:18px 20px;background:#fff;border:1px solid #e1eaee;border-radius:16px}.lite-steps b{font-size:1.2rem;color:#15a04a}.lite-steps strong{display:block;color:#23465f;margin-bottom:2px}.lite-steps span{color:#748999;font-size:.88rem}.lite-services{gap:14px}.lite-cta{background:#fff;padding:0 0 76px}.lite-cta-box{background:linear-gradient(135deg,#0a427b 0%,#0c5f88 100%);border-radius:26px;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;box-shadow:0 22px 55px rgba(10,62,115,.16)}.lite-cta-box>div:first-child span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#aeeec2}.lite-cta-box h2{margin:6px 0 0;font-size:clamp(1.6rem,3vw,2.35rem);letter-spacing:-.035em}.lite-footer{background:#082f5d;color:#d7e5f0;padding:54px 0 18px}.lite-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:42px}.lite-footer-grid h3{margin:3px 0 13px;color:#fff;font-size:.9rem}.lite-footer-grid>div:not(.lite-footer-brand){display:flex;flex-direction:column;gap:9px}.lite-footer-grid a,.lite-footer-grid span,.lite-footer-grid p{font-size:.84rem;color:#b9cfe0}.lite-footer-grid a:hover{color:#fff}.lite-footer-brand p{max-width:390px;line-height:1.65}.lite-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.75rem;color:#9db8cc}
/* Signup role selection */
.signup-role-picker{border:0;padding:0;margin:0 0 4px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.signup-role-picker legend{grid-column:1/-1;color:#36546b;font-size:.86rem;font-weight:850;margin-bottom:2px}.role-choice{display:grid!important;grid-template-columns:38px 1fr;gap:10px;align-items:center!important;border:1px solid #dce8ed;border-radius:14px;padding:12px!important;margin:0!important;background:#fbfdfe;cursor:pointer;transition:.18s}.role-choice input{position:absolute;opacity:0;pointer-events:none}.role-choice.selected{border-color:#1ab44d;background:#f2fcf5;box-shadow:0 0 0 3px rgba(26,180,77,.08)}.role-choice-icon{width:36px;height:36px;border-radius:11px;background:#e9f8ef;color:#168d43;display:grid;place-items:center;font-weight:950}.role-choice-icon.mentor{background:#eaf4fc;color:#0e6da9}.role-choice strong{display:block;color:#29485f;font-size:.88rem}.role-choice small{display:block;color:#7d909f;font-size:.7rem;line-height:1.35;margin-top:2px}
@media(max-width:900px){.lite-role-grid{grid-template-columns:1fr}.lite-flow{grid-template-columns:1fr;gap:30px}.lite-footer-grid{grid-template-columns:1fr 1fr}.lite-footer-brand{grid-column:1/-1}}
@media(max-width:720px){.lite-nav{height:70px}.lite-hero{padding:66px 0 58px}.hero-wordmark-lite{font-size:clamp(2.85rem,14vw,4.4rem)}.lite-hero h1{font-size:1.78rem}.lite-hero>div>p{font-size:.95rem}.lite-benefits{gap:8px;margin-top:28px}.lite-benefits span{font-size:.74rem;padding:8px 10px}.lite-section{padding:60px 0}.lite-role-card{padding:19px}.lite-cta{padding-bottom:58px}.lite-cta-box{padding:28px 23px;align-items:flex-start;flex-direction:column}.lite-actions{justify-content:flex-start}.lite-footer{padding-top:44px}.lite-footer-grid{grid-template-columns:1fr 1fr;gap:30px}.lite-footer-brand{grid-column:1/-1}.lite-footer-bottom{flex-direction:column;gap:5px}.signup-role-picker{grid-template-columns:1fr}}
@media(max-width:430px){.lite-hero-inner{text-align:left}.lite-kicker{font-size:.66rem}.hero-wordmark-lite{margin-left:0}.lite-hero h1{margin-left:0}.lite-hero>div>p{margin-left:0}.lite-actions .btn{width:100%}.lite-benefits{justify-content:flex-start}.lite-role-card{gap:13px}.lite-role-icon{width:43px;height:43px;flex-basis:43px}.lite-footer-grid{grid-template-columns:1fr}.lite-footer-brand{grid-column:auto}.lite-cta-box .lite-actions{width:100%}}
@media(max-width:720px){.lite-links{display:none!important}.lite-nav .brand-copy small{display:none}.lite-nav .brand-name{font-size:1.02rem}.lite-nav .brand-mark{width:42px;height:42px;flex-basis:42px}.lite-nav{justify-content:space-between}.lite-nav .mobile-signin{display:flex}}
@media(max-width:380px){.lite-nav .brand-name{font-size:.96rem}.lite-nav .mobile-signin span{display:none}}

/* Sélecteur de rôle simplifié */
.role-select-field{display:grid!important;gap:6px;margin:10px 0 2px!important;color:#36546b;font-size:.86rem;font-weight:850}
.role-select-field select{width:100%;height:50px;border:1px solid #d7e4ea;border-radius:12px;padding:0 42px 0 13px;background:#fbfdfe;color:#29485f;font-weight:750;outline:none;transition:.18s}
.role-select-field select:focus{border-color:#1ab44d;box-shadow:0 0 0 3px rgba(26,180,77,.1);background:#fff}

/* ===== Public simple presentation ===== */
.public-simple{background:#fff}.simple-header{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid #e8eff2}.simple-nav{height:76px}.simple-links{gap:24px}.simple-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f9fffb 0%,#f4faff 58%,#fbfdff 100%);padding:84px 0 78px}.simple-hero:before{content:"";position:absolute;inset:auto -120px -200px auto;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(25,169,199,.11),rgba(25,169,199,0) 68%)}.simple-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center;position:relative}.simple-hero-copy{max-width:720px}.simple-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#159447;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:900}.simple-eyebrow:before{content:"";width:22px;height:3px;border-radius:999px;background:#28b636}.simple-hero h1{margin:14px 0 18px;color:#0b3e73;font-size:clamp(2.7rem,5.5vw,4.7rem);line-height:1.02;letter-spacing:-.055em;max-width:780px}.simple-hero h1 span{color:#159447}.simple-hero p{max-width:650px;margin:0;color:#657d8e;font-size:1.08rem;line-height:1.75}.simple-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.simple-hero-art{min-height:380px;display:grid;place-items:center;position:relative}.simple-art-orbit{position:absolute;width:330px;height:330px;border-radius:50%;border:1px solid rgba(11,62,115,.10);background:radial-gradient(circle at 35% 30%,rgba(40,182,54,.10),rgba(25,169,199,.06) 48%,rgba(255,255,255,.76) 70%);box-shadow:inset 0 0 0 28px rgba(255,255,255,.35)}.simple-art-card{position:relative;width:220px;height:220px;border-radius:42px;background:#fff;display:grid;place-items:center;box-shadow:0 30px 70px rgba(15,58,92,.14);border:1px solid #e3ecef;transform:rotate(-2deg)}.simple-art-card img{width:150px;filter:drop-shadow(0 12px 20px rgba(11,62,115,.10))}.simple-services{padding:82px 0}.simple-section-head{max-width:720px;margin:0 auto 36px;text-align:center}.simple-section-head h2{margin:10px 0 0;color:#0b3e73;font-size:clamp(2rem,4vw,2.85rem);line-height:1.1;letter-spacing:-.04em}.simple-service-grid{gap:15px}.simple-cta{background:#fff;padding:4px 0 76px}.simple-cta-box{background:linear-gradient(135deg,#0b3e73,#0e5c89);color:#fff;border-radius:24px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:0 20px 55px rgba(11,62,115,.16)}.simple-cta-box span{display:block;color:#b7efc6;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.simple-cta-box h2{margin:6px 0 0;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.15;letter-spacing:-.035em}.simple-footer{background:#082f5d;color:#d6e5f0;padding:50px 0 18px}.simple-footer-grid{display:grid;grid-template-columns:1.7fr .8fr .8fr;gap:50px}.simple-footer-brand p{max-width:420px;color:#b9ccdb;font-size:.86rem;line-height:1.65}.simple-footer-col{display:flex;flex-direction:column;gap:9px}.simple-footer-col h3{margin:3px 0 10px;color:#fff;font-size:.9rem}.simple-footer-col a{color:#bfd1df;font-size:.85rem}.simple-footer-col a:hover{color:#fff}.simple-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:36px;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);color:#9fb8cb;font-size:.75rem}.simple-wa{right:18px;bottom:18px}
@media(max-width:900px){.simple-hero-grid{grid-template-columns:1fr}.simple-hero-copy{max-width:760px}.simple-hero-art{display:none}.simple-footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:30px}}
@media(max-width:720px){.simple-nav{height:70px}.simple-links{display:none!important}.simple-nav .brand-copy small{display:none}.simple-nav .brand-name{font-size:1.03rem}.simple-nav .brand-mark{width:42px;height:42px;flex-basis:42px}.simple-nav .mobile-signin{display:flex}.simple-hero{padding:64px 0 58px}.simple-hero h1{font-size:clamp(2.28rem,11vw,3.3rem);margin-top:12px}.simple-hero p{font-size:.96rem;line-height:1.68}.simple-actions{margin-top:24px}.simple-actions .btn{flex:1 1 180px}.simple-services{padding:62px 0}.simple-section-head{margin-bottom:28px}.simple-cta{padding-bottom:58px}.simple-cta-box{padding:27px 22px;align-items:flex-start;flex-direction:column}.simple-cta-box .btn{width:100%}.simple-footer{padding-top:42px}.simple-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.simple-footer-brand{grid-column:1/-1}.simple-footer-bottom{flex-direction:column;gap:5px}.simple-wa{width:52px;min-width:52px;height:52px;padding:0;right:15px;bottom:15px}.simple-wa span{display:none}}
@media(max-width:430px){.simple-hero{text-align:left}.simple-hero h1{font-size:2.35rem}.simple-actions{display:grid}.simple-actions .btn{width:100%}.simple-footer-grid{grid-template-columns:1fr}.simple-footer-brand{grid-column:auto}.simple-section-head{text-align:left}.simple-section-head h2{font-size:2rem}.simple-eyebrow{font-size:.69rem}.simple-footer-bottom span:last-child{display:none}}

/* Final UX corrections */
:root{--green:#187a35;--green2:#147a37;--muted:#526a7c}
.btn:disabled{opacity:.62;cursor:not-allowed;transform:none!important}.password-field{position:relative}.password-field input{padding-right:82px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:#edf5fa;color:var(--navy);font-weight:800;font-size:.75rem;border-radius:8px;padding:7px 9px}.reset-shell{margin-top:20px}.modal[aria-hidden="true"]{display:none}.modal.open[aria-hidden="false"]{display:flex}.modal-card:focus{outline:none}.modal-card :focus-visible,.btn:focus-visible,.nav-btn:focus-visible,.icon-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(14,104,181,.28);outline-offset:2px}.body-modal-open{overflow:hidden}.sidebar-backdrop{display:none}.version-list{display:grid;gap:8px;margin-top:12px}.version-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f9fbfc}.version-item .version-meta{min-width:0}.version-item h5{margin:0;color:var(--navy)}.version-item p{margin:2px 0 0;color:var(--muted);font-size:.78rem}.doc-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.unread-dot{min-width:21px;height:21px;border-radius:999px;background:var(--danger);color:#fff;display:inline-grid;place-items:center;font-size:.69rem;font-weight:900;padding:0 6px;margin-left:auto}.status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wa{bottom:calc(20px + env(safe-area-inset-bottom));right:calc(20px + env(safe-area-inset-right))}.simple-wa{bottom:calc(18px + env(safe-area-inset-bottom));right:calc(18px + env(safe-area-inset-right))}
@media(max-width:900px){.sidebar-backdrop{position:fixed;inset:0;background:rgba(6,30,53,.42);z-index:35}.sidebar-backdrop.show{display:block}.sidebar{z-index:40}.content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}}
@media(max-width:600px){.modal{padding:10px;align-items:flex-end}.modal-card{width:100%;border-radius:20px 20px 0 0;max-height:92vh;padding:18px 16px 20px}.version-item{align-items:flex-start;flex-direction:column}.version-item .row-actions{justify-content:flex-start}.wa{bottom:calc(14px + env(safe-area-inset-bottom));right:14px}}

/* File picker */
.file-picker{display:flex;align-items:center;gap:10px;min-width:0;width:100%;padding:8px;border:1px solid #cbdde4;border-radius:12px;background:#f9fbfc}
.file-picker>input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;border:0!important}
.file-picker-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;border:0;border-radius:10px;background:#e9f3f9;color:var(--navy);padding:9px 11px;font-weight:800;cursor:pointer}
.file-picker-btn:hover{background:#dcecf5}.file-picker-name{min-width:0;flex:1;color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.file-picker{align-items:stretch;flex-direction:column}.file-picker-btn{width:100%}.file-picker-name{white-space:normal;overflow-wrap:anywhere;text-align:left;padding:1px 2px}.sidebar{height:100dvh;max-height:100dvh;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.sidebar-bottom{margin-top:14px!important;padding-top:10px;border-top:1px solid rgba(255,255,255,.11);position:static}}


/* Public footers on authentication and legal pages */
.auth-page-v2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:100vh;padding:0;background:radial-gradient(circle at 15% 15%,rgba(37,185,66,.09),transparent 28%),radial-gradient(circle at 85% 60%,rgba(14,104,181,.1),transparent 30%),#f3f8fb}
.auth-page-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:calc(100vh - 250px);padding:72px 20px 46px}
.auth-page-content .auth-shell-v2{margin-left:auto;margin-right:auto}
.auth-public-footer{position:relative;z-index:2;width:100%;margin-top:auto}
.auth-footer-grid{grid-template-columns:1.5fr .8fr .9fr}
.app-legal{margin-top:12px;padding:12px 10px 2px;border-top:1px solid rgba(255,255,255,.09);color:#88a9bf;font-size:.68rem;line-height:1.45}
.app-legal span{display:block;color:#6f94ad;margin-top:2px}
.legal-page{min-height:100vh;background:#f5f9fb}.legal-main{padding:72px 0 82px}.legal-card{max-width:820px;margin:auto;background:#fff;border:1px solid #dfe9ee;border-radius:24px;padding:38px 42px;box-shadow:0 18px 50px rgba(15,58,92,.07)}.legal-card h1{margin:10px 0 24px;color:#0b3e73;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.legal-card h2{margin:28px 0 8px;color:#173f60;font-size:1.18rem}.legal-card p{color:#5f7789;line-height:1.75;margin:0 0 14px}
@media(max-width:720px){.auth-page-content{min-height:auto;padding:72px 12px 36px}.auth-footer-grid{grid-template-columns:1fr 1fr}.auth-footer-grid .simple-footer-brand{grid-column:1/-1}.legal-main{padding:42px 0 58px}.legal-card{padding:27px 22px;border-radius:20px}.legal-card h1{font-size:2rem}}
@media(max-width:430px){.auth-footer-grid{grid-template-columns:1fr}.auth-footer-grid .simple-footer-brand{grid-column:auto}.auth-public-footer{padding-top:38px}.app-legal{font-size:.65rem}}

/* Services liés au dossier de mémoire */
.service-choice{margin:18px 0 2px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbfd}
.service-choice legend{padding:0 6px;font-weight:900;color:var(--navy)}
.service-check{display:flex;align-items:flex-start;gap:10px;margin:0;padding:11px 10px;border-radius:11px;cursor:pointer;font-weight:700}
.service-check:hover{background:#eef6fb}.service-check+ .service-check{border-top:1px solid #e8eff3}
.service-check input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--green)}
.service-check span{min-width:0}.service-check strong{display:block;color:var(--ink)}.service-check small{display:block;margin-top:2px;color:var(--muted);font-weight:500;line-height:1.45}
.service-summary{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.service-summary>strong,.requested-services-block>strong{display:block;color:var(--navy);font-size:.9rem}
.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.service-tag{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 9px;border-radius:10px;background:#edf7f0;border:1px solid #d5eadb;color:#1f5530;font-size:.79rem;font-weight:800}.service-tag span{overflow-wrap:anywhere}.service-tag small{font-size:.68rem;font-weight:800;color:#547260;background:#fff;padding:2px 6px;border-radius:999px;white-space:nowrap}.requested-services-block{margin:12px 0 16px;padding:13px 14px;border:1px solid #dbe8ef;border-radius:12px;background:#f7fbfd}
@media(max-width:600px){.service-choice{padding:10px}.service-check{padding:10px 7px}.service-tag{width:100%;justify-content:space-between;align-items:flex-start}.service-tag small{margin-left:auto}}

/* Parcours Mémoire complet */
.journey-banner{margin-top:14px;padding:13px 14px;border:1px solid #dbe8ef;border-radius:13px;background:#f7fbfd;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.journey-banner.complete{border-color:#cfe7d6;background:#f2faf4}
.journey-banner strong{display:block;color:var(--navy);font-size:.94rem}
.journey-banner p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}
.journey-kicker{display:block;margin-bottom:3px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.journey-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:7px}
.journey-choice{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}
.journey-choice:hover{border-color:#b9d5e4;background:#f8fcfe}
.journey-choice:has(input:checked){border-color:#7cb790;background:#f2faf4;box-shadow:0 0 0 2px rgba(24,122,53,.08)}
.journey-choice input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--green)}
.journey-choice strong{display:block;color:var(--ink)}
.journey-choice small{display:block;margin-top:4px;color:var(--muted);font-weight:500;line-height:1.45}
.complete-journey-info{margin-top:12px}
.project-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.project-title-line h2{margin:0 0 4px}
@media(max-width:600px){.journey-choice-grid{grid-template-columns:1fr}.journey-banner{flex-direction:column}.journey-banner>.pill{align-self:flex-start}.project-title-line{flex-direction:column}.project-title-line>.pill{align-self:flex-start}}

/* Sélection de destinataire plus visible */
.contact{position:relative;border-left:4px solid transparent;transition:background .16s,border-color .16s,box-shadow .16s}.contact-copy{min-width:0;flex:1}.contact-selected{display:none;align-items:center;gap:4px;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:#dff5e6;color:#146b31;font-size:.67rem;font-weight:900}.contact-selected .icon{width:13px;height:13px}.contact.active{background:#e8f7ee;border-left-color:var(--green);box-shadow:inset 0 0 0 1px #c8e7d1}.contact.active .person-avatar{background:#d8f1e0;color:#145f2d}.contact.active .contact-selected{display:inline-flex}.contact.active strong{color:#0d5126}
.selected-recipients{margin-top:9px;padding:10px 11px;border:1px solid #d9e7ee;border-radius:11px;background:#f8fbfd}.selected-recipients>strong{display:block;color:var(--navy);font-size:.78rem;margin-bottom:7px}.selected-recipient-chips{display:flex;flex-wrap:wrap;gap:6px}.selected-recipient-chips span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e7f6ec;color:#195f31;border:1px solid #cfe8d7;font-size:.72rem;font-weight:800}select[multiple] option:checked{font-weight:800}
.supervisor-service-only{border-color:#d1e7d8;background:#f6fbf7}.service-tag.requested-only{background:#e7f6ec;border-color:#cfe8d7;color:#195f31}
@media(max-width:860px){.contact.active{box-shadow:inset 0 0 0 2px #c8e7d1}.contact-selected{display:none}.contact.active .contact-selected{display:inline-flex}}

/* Bibliothèque de travail */
.library-summary{margin-bottom:16px}.library-themes{display:grid;gap:16px}.library-theme{padding:0;overflow:hidden}.library-theme-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fbfdfe}.library-theme-head h3{margin:8px 0 0;color:var(--navy)}.library-doc-list{display:grid}.library-doc{padding:16px 20px;border-bottom:1px solid var(--line)}.library-doc:last-child{border-bottom:0}.library-doc-main{display:flex;align-items:flex-start;gap:12px}.library-file-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#eef6fc;color:var(--blue);display:grid;place-items:center}.library-doc-text{min-width:0;flex:1}.library-doc-text>strong{color:var(--navy);overflow-wrap:anywhere}.library-doc-text p{margin:5px 0 0}.library-access-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.library-access-picker{display:grid;gap:8px;margin-top:7px}.access-choice{display:grid;grid-template-columns:auto 42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:.15s ease}.access-choice:hover{border-color:#b8d2df;background:#fbfdfe}.access-choice.selected{border-color:#7fc992;background:#edf9f1;box-shadow:0 0 0 2px rgba(34,157,74,.08)}.access-choice input{width:18px;height:18px;margin:0;accent-color:var(--green)}.access-choice small{display:block;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.access-checkmark{opacity:0;color:#14833d;font-weight:900}.access-choice.selected .access-checkmark{opacity:1}.field-help{margin:5px 0 11px;color:var(--muted);font-size:.78rem;line-height:1.45}
@media(max-width:620px){.library-theme-head{align-items:stretch;flex-direction:column}.library-theme-head>.btn{align-self:flex-start}.library-doc{padding:14px}.library-doc-main{align-items:flex-start}.library-access-line{align-items:flex-start;flex-direction:column}.access-choice{grid-template-columns:auto 38px minmax(0,1fr) auto}.access-choice .person-avatar{width:38px;height:38px}}
