:root{color:#2d4033;font-synthesis:none;--forest:#37493a;--muted:#65746b;--focus:#4b6a55;--line:#e0e8e2;--control-border:#7c8e80;--sage:#eef4ef;--white:#fff;--radius:18px;background:#f5f8f5;font-family:Outfit,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:12px;font-size:clamp(1.65rem,2.25vw,2.15rem);font-weight:600;line-height:1.18}h2{letter-spacing:-.02em;font-size:1.15rem;font-weight:550}h3{font-size:1.05rem;font-weight:550;line-height:1.45}p{color:var(--muted);font-size:1rem;line-height:1.6}label{flex-direction:column;gap:9px;margin-bottom:20px;font-size:.9rem;font-weight:500;display:flex}input,select,textarea{border:1px solid var(--control-border);color:#2d4033;background:#fafcfb;border-radius:10px;width:100%;min-height:46px;padding:12px 14px}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:var(--muted)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:1px;border-color:var(--focus)}.button{background:var(--forest);color:#fff;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:11px 17px;font-size:.93rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){background:#293d2e;box-shadow:0 3px 10px #263f3015}.button:active:not(:disabled){transform:translateY(1px)}.button.secondary{color:var(--forest);background:#fff;border-color:#dbe5de;box-shadow:inset 0 1px 1px #223a2810}.button.secondary:hover{background:#f0f5f1}.button.ghost{color:var(--forest);box-shadow:none;background:#edf3ee}.button.ghost:hover{background:#dfeae2}.button.full{width:100%}.text-button{color:#4b6a55;background:0 0;border:0;border-radius:6px;margin-bottom:14px;padding:5px 0;font-size:.9rem;font-weight:500}.text-button:hover{color:#243e2c}.icon-button{border:1px solid var(--line);width:40px;height:40px;color:var(--forest);background:#fff;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#536d5a;margin-bottom:14px;font-size:.75rem;font-weight:600;display:block}.brand-logo{object-fit:contain;width:100px;max-height:100px;margin:0 auto 24px;display:block}.auth-page{background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:100svh;display:grid}.auth-card{background:#fff;grid-area:1/1;width:min(100% - 112px,450px);min-width:0;margin:56px auto;padding:0}.auth-card .brand-logo{width:104px;max-height:104px;margin:0 0 38px}.auth-state{margin-bottom:18px}.auth-sign-out{margin-top:12px}.auth-photo{background:var(--forest);grid-area:1/2;align-self:start;height:100svh;position:sticky;top:0;overflow:hidden}.auth-photo>img{object-fit:cover;object-position:55% center;width:100%;height:100%;display:block}.auth-photo-credit{max-width:calc(100% - 48px);color:var(--forest);background:#fff;border-radius:999px;padding:10px 14px;font-size:.75rem;line-height:1.5;text-decoration:none;position:absolute;bottom:24px;left:24px}.auth-photo-credit:hover{background:var(--sage)}@media (width<=899px){.auth-page{grid-template-columns:minmax(0,1fr)}.auth-card{width:min(100% - 48px,450px);margin:40px auto}.auth-photo{display:none}}.auth-card .eyebrow,.auth-card h1,.auth-card>p{text-align:left}.auth-card>p{margin-bottom:28px}.auth-card form{margin-top:25px}.auth-card .google{border-color:var(--line);color:#2d4033;background:#fff;width:100%}.google span{margin-right:3px;font-size:1.15rem;font-weight:650}.divider{height:34px;color:var(--muted);align-items:center;gap:12px;margin:16px 0 0;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";background:#e9eeeb;flex:1;height:1px}.auth-footer{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-top:26px;font-size:.875rem;display:flex}.auth-footer .text-button{margin:0}.auth-note{color:var(--muted)!important;margin:26px 0 0!important;font-size:.8rem!important}.setup-notice{background:#f3f6f3;border-radius:9px;padding:12px;margin:15px 0 0!important;font-size:.87rem!important}.alert{border:1px solid #0000;border-radius:10px;padding:13px 16px;font-size:.93rem!important}.alert.danger{color:#90483e;background:#fff1ef;border-color:#efd5d0}.alert.success{color:#3f6d4c;background:#edf7ef;border-color:#d5e9da}.loading-page{min-height:100vh;color:var(--muted);place-items:center;display:grid}.workspace{min-height:100vh;display:flex}.sidebar{z-index:30;background:#fff;border-right:1px solid #e4ebe6;flex-direction:column;width:238px;padding:30px 18px 24px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.logo-link{margin-bottom:40px;padding:0 18px;display:block}.logo-link img{object-fit:contain;object-position:left center;width:94px;height:72px}.sidebar-label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin-bottom:12px;padding:0 15px;font-size:.7rem;font-weight:550}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar a:not(.logo-link),.sidebar-bottom button{color:#6a786f;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;width:100%;padding:12px 15px;font-size:.94rem;text-decoration:none;display:flex}.sidebar a.active{font-weight:550;color:#374f3e!important;background:#eaf1eb!important}.sidebar a:not(.logo-link):hover,.sidebar-bottom button:hover{color:#3b5241;background:#f4f7f4}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-fineprint{color:var(--muted);padding:24px 15px 0;font-size:.74rem;display:block}.workspace-body{width:calc(100% - 238px);margin-left:238px}.topbar{background:#ffffffc9;border-bottom:1px solid #e6ede8;justify-content:space-between;align-items:center;gap:16px;height:90px;padding:20px 38px;display:flex}.university-label{color:#779080;align-items:center;gap:11px;display:flex}.university-label>div{flex-direction:column;gap:4px;display:flex}.university-label span{color:var(--muted);font-size:.72rem}.university-label strong{color:#425748;font-size:.94rem;font-weight:500}.profile-summary{align-items:center;gap:13px;display:flex}.profile-summary>div{text-align:right;flex-direction:column;gap:4px;display:flex}.profile-summary strong{font-size:.91rem;font-weight:500}.profile-summary span:not(.avatar){color:var(--muted);font-size:.73rem}.avatar{color:#5d7865;background:#edf3ee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.78rem;font-weight:550;display:inline-flex}.content{max-width:1500px;margin:0 auto;padding:38px}.page-heading{justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px;display:flex}.page-heading p{margin-bottom:0}.page-heading .eyebrow{margin-bottom:10px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:27px}.overview-grid{grid-template-columns:1.7fr 1fr 1fr;gap:20px;display:grid}.overview-lower{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;display:grid}.implementation-card{background:linear-gradient(120deg,#fff,#f6faf6)}.card-heading{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.icon-tile{color:#627e69;background:#eef4ee;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.implementation-card h2{margin-bottom:9px;font-size:1.35rem}.implementation-card p{margin-bottom:30px;font-size:.88rem}.badge{color:#56635a;background:#eef1ef;border-radius:7px;align-items:center;gap:6px;padding:5px 10px;font-size:.875rem;font-weight:500;line-height:1.4;display:inline-flex}.badge.success{color:#3f6d4c;background:#e7f2e9}.badge.info{color:#456581;background:#e9eff7}.badge.warning{color:#765e2b;background:#fcf2df}.badge.danger{color:#8a5147;background:#f9eae5}.progress-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;font-size:.875rem;display:flex}.progress-heading strong{color:#3f6248;font-size:1.2rem;font-weight:550}progress{background:#e9eeea;border:0;border-radius:100px;width:100%;height:9px;margin-bottom:27px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#e9eeea;border-radius:100px}progress::-webkit-progress-value{background:#64856d;border-radius:100px}progress::-moz-progress-bar{background:#64856d;border-radius:100px}.stat-card{flex-direction:column;align-items:flex-start;display:flex}.stat-card .stat-number{letter-spacing:-.07em;color:#3c5242;margin:29px 0 16px;font-size:2.8rem;font-weight:550;line-height:1}.stat-card h2{margin-bottom:8px}.stat-card p{flex:1;margin-bottom:20px;font-size:.89rem}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px;display:flex}.section-heading h2{margin:0}.section-heading svg{color:#83988a}.inline-meta{color:var(--muted);align-items:center;gap:8px;margin-bottom:24px;font-size:.9rem;display:flex}.demo-banner{color:#856c36;background:#fff4de;border:1px solid #f1e3c5;border-radius:10px;margin-bottom:25px;padding:12px 16px;font-size:.8rem}.menu-toggle{display:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.navigation-overlay{z-index:40;background:#213d2c40;position:fixed;inset:0}.mobile-navigation{z-index:41}.navigation-close{position:absolute;top:16px;right:12px}@media (width>=1600px){.content{padding:48px 56px}.topbar{padding-inline:56px}}@media (width<=1100px){.sidebar{width:210px;padding-inline:12px}.workspace-body{width:calc(100% - 210px);margin-left:210px}.content{padding:28px}.overview-grid{grid-template-columns:1fr 1fr}.implementation-card{grid-column:1/-1}.topbar{padding-inline:28px}.page-heading{align-items:flex-start}}@media (width<=740px){.sidebar{transition:transform .2s;transform:translate(-100%);box-shadow:8px 0 40px #27412e12}.sidebar.open{transform:translate(0)}.workspace-body{width:100%;margin-left:0}.topbar{height:80px;padding:15px 18px}.menu-toggle{display:inline-flex}.university-label{flex:1}.university-label strong{font-size:.84rem}.profile-summary>div{display:none}.content{padding:25px 18px}.page-heading{display:block}.page-heading>.button{margin-top:20px}.overview-grid,.overview-lower{grid-template-columns:1fr;gap:15px}.stat-card{grid-template-columns:auto 1fr;gap:0 18px;display:grid}.stat-card .icon-tile{grid-row:1/4}.stat-card .stat-number{margin:0 0 10px;font-size:2.1rem}.stat-card h2,.stat-card p{grid-column:2}.stat-card .button{grid-column:1/-1;justify-self:start}.card{padding:24px}.auth-card{padding:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.skip-link{z-index:100;background:#fff;border-radius:12px;padding:14px;position:fixed;top:-80px;left:260px}.skip-link:focus{top:12px}.toolbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.search-label{width:min(360px,60%)}.segmented{border:1px solid var(--line);background:#fff;border-radius:12px;padding:4px;display:flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:10px 14px;display:flex}.segmented button.selected{color:var(--forest);background:#edf2ee;box-shadow:inset 0 0 0 1px #dce5dd}.task-board{grid-template-columns:repeat(5,minmax(225px,1fr));align-items:start;gap:16px;padding-bottom:18px;display:grid;overflow-x:auto}.board-column{background:#eef2ee;border:1px solid #e5ebe5;border-radius:16px;min-height:280px;padding:12px}.board-column.over{background:#e0eade;outline:2px solid #7a8f80}.column-heading{align-items:center;gap:8px;padding:6px 2px 16px;display:flex}.column-heading h2{flex:1;margin:0;font-size:14px}.column-heading>span:last-child{background:#fff;border-radius:6px;padding:3px 7px;font-size:12px}.status-dot{background:#b5c1b8;border-radius:50%;width:8px;height:8px}.status-dot.info{background:#6d92a1}.status-dot.warning{background:#c28c45}.status-dot.success{background:#64846c}.status-dot.danger{background:#bd7370}.column-empty{text-align:center;color:#56635a;padding-top:40px;font-size:13px}.task-card{background:#fff;border:1px solid #dee6df;border-radius:12px;margin-bottom:12px;padding:15px;box-shadow:0 2px 4px #263a2e04}.task-card.dragging{z-index:3;opacity:.85;box-shadow:0 15px 40px #263a2e25}.task-top{justify-content:space-between;align-items:start;gap:8px;display:flex}.drag-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0}.task-title{font:inherit;text-align:left;color:var(--forest);cursor:pointer;background:0 0;border:0;margin:7px 0 14px;padding:0;font-size:15px;font-weight:600;line-height:1.45;display:block}.small-meta{color:var(--muted);font-size:14px;line-height:1.6}.button.small{min-height:34px;padding:8px 12px;font-size:14px}.table-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:690px}th{color:var(--muted);background:#f8faf7;padding:16px 18px;font-size:14px;font-weight:500}td{border-top:1px solid #edf1ed;padding:18px;font-size:14px}tbody tr:hover{background:#fbfcfa}.badge{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.project-card{max-width:850px}.milestone-list{gap:20px;margin-top:32px;display:grid}.milestone{border:1px solid var(--line);border-radius:14px;padding:20px}.milestone h3{margin:0;font-size:16px}.milestone ul{margin:16px 0 0;padding:0;list-style:none}.milestone li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.milestone li a{min-width:180px;color:var(--forest);border-radius:8px;flex:1;padding:6px;font-weight:500;text-decoration:none}.milestone li a:hover{background:#edf2ee}.milestone li>span:not(.badge){color:var(--muted);font-size:14px}.deliverable-summary{background:#f5f8f4;border-radius:12px;padding:16px}.deliverable-summary h3{margin:0;font-size:14px}.project-card progress{margin-bottom:24px}.meta-row{color:var(--muted);gap:25px;margin-bottom:25px;font-size:13px;display:flex}.record-list{gap:16px;display:grid}.record-row{align-items:center;gap:24px;padding:24px;display:flex}.record-row>div:first-child:not(.meeting-date){flex:1}.record-row h2{margin:8px 0;font-size:18px}.record-row p{margin:0}.record-actions{flex-direction:column;align-items:end;gap:14px;display:flex}.empty-state{text-align:center;color:var(--muted);background:#f9fbf8;border:1px dashed #cedacf;border-radius:16px;padding:56px 25px}.empty-state p{max-width:420px;margin:15px auto}.drawer-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;background:#192e2560;position:fixed;inset:0}.drawer{z-index:50;background:#fff;width:min(620px,100vw);padding:28px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-15px 0 65px #18332220}.drawer-heading{border-bottom:1px solid #e7eee6;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:24px;display:flex}.drawer-heading h2{margin:0;font-size:23px;line-height:1.3}.drawer-heading p{color:var(--muted);margin:9px 0 0;font-size:13px}.detail-form{grid-template-columns:minmax(0,1fr);gap:20px;min-width:0;margin:25px 0 30px;display:grid}.detail-form>*,.upload-box>*{min-width:0}textarea{resize:vertical;min-height:100px;font-family:inherit}.upload-box{text-align:center;color:var(--forest);background:#f8faf6;border:1px dashed #bacdbd;border-radius:14px;flex-direction:column;align-items:center;gap:9px;padding:24px;display:flex}.upload-box span{font-size:12px;font-weight:400}.upload-box input{border:0;width:100%;max-width:100%;padding:8px;font-size:13px}.file-chip{background:#eef3ee;border-radius:8px;padding:8px 13px;font-size:13px}.file-download{text-align:left;cursor:pointer;width:100%;color:var(--forest);background:#f7faf6;border:1px solid #e0e9e0;border-radius:10px;align-items:center;gap:12px;margin:10px 0;padding:14px;display:flex}.file-download span{flex:1}.file-download small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.history{border-top:1px solid #e9eee8;padding-top:20px}.history-item{background:#fbfcfa;border-left:2px solid #dce8dc;margin:12px 0;padding:12px 18px}.training-summary{color:var(--muted);align-items:center;gap:24px;margin:0 0 26px;font-size:14px;display:flex}.training-summary span{align-items:center;gap:8px;display:flex}.training-summary progress{flex:1;max-width:280px}.training-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.lesson-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.lesson-cover{color:#445b48;background:linear-gradient(135deg,#ebf1e4,#e2ebe1);border-radius:12px;flex-direction:column;justify-content:end;min-height:150px;margin:12px 12px 0;padding:22px;display:flex;position:relative}.lesson-cover img{opacity:.18;width:65px;position:absolute;top:16px;right:22px}.lesson-cover span{letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:10px}.lesson-cover strong{font-size:20px;font-weight:500}.lesson-body{flex-direction:column;flex:1;padding:22px;display:flex}.lesson-meta{justify-content:space-between;align-items:center;display:flex}.lesson-duration{color:var(--muted);align-items:center;gap:5px;font-size:14px;display:flex}.lesson-body h2{margin:18px 0 10px;font-size:18px}.lesson-body p{flex:1;margin:0 0 22px;font-size:14px}.lesson-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lesson-actions .button{font-size:13px}.team-university{align-items:center;gap:20px;margin-bottom:24px;display:flex}.team-university>div{flex:1}.team-university h2{margin:0;font-size:20px}.team-university p{margin:7px 0 0;font-size:13px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.member-card h2{margin:20px 0 8px;font-size:18px}.member-card p{margin:5px 0;font-size:14px}.member-card .badge{margin-top:15px}.scheduling-card{justify-content:space-between;align-items:center;gap:25px;margin-bottom:24px;display:flex}.scheduling-card h2{margin:0}.scheduling-card p{margin-bottom:0}.meeting-date{text-align:center;background:#edf3e9;border-radius:12px;flex:0 0 80px;padding:14px}.meeting-date strong{font-size:26px;display:block}.meeting-date span{color:var(--muted);font-size:11px}.support-intro{margin-bottom:24px}.intro-guides{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.intro-guides>p{font-size:14px}.intro-guide-list{gap:14px;display:grid}.intro-guide{border:1px solid var(--line);background:var(--white);border-radius:14px;padding:18px}.intro-guide h3{margin-bottom:8px}.intro-guide p{margin-bottom:14px;font-size:14px}.profile-card{max-width:780px}.profile-access-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.profile-access-summary h2{margin:5px 0 0}.profile-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.profile-actions{flex-wrap:wrap;gap:12px;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portfolio-table{margin-bottom:32px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-grid h2{margin:12px 0 0;font-size:28px}.portfolio-table td:first-child{min-width:200px}.portfolio-table td:first-child>.badge{margin-left:8px}.portfolio-table progress{min-width:140px;margin-top:8px;display:block}.portfolio-lifecycle{margin-top:7px;display:block}.portfolio-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.portfolio-item{justify-items:start;gap:12px;display:grid}.portfolio-item h3{margin-bottom:0}.support-intro h2{margin-top:0}.access-row{margin-bottom:20px}.form-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.checkbox-label{align-items:center;gap:10px;margin:15px 0;display:flex}.checkbox-label input{width:auto}.admin-switcher{max-width:420px;margin-bottom:25px}select,textarea{border:1px solid var(--control-border);width:100%;color:var(--forest);font:inherit;background:#fcfdfb;border-radius:10px;padding:12px}select:focus,textarea:focus{outline:3px solid var(--focus);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}@media (width<=1200px){.training-grid,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=740px){.record-row,.team-university,.scheduling-card{flex-direction:column;align-items:start}.record-actions{flex-flow:wrap;align-items:start}.training-grid,.team-grid,.form-grid,.profile-field-grid,.portfolio-panels,.stat-grid{grid-template-columns:1fr}.drawer{padding:22px}.toolbar{flex-wrap:wrap;gap:12px}.search-label{width:100%}.task-board{grid-template-columns:repeat(5,250px)}.meta-row{flex-direction:column;gap:10px}.training-summary{flex-direction:column;align-items:start;gap:14px}.training-summary progress{width:100%}}.portal-theme{--text:#0e110e;--forest:#185b46;--muted:#5e6b60;--focus:#185b46;--line:#e0e7df;--control-border:#7b877b;--surface:#f8f9f8;--sage:#eaf2e2;--cream:#f6f1e7;--white:#fff;--radius:18px;--shadow-card:0 1px 2px #0e110e06, 0 2px 5px #0e110e03;--shadow-hover:0 2px 8px #0e110e0d;color:var(--text);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1rem;line-height:1.5}.workspace.portal-theme{background:var(--white)}.portal-theme :is(button,input,select,textarea){font-family:inherit}.portal-theme h1{letter-spacing:-.025em;overflow-wrap:anywhere;margin-bottom:8px;font-size:1.75rem;font-weight:600;line-height:1.3}.portal-theme h2{letter-spacing:-.015em;font-size:1.0625rem;font-weight:600;line-height:1.45}.portal-theme h3{letter-spacing:-.01em;font-size:1rem;font-weight:600;line-height:1.5}.portal-theme p{color:var(--muted);overflow-wrap:anywhere;font-size:1rem;line-height:1.65}.portal-theme :is(label,.small-meta,.inline-meta,.meta-row){font-size:.875rem}.portal-theme label{gap:8px;margin-bottom:16px;font-weight:500}.portal-theme :is(input,select,textarea){color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:10px;min-width:0;min-height:44px;padding:11px 12px;font-size:.875rem}.portal-theme :is(input,textarea)::placeholder{color:var(--muted);opacity:1}.portal-theme :is(input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus);background:var(--white)}.portal-theme input[readonly]{background:var(--surface)}.portal-theme input:is([type=checkbox],[type=radio]){accent-color:var(--forest);flex-shrink:0;width:18px;height:18px;min-height:18px}.portal-theme .button{white-space:normal;text-align:center;background:var(--forest);min-height:44px;color:var(--white);border:1px solid #0000;border-radius:10px;padding:10px 16px;font-size:.875rem;font-weight:500;line-height:1.5;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0e110e12}.portal-theme .button:hover:not(:disabled){color:var(--white);box-shadow:var(--shadow-hover);background:#124b39}.portal-theme .button.secondary{color:var(--forest);background:var(--white);border-color:var(--line);box-shadow:inset 0 1px 1px #0e110e03,0 1px 2px #0e110e04}.portal-theme .button.secondary:hover:not(:disabled){color:var(--forest);background:var(--surface);border-color:#b4c2b4}.portal-theme .button.ghost{color:var(--forest);background:var(--sage);box-shadow:none;border-color:#0000}.portal-theme .button.ghost:hover:not(:disabled){color:var(--forest);box-shadow:none;background:#dce9d1}.portal-theme .button.small{min-height:40px;padding:8px 12px;font-size:.875rem}.portal-theme .icon-button{background:var(--white);border-color:var(--line);width:40px;height:40px;color:var(--muted)}.portal-theme .icon-button:hover{background:var(--surface);color:var(--forest)}.portal-theme .eyebrow{letter-spacing:.09em;color:var(--forest);margin-bottom:8px;font-size:.75rem}.portal-theme .sidebar{background:var(--surface);border-color:var(--line);padding-top:24px}.portal-theme.sidebar{background:var(--surface);border-color:var(--line)}.portal-theme .logo-link{margin-bottom:24px;padding-inline:16px}.portal-theme .sidebar-label{letter-spacing:.06em;font-size:.75rem;font-weight:500}.portal-theme .sidebar nav,.portal-theme.sidebar nav{gap:4px}.portal-theme .sidebar a:not(.logo-link),.portal-theme .sidebar-bottom button,.portal-theme.sidebar a:not(.logo-link){color:var(--muted);overflow-wrap:anywhere;border-radius:9px;gap:12px;min-width:0;padding:11px 14px;font-size:.875rem;font-weight:400}.portal-theme .sidebar a.active,.portal-theme.sidebar a.active{font-weight:500;background:var(--sage)!important;color:var(--forest)!important}.portal-theme .sidebar a:not(.logo-link):hover,.portal-theme .sidebar-bottom button:hover,.portal-theme.sidebar a:not(.logo-link):hover{color:var(--forest);background:#eef1eb}.portal-theme .sidebar-fineprint{font-size:.75rem}.portal-theme .workspace-body{background:var(--white);min-width:0}.portal-theme .topbar{background:var(--white);border-color:var(--line);height:auto;min-height:80px;padding:18px 32px}.portal-theme .university-label{min-width:0;color:var(--forest)}.portal-theme .university-label>div{min-width:0}.portal-theme .university-label strong{color:var(--text);overflow-wrap:anywhere;font-size:.875rem}.portal-theme .university-label span,.portal-theme .profile-summary span:not(.avatar){font-size:.75rem}.portal-theme .profile-summary{flex-shrink:0}.portal-theme .profile-summary strong{font-size:.875rem}.portal-theme .avatar{background:var(--sage);color:var(--forest);font-size:.75rem;font-weight:600}.portal-theme .content{min-width:0;padding:32px}.portal-theme .page-heading{gap:24px;margin-bottom:24px}.portal-theme .page-heading>div{min-width:0}.portal-theme .page-heading p{max-width:65ch;font-size:.875rem}.portal-theme .overview-heading{border-radius:var(--radius);background:var(--cream);border:1px solid #ebe6db;padding:24px}.portal-theme .card{border-color:var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-card);min-width:0;padding:24px}.portal-theme :is(.overview-grid,.overview-lower,.training-grid,.team-grid,.stat-grid){gap:24px}.portal-theme .card-heading{margin-bottom:24px}.portal-theme .icon-tile{background:var(--sage);width:40px;height:40px;color:var(--forest);border-radius:10px;flex-shrink:0}.portal-theme .implementation-card h2{font-size:1.125rem}.portal-theme .implementation-card p{margin-bottom:24px;font-size:.875rem}.portal-theme .stat-card .stat-number{letter-spacing:-.035em;color:var(--text);margin:24px 0 12px;font-size:2rem;font-weight:600;line-height:1.2}.portal-theme .stat-card p{font-size:.875rem}.portal-theme .section-heading{margin-bottom:16px}.portal-theme .section-heading svg{color:var(--muted)}.portal-theme .progress-heading{font-size:.875rem}.portal-theme .progress-heading strong{color:var(--forest);font-size:1rem;font-weight:600}.portal-theme progress{background:#e8eee4;height:8px;margin-bottom:24px}.portal-theme progress::-webkit-progress-bar{background:#e8eee4}.portal-theme progress::-webkit-progress-value{background:var(--forest)}.portal-theme progress::-moz-progress-bar{background:var(--forest)}.portal-theme .badge{color:#536154;white-space:normal;background:#edf0eb;border-radius:7px;padding:4px 9px;font-size:.875rem;font-weight:500;line-height:1.45}.portal-theme .badge.success{color:#285b3b;background:var(--sage)}.portal-theme .badge.info{color:#365575;background:#eaf0f7}.portal-theme .badge.warning{color:#765411;background:#fff4d9}.portal-theme .badge.danger{color:#923f3f;background:#fbeaea}.portal-theme .toolbar{gap:16px;margin-bottom:24px}.portal-theme .search-label{margin-bottom:0}.portal-theme .segmented{background:var(--surface);border-color:var(--line);border-radius:10px}.portal-theme .segmented button{min-height:40px;color:var(--muted);border-radius:7px;font-size:.875rem}.portal-theme .segmented button.selected{background:var(--white);color:var(--forest);box-shadow:var(--shadow-card)}.portal-theme .task-board{grid-template-columns:repeat(5,minmax(225px,1fr));gap:16px}.portal-theme .board-column{background:var(--surface);border-color:var(--line);border-radius:16px;min-width:0;padding:12px}.portal-theme .board-column.over{background:var(--sage);outline:2px solid var(--forest)}.portal-theme .column-heading{align-items:flex-start;padding:4px 4px 16px}.portal-theme .column-heading h2{font-size:.875rem;font-weight:500}.portal-theme .column-heading>span:last-child{background:var(--white);color:var(--muted);border:1px solid var(--line);font-size:.75rem}.portal-theme .status-dot{flex-shrink:0;margin-top:6px}.portal-theme .task-card{background:var(--white);border-color:var(--line);box-shadow:var(--shadow-card);border-radius:12px;padding:16px}.portal-theme .task-card.dragging{box-shadow:0 8px 24px #0e110e1a}.portal-theme .task-title{color:var(--text);overflow-wrap:anywhere;font-size:.9375rem;font-weight:500;line-height:1.5}.portal-theme .drag-handle{color:var(--muted)}.portal-theme .column-empty{color:var(--muted);font-size:.875rem}.portal-theme .table-card{background:var(--white);border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);max-width:100%}.portal-theme th{background:var(--surface);color:var(--muted);padding:14px 16px;font-size:.875rem;font-weight:500}.portal-theme td{border-color:var(--line);padding:16px;font-size:.875rem}.portal-theme tbody tr:hover{background:var(--surface)}.portal-theme :is(.record-row,.record-actions,.meta-row){gap:16px}.portal-theme .record-row h2{overflow-wrap:anywhere;margin:6px 0;font-size:1rem}.portal-theme .record-row p{font-size:.875rem}.portal-theme .record-row>div{min-width:0}.portal-theme .record-actions{flex-shrink:0}.portal-theme .empty-state{background:var(--surface);color:var(--muted);border:1px dashed #b4c2b4;padding:40px 24px}.portal-theme .milestone-list{gap:16px;margin-top:24px}.portal-theme .milestone{border-color:var(--line);background:var(--surface);border-radius:12px;padding:16px}.portal-theme .milestone li a:hover{background:var(--sage)}.portal-theme :is(.deliverable-summary,.file-chip,.file-download,.history-item){background:var(--surface);color:var(--text);border-color:var(--line)}.portal-theme :is(.file-download,.history-item){border-radius:10px}.portal-theme .file-download:hover{background:var(--sage)}.portal-theme .file-download small{font-size:.75rem}.portal-theme.drawer{background:var(--white);padding:32px;box-shadow:-8px 0 32px #0e110e14}.portal-theme .drawer-heading{border-color:var(--line);padding-bottom:24px}.portal-theme .drawer-heading h2{font-size:1.25rem;font-weight:600;line-height:1.4}.portal-theme .drawer-heading p{font-size:.875rem}.portal-theme .detail-form{gap:24px;margin-top:24px}.portal-theme .detail-form label{margin-bottom:0}.portal-theme .upload-box{border-color:var(--control-border);background:var(--surface);color:var(--forest);border-radius:12px}.portal-theme .upload-box span{color:var(--muted);font-size:.875rem}.portal-theme .upload-box input{border:0;font-size:.875rem}.portal-theme input[type=file]::file-selector-button{font:inherit;background:var(--sage);color:var(--forest);border:1px solid var(--line);cursor:pointer;border-radius:8px;margin-right:12px;padding:8px 12px}.portal-theme .history{border-color:var(--line)}.portal-theme .training-summary{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:16px;font-size:.875rem}.portal-theme .training-summary progress{margin:0}.portal-theme .lesson-card{padding:0}.portal-theme .lesson-cover{background:var(--sage);color:var(--forest);border-radius:12px;margin:12px 12px 0;padding:24px}.portal-theme .lesson-cover span{letter-spacing:.075em;font-size:.75rem}.portal-theme .lesson-cover strong{font-size:1.125rem}.portal-theme .lesson-body{padding:24px}.portal-theme .lesson-meta{flex-wrap:wrap;gap:8px}.portal-theme .lesson-body h2{margin-top:16px;font-size:1rem;line-height:1.5}.portal-theme .lesson-body p{margin-bottom:24px;font-size:.875rem;line-height:1.65}.portal-theme .lesson-actions{gap:8px}.portal-theme .lesson-actions .button{font-size:.875rem}.portal-theme .team-university{background:var(--surface)}.portal-theme .team-university h2{overflow-wrap:anywhere;font-size:1.125rem}.portal-theme .team-university p{font-size:.875rem}.portal-theme .member-card h2{margin-top:16px;font-size:1rem}.portal-theme .meeting-date{background:var(--sage);color:var(--forest);border-radius:10px}.portal-theme .meeting-date span{font-size:.75rem}.portal-theme .support-page{background:var(--cream);border-radius:var(--radius);border:1px solid #ebe6db;padding:24px}.portal-theme .support-intro{background:var(--forest);border-color:var(--forest);color:var(--white);box-shadow:none;padding:24px}.portal-theme .support-intro .icon-tile{margin-bottom:16px}.portal-theme .support-intro h2{color:var(--white)}.portal-theme .support-intro p{color:#eaf2e2;max-width:65ch;margin-bottom:0}.portal-theme .profile-access-summary{border-bottom:1px solid var(--line);padding-bottom:16px}.portal-theme .profile-access-summary h2{font-size:1.125rem}.portal-theme .profile-field-grid{gap:16px}.portal-theme .admin-switcher{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:24px;padding:16px;font-size:.875rem}.portal-theme .stat-grid h2{letter-spacing:-.025em;font-size:1.75rem;font-weight:600}.portal-theme .access-row{margin-bottom:16px}.portal-theme :is(.alert,.demo-banner){overflow-wrap:anywhere;font-size:.875rem!important}.portal-theme .alert.success{color:#285b3b;background:#eef6e9;border-color:#cddfc4}.portal-theme .alert.danger{color:#923f3f;background:#fff1ef;border-color:#efd5d0}@media (width>=1600px){.portal-theme .content{padding:40px 48px}.portal-theme .topbar{padding-inline:48px}}@media (width<=1100px){.portal-theme .content{padding:24px}.portal-theme .topbar{padding-inline:24px}.portal-theme .page-heading{flex-wrap:wrap;align-items:flex-start}}@media (width<=740px){.portal-theme h1{font-size:1.5rem}.portal-theme .content{padding:24px 16px}.portal-theme .topbar{gap:12px;padding:16px}.portal-theme :is(.overview-heading,.card,.support-page){padding:20px}.portal-theme :is(.overview-grid,.overview-lower,.training-grid,.team-grid,.stat-grid){gap:16px}.portal-theme .lesson-card{padding:0}.portal-theme .lesson-body{padding:20px}.portal-theme .stat-card .stat-number{margin:0 0 8px}.portal-theme .record-actions{flex-shrink:1}.portal-theme .task-board{grid-template-columns:repeat(5,250px)}.portal-theme.drawer{padding:24px 20px}.portal-theme :is(.profile-actions,.lesson-actions) .button{max-width:100%}}@media (prefers-reduced-motion:reduce){.portal-theme *,.portal-theme :before,.portal-theme :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
