:root{--ink:#17202e;--navy:#111a2b;--paper:#f4f5f7;--white:#fff;--purple:#6f54f6;--lime:#caff45;--muted:#6f7785;--line:#e1e4e9;--green:#2f805d;--orange:#b86c23;--font:Inter,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--font)}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}.portal-loading{min-height:100vh;display:grid;place-items:center;background:var(--navy);color:white;position:relative}.portal-loading>span{font-size:25px;font-weight:850;letter-spacing:-.07em}.portal-loading b,.portal-logo b,.portal-logo span{color:#8b72ff}.portal-loading i{width:36px;height:36px;border:2px solid #354057;border-top:2px solid var(--lime);border-radius:50%;animation:spin .8s linear infinite;position:absolute;margin-top:90px}@keyframes spin{to{transform:rotate(1turn)}}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{background:var(--navy);color:white;padding:44px 6vw 38px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.login-brand:after{width:420px;height:420px;border:1px solid #43506b;right:-100px;top:24%;box-shadow:0 0 100px rgba(202,255,69,.09)}.login-brand:after,.login-brand:before{content:"";position:absolute;border-radius:50%}.login-brand:before{width:170px;height:170px;background:var(--lime);right:70px;top:39%;box-shadow:0 0 70px rgba(202,255,69,.4)}.portal-logo{font-weight:900;letter-spacing:-.07em;font-size:21px;position:relative;z-index:2}.login-brand>div{position:relative;z-index:2;max-width:720px}.login-kicker{font-size:10px;letter-spacing:.16em;color:var(--lime)}.login-brand h1{font-size:clamp(62px,7vw,110px);line-height:.88;letter-spacing:-.075em;margin:35px 0;max-width:800px}.login-brand h1 em{color:#927cff;font-family:Georgia,serif;font-weight:400}.login-brand p{max-width:490px;color:#aeb5c3;font-size:18px;line-height:1.55}.login-brand>small{color:#70798b;font-size:10px;text-transform:uppercase;letter-spacing:.12em;position:relative;z-index:2}.login-panel{background:white;display:grid;place-items:center;padding:48px}.login-panel form{width:min(430px,100%)}.login-heading>span{color:var(--purple);font-size:10px;font-weight:700;letter-spacing:.13em}.login-heading h2{font-size:48px;letter-spacing:-.05em;margin:13px 0 8px}.login-heading p{color:var(--muted);margin:0 0 45px}.login-panel label{display:block;font-size:12px;font-weight:650;margin:23px 0}.login-panel input{width:100%;border:0;border-bottom:1px solid #cfd3da;padding:13px 0;font-size:16px;outline:0;color:var(--ink)}.login-panel input:focus{border-color:var(--purple)}.login-panel form>button{width:100%;background:var(--purple);color:white;border:0;border-radius:99px;padding:17px 20px;display:flex;justify-content:space-between;font-weight:700;cursor:pointer;margin-top:32px}.login-panel form>button:disabled{opacity:.6}.login-error{color:#a53030;background:#fff1f1;padding:12px;border-radius:8px;font-size:13px}.support-link{display:block;text-align:center;color:var(--muted);font-size:12px;margin-top:24px}.captcha-field{margin:28px 0 4px;padding:17px 18px 13px;background:#f6f4ff;border:1px solid #e1dcff;border-radius:12px}.captcha-field>div{display:flex;align-items:center;justify-content:space-between}.captcha-field>div>span{color:var(--purple);font-size:9px;font-weight:750;letter-spacing:.11em}.captcha-field>div>button{width:28px;height:28px;border:1px solid #d7d0ff;border-radius:50%;background:white;color:var(--purple);cursor:pointer}.login-panel .captcha-field label{margin:9px 0 0;color:var(--muted)}.captcha-field label strong{color:var(--ink);font-size:17px;margin-left:4px}.login-panel .captcha-field input{padding:10px 0}.portal-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;transition:grid-template-columns .25s ease}.portal-shell.sidebar-collapsed{grid-template-columns:0 1fr}.sidebar{background:var(--navy);color:#eef1f6;position:fixed;left:0;top:0;bottom:0;width:280px;padding:28px 20px 22px;display:flex;flex-direction:column;z-index:30;transition:transform .25s ease}.sidebar-collapsed .sidebar{transform:translateX(-100%)}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:0 8px 30px}.sidebar-top button{display:none}.institution-switch{background:#19243a;border:1px solid #2a3650;border-radius:12px;padding:16px;margin-bottom:28px;display:flex;flex-direction:column}.institution-switch small,.sidebar nav>p{color:#778197;font-size:9px;letter-spacing:.13em}.institution-switch strong{margin:7px 0 3px;font-size:14px}.institution-switch span{color:#8f98aa;font-size:11px}.sidebar nav{flex:1 1;overflow-y:auto}.sidebar nav button{width:100%;background:transparent;border:0;border-radius:8px;padding:12px 13px;color:#9ca5b5;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;font-size:13px;margin:3px 0}.sidebar nav button.active,.sidebar nav button:hover{background:#252f47;color:white}.sidebar nav button.active{box-shadow:inset 3px 0 var(--lime)}.sidebar nav>p{margin:28px 12px 11px}.project-dot{width:7px;height:7px;border-radius:50%;background:#697286;flex:0 0 auto}.project-dot.active{background:var(--lime)}.project-dot.completed{background:#68c29a}.project-dot.on_hold{background:#e3a562}.sidebar-user{border-top:1px solid #2b3549;padding-top:19px;display:grid;grid-template-columns:38px 1fr 25px;align-items:center;grid-gap:10px;gap:10px}.sidebar-user>span{width:36px;height:36px;border-radius:50%;background:var(--purple);display:grid;place-items:center;font-size:11px;font-weight:800}.sidebar-user div{min-width:0;display:flex;flex-direction:column}.sidebar-user strong{font-size:12px}.sidebar-user small{color:#7f899c;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.sidebar-user button{border:0;background:transparent;color:#7f899c;cursor:pointer}.workspace{grid-column:2;min-width:0}.topbar{height:96px;background:white;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar>div:first-of-type small{color:var(--purple);font-size:9px;letter-spacing:.12em;font-weight:700}.topbar h1{margin:6px 0 0;font-size:23px;letter-spacing:-.03em}.topbar-actions{display:flex;align-items:center;gap:24px;color:var(--muted);font-size:11px;margin-left:auto}.topbar-actions a{border:1px solid #ccd1d9;border-radius:99px;padding:11px 15px;color:var(--ink)}.portal-menu{flex:0 0 auto;display:grid;place-items:center;border:1px solid #d5d9df;border-radius:50%;background:white;width:40px;height:40px;cursor:pointer;font-size:16px}.workspace-error{margin:20px 42px;background:#fff0f0;color:#9d2929;padding:12px;border-radius:8px}.overview,.project-detail{padding:40px 42px 70px;max-width:1500px;margin:auto}.welcome{background:var(--navy);color:white;border-radius:18px;padding:38px 42px;display:flex;justify-content:space-between;align-items:flex-end;overflow:hidden;position:relative}.welcome:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:var(--lime);right:18%;top:-80px;filter:blur(2px);opacity:.9}.milestone-header span,.section-title span,.welcome span{color:var(--lime);font-size:9px;letter-spacing:.14em;font-weight:750}.welcome h2{font-size:42px;line-height:1;letter-spacing:-.045em;margin:18px 0 0}.welcome>p{color:#929bad;font-size:12px;position:relative;z-index:2}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:18px 0 46px}.stat-grid article{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;grid-template-columns:1fr auto;align-items:flex-end}.stat-grid small{grid-column:1/-1;color:var(--muted);font-size:9px;letter-spacing:.11em}.stat-grid strong{font-size:42px;letter-spacing:-.05em;margin-top:15px}.stat-grid span{color:var(--muted);font-size:10px;padding-bottom:6px}.milestone-header,.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.milestone-header span,.section-title span{color:var(--purple)}.milestone-header h2,.section-title h2{margin:7px 0 0;font-size:28px;letter-spacing:-.04em}.section-title>small{color:var(--muted);font-size:10px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:17px;gap:17px}.project-card{background:white;border:1px solid var(--line);border-radius:15px;padding:24px;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s}.project-card:hover{transform:translateY(-3px);border-color:#bcb2f9}.card-head{display:flex;justify-content:space-between;align-items:center}.status{font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:750;border-radius:99px;padding:7px 10px;background:#eceef2;color:#606a79}.status.active{background:#e8f5d7;color:#487124}.status.completed{background:#def3e8;color:#246545}.status.on_hold{background:#fff0dc;color:#98571c}.card-head>small{color:var(--muted);font-size:10px}.project-card h3{font-size:24px;letter-spacing:-.035em;margin:24px 0 8px}.project-card>p{color:var(--muted);font-size:13px;line-height:1.5;min-height:40px}.card-progress{border-top:1px solid var(--line);margin-top:22px;padding-top:22px;display:grid;grid-template-columns:1fr 62px;grid-gap:20px;gap:20px;align-items:center}.card-progress>div>span{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px}.card-progress i{height:6px;background:#eceef2;border-radius:9px;display:block;overflow:hidden}.card-progress em{display:block;background:var(--purple);height:100%;border-radius:9px}.progress-ring{border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--purple) var(--progress),#e8e9ee 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:7px;background:white;border-radius:50%}.progress-ring strong{position:relative;z-index:1;font-size:15px}.project-card footer{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.empty-state{grid-column:1/-1;background:white;border:1px dashed #cbd0d9;border-radius:15px;padding:60px;text-align:center}.empty-state p{color:var(--muted)}.project-summary{background:var(--navy);color:white;border-radius:18px;padding:40px;display:grid;grid-template-columns:1fr 190px;grid-gap:30px;gap:30px}.project-summary h2{font-size:30px;line-height:1.25;letter-spacing:-.035em;max-width:760px;margin:24px 0 40px}.project-meta{display:flex;gap:45px}.project-meta span{display:flex;flex-direction:column;gap:7px}.project-meta small{color:#768096;font-size:8px;letter-spacing:.12em}.project-meta strong{font-size:12px}.summary-progress{border-left:1px solid #303b51;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#949daf;font-size:10px}.summary-progress .progress-ring:after{background:var(--navy)}.summary-progress .progress-ring strong{color:white;font-size:23px}.milestone-header{margin:50px 0 24px}.milestone-header>p{max-width:400px;color:var(--muted);font-size:12px;line-height:1.5}.milestones article{display:grid;grid-template-columns:55px 1fr}.milestone-line{display:flex;flex-direction:column;align-items:center}.milestone-line>span{width:36px;height:36px;border:1px solid #cfd3db;background:white;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:750}.milestone-line i{width:1px;background:#d5d8df;flex:1 1}.milestones article.complete .milestone-line>span{background:var(--purple);color:white;border-color:var(--purple)}.milestone-body{background:white;border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:18px}.milestone-body>header{display:flex;justify-content:space-between;gap:20px}.milestone-body header>div>span{color:var(--purple);font-size:8px;font-weight:750;letter-spacing:.11em}.milestone-body h3{font-size:21px;margin:8px 0;letter-spacing:-.025em}.milestone-body p{color:var(--muted);font-size:12px;margin:0}.milestone-check input,.task-list input{position:absolute;opacity:0}.milestone-check>span,.readonly-check{width:32px;height:32px;border:1px solid #ccd1d9;border-radius:50%;display:grid;place-items:center;color:transparent;cursor:pointer}.complete .readonly-check,.milestone-check input:checked+span{background:var(--purple);border-color:var(--purple);color:white}.task-list{margin-top:22px;border-top:1px solid var(--line)}.task-list label{display:grid;grid-template-columns:25px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:13px 0;border-bottom:1px solid #edf0f3;font-size:12px;cursor:pointer;position:relative}.task-list label>span{width:18px;height:18px;border:1px solid #c9ced6;border-radius:5px;display:grid;place-items:center;color:transparent;font-size:10px}.task-list input:checked+span{background:var(--green);border-color:var(--green);color:white}.task-list input:checked~strong{color:#939aa6;text-decoration:line-through}.task-list small{color:var(--muted);font-size:9px}.button-primary,.button-secondary{border:0;border-radius:99px;padding:13px 18px;font-weight:700;cursor:pointer}.button-primary{background:var(--purple);color:white}.button-secondary{background:#eef0f4;color:var(--ink)}.button-primary.compact{padding:11px 15px;font-size:11px;white-space:nowrap}.manage-topbar{border:1px solid #d9d3ff;border-radius:99px;padding:11px 15px;color:var(--purple);background:white;cursor:pointer}.summary-actions{display:flex;gap:10px;margin-top:28px}.summary-actions button{background:transparent;border:1px solid #3b465b;border-radius:99px;color:white;padding:9px 13px;font-size:10px;cursor:pointer}.summary-actions .danger-link{color:#e8a5a5;border-color:#6a3c48}.milestone-heading-actions{display:flex;align-items:center;gap:20px}.milestone-heading-actions p{max-width:390px;color:var(--muted);font-size:12px;line-height:1.5;margin:0}.milestone-controls{display:flex;align-items:center;gap:6px}.milestone-controls>button,.task-actions button{border:1px solid #dce0e6;background:white;border-radius:50%;width:30px;height:30px;cursor:pointer;color:#70798a}.task-row{grid-template-columns:1fr auto;border-bottom:1px solid #edf0f3}.task-row,.task-row label{display:grid;align-items:center}.task-row label{grid-template-columns:25px 1fr auto;grid-gap:10px;gap:10px;padding:13px 0;border-bottom:0;font-size:12px;cursor:pointer;position:relative}.task-actions{display:flex;gap:5px;margin-left:14px}.task-actions button{width:26px;height:26px;font-size:11px}.add-task{border:1px dashed #cfd4dd;background:#fafbfc;color:var(--purple);border-radius:8px;padding:10px 14px;margin-top:14px;cursor:pointer;font-size:11px;font-weight:650}.empty-roadmap{background:white;border:1px dashed #cbd0d9;border-radius:14px;padding:45px;text-align:center}.empty-roadmap p{color:var(--muted);font-size:12px}.modal-backdrop{position:fixed;inset:0;background:rgba(8,13,24,.66);z-index:100;display:grid;place-items:center;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-modal{width:min(700px,100%);max-height:calc(100vh - 48px);overflow:auto;background:white;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.editor-modal>header{padding:26px 30px 20px;border-bottom:1px solid var(--line);display:flex;align-items:start;justify-content:space-between}.editor-modal>header span{color:var(--purple);font-size:9px;font-weight:750;letter-spacing:.13em}.editor-modal>header h2{margin:7px 0 0;font-size:28px;letter-spacing:-.04em}.editor-modal>header button{border:0;background:#f0f1f4;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.editor-modal form{padding:26px 30px 30px;display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.editor-modal label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;color:#4f5867}.editor-modal form>footer,.editor-modal label.full,.form-error{grid-column:1/-1}.editor-modal input,.editor-modal select,.editor-modal textarea{width:100%;border:1px solid #d8dce3;border-radius:9px;background:white;color:var(--ink);padding:12px 13px;outline:0;resize:vertical}.editor-modal input:focus,.editor-modal select:focus,.editor-modal textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(111,84,246,.1)}.editor-modal .check-field{flex-direction:row;align-items:center;align-self:end;padding:11px 0;cursor:pointer}.check-field input{position:absolute;opacity:0}.check-field span{width:22px;height:22px;border:1px solid #cbd0d8;border-radius:6px;display:grid;place-items:center;color:transparent}.check-field input:checked+span{background:var(--purple);border-color:var(--purple);color:white}.form-error{background:#fff0f0;color:#9d2929;padding:11px;border-radius:8px;font-size:12px;margin:0}.editor-modal form>footer{display:flex;justify-content:flex-end;gap:10px;padding-top:7px}.editor-modal button:disabled{opacity:.6;cursor:wait}.template-badge{display:inline-block;background:#f0edff;color:var(--purple);border-radius:99px;padding:6px 9px;font-size:9px;font-weight:700;margin-top:8px}.template-library{padding:40px 42px 70px;max-width:1500px;margin:auto}.library-hero{background:var(--navy);color:white;border-radius:18px;padding:38px 42px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.library-hero>div>span,.template-builder-head span{color:var(--lime);font-size:9px;letter-spacing:.14em;font-weight:750}.library-hero h2{font-size:40px;line-height:1;letter-spacing:-.045em;margin:17px 0}.library-hero p{color:#a2aabb;font-size:13px;line-height:1.55;max-width:650px;margin:0}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;margin-top:24px}.template-grid>article{background:white;border:1px solid var(--line);border-radius:15px;padding:24px}.template-grid>article>header{display:flex;justify-content:space-between;gap:20px}.template-grid header span{color:var(--purple);font-size:9px;font-weight:750;letter-spacing:.12em}.template-grid h3{font-size:23px;letter-spacing:-.035em;margin:8px 0 0}.template-grid header i{height:max-content;border-radius:99px;background:#edf0f4;color:#77808e;padding:6px 9px;font-size:9px;font-style:normal}.template-grid header i.active{background:#e3f5e9;color:#28704d}.template-grid>article>p{color:var(--muted);font-size:12px;line-height:1.55;min-height:38px}.template-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;margin:20px 0}.template-metrics span{display:flex;flex-direction:column;align-items:center;padding:13px 8px;color:var(--muted);font-size:9px;border-right:1px solid var(--line)}.template-metrics span:last-child{border:0}.template-metrics strong{font-size:20px;color:var(--ink);margin-bottom:2px}.template-grid ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.template-grid li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f3;font-size:11px}.template-grid li small{color:var(--purple)}.template-grid>article>footer{display:flex;gap:9px;margin-top:20px}.template-grid>article>footer button{border:1px solid #d7dbe2;border-radius:99px;background:white;padding:9px 13px;font-size:10px;cursor:pointer}.template-grid>article>footer .danger-link{color:#a73b3b}.template-backdrop{place-items:start center;overflow:auto}.template-editor{width:min(980px,100%);background:#f7f8fa;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.35);margin:auto}.template-editor>header{background:white;padding:25px 30px;border-radius:18px 18px 0 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.template-editor>header span{color:var(--purple);font-size:9px;font-weight:750;letter-spacing:.13em}.template-editor>header h2{font-size:28px;margin:7px 0 0}.template-editor>header button{border:0;background:#eef0f4;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.template-editor>form{padding:24px 30px 30px}.template-basics{display:grid;grid-template-columns:1fr 1fr;grid-gap:17px;gap:17px;background:white;border:1px solid var(--line);border-radius:13px;padding:22px}.phase-fields label,.template-basics label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;color:#566071}.template-basics .full{grid-column:1/-1}.template-basics input,.template-basics textarea,.template-phases input,.template-phases textarea{border:1px solid #d8dce3;border-radius:8px;padding:10px;outline:0;resize:vertical;color:var(--ink)}.template-builder-head{display:flex;justify-content:space-between;align-items:flex-end;margin:28px 0 14px}.template-builder-head span{color:var(--purple)}.template-builder-head h3{font-size:24px;margin:6px 0 0}.weight-ok,.weight-warning{font-size:11px;border-radius:99px;padding:8px 11px}.weight-ok{background:#e4f5e9;color:#28704d}.weight-warning{background:#fff0dc;color:#98571c}.template-phases{display:flex;flex-direction:column;gap:13px}.template-phases>article{background:white;border:1px solid var(--line);border-radius:13px;padding:19px}.template-phases>article>header{display:grid;grid-template-columns:35px 1fr 32px;grid-gap:10px;gap:10px;align-items:center}.template-phases>article>header>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:white;font-size:9px}.template-phases>article>header input{font-size:16px;font-weight:750}.template-phases>article>header button,.template-tasks>div>button{border:0;background:#f4eaea;color:#a14242;border-radius:50%;width:28px;height:28px;cursor:pointer}.phase-fields{display:grid;grid-template-columns:1fr 110px 130px;grid-gap:12px;gap:12px;margin:14px 0}.phase-fields label small{font-size:8px;color:var(--muted)}.template-tasks{border-top:1px solid var(--line);padding-top:10px}.template-tasks>div{display:grid;grid-template-columns:24px 1fr 90px 28px;grid-gap:8px;gap:8px;align-items:center;margin:7px 0}.template-tasks>div>span{color:var(--purple)}.template-tasks>div>label{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted)}.template-tasks>div>label input{width:60px}.add-template-phase,.add-template-task{border:1px dashed #c9ced8;background:#fafbfc;color:var(--purple);border-radius:8px;padding:9px 12px;font-size:10px;font-weight:700;cursor:pointer}.add-template-phase{width:100%;margin-top:13px;padding:13px}.template-editor form>footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.institution-directory{padding:40px 42px 70px;max-width:1500px;margin:auto}.directory-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.directory-heading>div>span{color:var(--purple);font-size:9px;letter-spacing:.14em;font-weight:750}.directory-heading h2{font-size:34px;letter-spacing:-.045em;margin:8px 0}.directory-heading p{color:var(--muted);font-size:12px;margin:0;max-width:620px}.directory-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:13px;gap:13px;margin:25px 0}.directory-stats article{background:var(--navy);color:white;border-radius:13px;padding:20px;display:flex;align-items:flex-end;justify-content:space-between}.directory-stats small{color:#9099aa;font-size:9px;letter-spacing:.1em}.directory-stats strong{font-size:32px}.institution-list{display:flex;flex-direction:column;gap:13px}.institution-list>article{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;grid-template-columns:48px 1fr;grid-gap:17px;gap:17px}.institution-list>article.inactive{opacity:.68}.institution-avatar{width:46px;height:46px;border-radius:12px;background:#eeeaff;color:var(--purple);display:grid;place-items:center;font-size:12px;font-weight:850}.institution-main>header{display:flex;align-items:flex-start;justify-content:space-between}.institution-main>header span{color:var(--green);font-size:8px;font-weight:750;letter-spacing:.11em}.institution-main>header h3{font-size:20px;margin:6px 0 0}.institution-main>header button{border:1px solid #d6dae1;background:white;border-radius:99px;padding:8px 12px;font-size:10px;cursor:pointer}.institution-actions{display:flex;gap:7px}.institution-actions button:first-child{border-color:#d9d3ff;color:var(--purple)}.contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:15px;gap:15px;margin:19px 0}.contact-grid span{display:flex;flex-direction:column;gap:5px;min-width:0}.contact-grid small{color:var(--muted);font-size:8px;letter-spacing:.09em}.contact-grid a,.contact-grid strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-grid a{color:var(--purple)}.institution-address{font-size:11px;color:var(--muted);margin:0 0 14px}.institution-main>footer{border-top:1px solid var(--line);padding-top:13px;display:flex;gap:16px;color:var(--muted);font-size:9px}.institution-main>footer small{margin-left:auto;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.institution-editor{width:min(720px,100%)}.access-backdrop{padding:18px}.access-manager{width:min(900px,100%);max-height:calc(100vh - 36px);overflow:hidden;background:white;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.access-manager>header{padding:24px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.access-manager>header span,.account-editor form>div span{color:var(--purple);font-size:9px;font-weight:750;letter-spacing:.12em}.access-manager>header h2{font-size:27px;margin:7px 0}.access-manager>header p{color:var(--muted);font-size:11px;margin:0}.access-manager>header>button{border:0;background:#eef0f4;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.access-layout{display:grid;grid-template-columns:340px 1fr;min-height:430px;max-height:calc(100vh - 160px)}.account-list{border-right:1px solid var(--line);padding:20px;overflow:auto;background:#f8f9fb}.account-list-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.account-list-heading h3{font-size:15px;margin:0}.account-list-heading button{border:0;background:var(--purple);color:white;border-radius:99px;padding:8px 10px;font-size:9px;cursor:pointer}.account-list>button{width:100%;border:1px solid transparent;background:transparent;border-radius:10px;padding:11px;display:grid;grid-template-columns:36px 1fr;grid-gap:9px;gap:9px;text-align:left;cursor:pointer;margin:4px 0}.account-list>button.selected,.account-list>button:hover{background:white;border-color:#dcd8fa}.account-list>button.inactive{opacity:.55}.account-list>button>span{width:34px;height:34px;background:#e9e5ff;color:var(--purple);border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:800}.account-list>button>div{display:flex;flex-direction:column;min-width:0}.account-list>button strong{font-size:11px}.account-list>button small{color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis}.account-list>button em{color:var(--green);font-size:8px;font-style:normal;margin-top:4px}.no-accounts{text-align:center;padding:45px 12px}.no-accounts p{color:var(--muted);font-size:10px}.account-editor{overflow:auto;padding:25px}.account-editor form{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.account-editor .form-error,.account-editor .full,.account-editor footer,.account-editor form>div{grid-column:1/-1}.account-editor form h3{font-size:20px;margin:6px 0 3px}.account-editor form label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;color:#566071}.account-editor input{border:1px solid #d8dce3;border-radius:8px;padding:11px;outline:0}.account-editor footer{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}.account-placeholder{height:100%;display:grid;place-content:center;text-align:center;max-width:340px;margin:auto}.account-placeholder>span{width:48px;height:48px;background:#eeeaff;color:var(--purple);border-radius:50%;display:grid;place-items:center;margin:auto}.account-placeholder h3{margin:14px 0 5px}.account-placeholder p{color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:1050px){.project-grid,.template-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr 1fr}.topbar-actions>span{display:none}.portal-shell{grid-template-columns:240px 1fr}.sidebar{width:240px}}@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-brand{min-height:43vh;padding:30px 24px}.login-brand h1{font-size:58px;margin:28px 0 20px}.login-brand p{font-size:15px}.login-brand>small{display:none}.login-brand:before{width:100px;height:100px;right:20px}.login-brand:after{width:240px;height:240px}.login-panel{padding:42px 24px}.login-heading h2{font-size:40px}.login-heading p{margin-bottom:32px}.portal-shell{display:block}.sidebar,.sidebar-collapsed .sidebar{width:min(320px,88vw);transform:translateX(-105%);transition:transform .25s;box-shadow:15px 0 40px rgba(0,0,0,.2)}.sidebar-open .sidebar,.sidebar-open.sidebar-collapsed .sidebar{transform:translateX(0)}.sidebar-top button{display:block;background:transparent;border:0;color:white;font-size:25px}.workspace{min-width:0}.topbar{height:82px;padding:0 18px;justify-content:flex-start;gap:14px}.topbar h1{font-size:19px}.topbar-actions{margin-left:auto}.topbar-actions a{padding:9px;font-size:0}.topbar-actions a:after{content:"Aide";font-size:11px}.overview,.project-detail{padding:22px 15px 50px}.welcome{padding:27px 23px;min-height:210px;align-items:flex-start}.welcome h2{font-size:34px}.welcome>p{display:none}.welcome:after{right:-30px;top:-50px}.stat-grid{grid-template-columns:1fr;margin-bottom:35px}.stat-grid article{padding:18px}.stat-grid strong{font-size:35px}.section-title{align-items:start}.section-title>small{display:none}.project-grid{grid-template-columns:1fr}.project-card{padding:20px}.project-card footer{flex-direction:column;gap:8px}.project-summary{grid-template-columns:1fr;padding:25px}.project-summary h2{font-size:23px}.project-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.summary-progress{border-left:0;border-top:1px solid #303b51;padding-top:25px}.milestone-header{align-items:start;flex-direction:column}.milestone-header>p{margin:0}.milestones article{grid-template-columns:40px 1fr}.milestone-line>span{width:30px;height:30px}.milestone-body{padding:18px}.task-list label{grid-template-columns:24px 1fr}.task-list small{grid-column:2}.empty-state{padding:40px 20px}.manage-topbar{display:none}.milestone-heading-actions{align-items:flex-start;flex-direction:column}.milestone-heading-actions p{margin-top:8px}.editor-modal{max-height:calc(100vh - 20px);border-radius:14px}.modal-backdrop{padding:10px}.editor-modal>header{padding:22px 20px 17px}.editor-modal>header h2{font-size:24px}.editor-modal form{padding:21px 20px 24px;grid-template-columns:1fr}.editor-modal form>footer,.editor-modal label.full,.form-error{grid-column:1}.form-spacer{display:none}.task-row{grid-template-columns:1fr}.task-actions{grid-row:2;margin:0 0 10px 34px}.task-list small{grid-column:2}.milestone-controls>button{display:none}.section-title{gap:15px}.button-primary.compact{padding:10px 12px}.empty-roadmap{padding:35px 20px}.template-library{padding:22px 15px 50px}.library-hero{padding:27px 23px;align-items:flex-start;flex-direction:column}.library-hero h2{font-size:32px}.template-grid>article{padding:19px}.template-editor{border-radius:12px}.template-editor>header{padding:20px;border-radius:12px 12px 0 0}.template-editor>form{padding:16px}.template-basics{grid-template-columns:1fr;padding:16px}.template-basics .full{grid-column:1}.template-builder-head{align-items:flex-start;flex-direction:column;gap:10px}.phase-fields{grid-template-columns:1fr 1fr}.phase-fields label:first-child{grid-column:1/-1}.template-phases>article{padding:14px}.template-tasks>div{grid-template-columns:18px 1fr 75px 26px}.template-tasks>div>label input{width:45px}.template-editor form>footer{position:-webkit-sticky;position:sticky;bottom:0;background:#f7f8fa;padding:12px 0 0}.template-metrics strong{font-size:17px}.institution-directory{padding:22px 15px 50px}.directory-heading{align-items:flex-start;flex-direction:column}.directory-heading h2{font-size:29px}.directory-stats{grid-template-columns:1fr}.directory-stats article{padding:16px 19px}.institution-list>article{grid-template-columns:38px 1fr;padding:16px;gap:11px}.institution-avatar{width:36px;height:36px}.contact-grid{grid-template-columns:1fr}.institution-main>footer{flex-wrap:wrap}.institution-main>footer small{margin-left:0;max-width:100%;width:100%}.institution-actions{flex-direction:column}.institution-main>header button{padding:7px 9px}.access-backdrop{padding:7px}.access-manager{max-height:calc(100vh - 14px);border-radius:12px;overflow:auto}.access-manager>header{padding:18px}.access-manager>header h2{font-size:22px}.access-layout{display:block;max-height:none}.account-list{border-right:0;border-bottom:1px solid var(--line);max-height:290px;padding:15px}.account-editor{padding:19px}.account-editor form{grid-template-columns:1fr}.account-editor .form-error,.account-editor .full,.account-editor footer,.account-editor form>div{grid-column:1}.account-placeholder{padding:45px 10px}}