@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#12283d;--navy2:#193a55;--ink:#243d50;--muted:#6b8190;--blue:#287aa6;--teal:#0f888a;--line:#dce6ea;--bg:#f4f7f8;--white:#fff;--amber:#d88824;--red:#a73b3b}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:'DM Sans',Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);padding:29px 17px;color:#dce9ef;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 34px;color:white;font-family:Manrope,sans-serif;font-weight:800;font-size:15px;letter-spacing:-.02em}.brand small{display:block;color:#8eb4c8;font-size:10px;letter-spacing:.13em;margin-top:3px}.mark{width:35px;height:35px;border-radius:10px;background:#3b9cb6;color:white;display:grid;place-items:center;font-size:22px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:11px 14px;border-radius:8px;display:flex;gap:13px;align-items:center;color:#b8d0dd;font-weight:600;font-size:13px}.sidebar nav a:hover,.sidebar nav a.active{background:#28506b;color:white}.sidebar-footer{margin-top:auto;border-top:1px solid #365168;padding:19px 11px 0;color:#a8c1cd;font-size:12px}.sidebar-footer span{font-size:11px;color:#7194a8}.main{padding:30px clamp(22px,4vw,66px) 50px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.15em}.topbar h1{font:800 27px/1.25 Manrope,sans-serif;color:var(--navy);margin:5px 0 0}.top-date{font-weight:700;color:#77909e;font-size:12px}.intro{background:linear-gradient(112deg,#183c57,#1e6680);color:#fff;border-radius:16px;padding:29px 34px;display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:0 9px 22px #183c5720}.intro .eyebrow{color:#8cdecc}.intro h2{font:800 25px Manrope,sans-serif;margin:6px 0}.intro p{margin:0;color:#d7e8ef}.button{border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;white-space:nowrap;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}.button.primary{background:var(--teal);color:#fff}.intro .button.primary{background:#fff;color:#1a526a}.button.outline{border-color:#b7cbd4;color:var(--navy);background:#fff}.button:hover{filter:brightness(.96)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:19px 0}.stat,.panel{background:white;border:1px solid #e2e9ed;border-radius:12px;box-shadow:0 2px 10px #152c3710}.stat{padding:19px 21px}.stat span,.stat small{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font:800 28px Manrope,sans-serif;color:var(--navy);margin:5px 0}.stat.warn strong{color:var(--red)}.grid-two{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.panel{padding:22px;margin-bottom:16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-head h2{font:800 18px Manrope,sans-serif;color:var(--navy);margin:3px 0}.section-head>a,.text-link{font-weight:700;color:var(--blue);font-size:13px}.focus{border:1px solid #d5e9e8;border-left:4px solid var(--teal);border-radius:8px;background:#f0f9f7;padding:15px 17px;margin-bottom:12px}.focus b{color:#18676a}.focus p{margin:4px 0}.focus span{display:block;font-size:12px;color:#6c5640}.compact-list a{border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:11px 2px;font-size:13px}.compact-list a:last-child{border:0}.compact-list a>span:nth-child(2){flex:1}.compact-list b{color:#7b9aa9}.tag{display:inline-block;background:#e8f2f7;color:#286c8b;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:800;white-space:nowrap}.pill{display:inline-block;background:#eef2f4;color:#697d88;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:700;white-space:nowrap}.pill.ok{background:#dcf3e5;color:#24764e}.pill.bad{background:#fae5e2;color:#a23d39}.note{border-left:4px solid var(--amber);background:#fffdf8}.note p{margin:5px 0 0;color:#637481;font-size:13px}.empty{padding:35px;text-align:center;color:var(--muted)}.footer{font-size:11px;color:#8395a0;padding:22px 0 0}.toolbar,.filters,.inline-form,.nav-days,.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:18px}.toolbar label{font-size:12px;font-weight:700}.nav-days a{color:var(--blue);font-size:13px;font-weight:700;padding:10px}.day-hero{background:#193e57;color:white;border-radius:13px;padding:25px 30px;display:grid;grid-template-columns:1fr 2fr;gap:25px;margin-bottom:18px}.day-hero .eyebrow{color:#8cdecc}.day-hero h2{font:800 27px Manrope,sans-serif;margin:4px 0 12px}.day-hero p{margin:4px 0 12px;color:#e3edf1}.day-hero small{color:#bbd2dd}.phase{background:#3b6880;border-radius:30px;padding:5px 10px;font-size:11px}.agenda-item{display:grid;grid-template-columns:170px minmax(0,1fr) auto 12px;gap:15px;align-items:center;padding:15px 4px;border-top:1px solid var(--line)}.agenda-item:hover{background:#f8fbfc}.agenda-item p{margin:4px 0 0;font-size:12px;color:var(--muted)}.agenda-item b{font-size:13px}.code{color:#758e9c;font-size:11px;font-weight:800;letter-spacing:.03em}.arrow{color:#84a0ad}.filters{margin:8px 0 18px}.context-note{background:#fff7e7;border-left:3px solid var(--amber);padding:12px;color:#765c36;border-radius:4px;font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;min-width:780px}th{text-align:left;background:#eff5f7;color:#526d7c;font-size:10px;text-transform:uppercase;letter-spacing:.07em;padding:12px 11px}td{padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:top}td b{font-weight:700}td small{display:block;color:var(--muted);margin-top:4px}td a:not(.text-link){color:var(--blue);font-weight:700}.breadcrumbs{display:flex;gap:10px;color:#7e919b;font-size:12px;margin-bottom:15px}.breadcrumbs a{color:var(--blue)}.grid-detail{display:grid;grid-template-columns:1fr 1.3fr;gap:17px}.detail-title{font:800 20px/1.35 Manrope,sans-serif;color:var(--navy);margin:14px 0 20px}.facts{margin:0}.facts div{border-top:1px solid var(--line);padding:11px 0}.facts dt{font-size:11px;color:var(--muted);font-weight:700}.facts dd{margin:3px 0 0;font-size:13px}.form-grid{display:grid;gap:15px}.form-grid label{display:grid;gap:6px;color:#365568;font-size:12px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cddde5;border-radius:7px;background:#fff;padding:10px 11px;color:var(--ink);font:13px 'DM Sans',sans-serif}input:focus,select:focus,textarea:focus{outline:2px solid #9bd4d5;border-color:var(--teal)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.verification{padding:17px;border-radius:8px;background:#f2f7f6;border:1px solid #dbe9e6;display:grid;gap:12px}.verification p{margin:-7px 0 0;color:var(--muted);font-size:12px}.form-panel{max-width:800px}.muted{color:var(--muted);font-size:12px}.messages{margin-bottom:15px}.alert{border-radius:7px;padding:11px 15px;font-size:13px;margin-bottom:8px}.alert.success{background:#e5f5ea;color:#25714b}.alert.error{background:#fce8e5;color:#9b3333}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.grid-two,.grid-detail{grid-template-columns:1fr}}@media(max-width:750px){.shell{display:block}.sidebar{position:static;height:auto;padding:12px 16px}.brand{padding:0 0 9px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap;padding:8px}.sidebar-footer{display:none}.main{padding:20px 14px}.top-date{display:none}.intro,.day-hero{display:block}.intro .button{margin-top:17px}.stats{gap:8px}.stat{padding:13px}.agenda-item{grid-template-columns:1fr auto;gap:8px}.agenda-item>div:nth-child(2){grid-column:1/3;grid-row:2}.agenda-item .arrow{display:none}.form-row{grid-template-columns:1fr}}
.auth-shell{display:block}.auth-shell .main{max-width:600px;margin:8vh auto}.auth-card{padding:32px}.auth-card h2{font:800 23px Manrope,sans-serif;margin:7px 0}.logout{margin-top:14px;color:#bde1eb;background:transparent;border:1px solid #50728a;border-radius:6px;padding:7px 12px;cursor:pointer}.review-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;border-left:4px solid var(--teal)}.review-banner h2{font:800 17px Manrope,sans-serif;margin:4px 0}.review-banner p{margin:0;color:var(--muted);font-size:12px}.assignment-list{max-height:360px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px}.assignment-list a{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:7px;font-size:12px}.assignment-list span:nth-child(2){flex:1}.user-row,.event-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}.user-row small{display:block;color:var(--muted)}.event-row{justify-content:flex-start;font-size:12px}.assignment-picker{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin:13px 0;padding:5px 15px}.assignment-option{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.assignment-option[hidden]{display:none}.assignment-option input{width:auto;margin:3px 0}.assignment-option small{display:block;color:var(--muted);font-size:12px}.assignment-option span{flex:1}@media(max-width:750px){.assignment-list{grid-template-columns:1fr}.review-banner{display:block}.review-banner .button{margin-top:12px}}
.metric-section{padding:15px;background:#f2f8fa;border:1px solid #d8e8ec;border-radius:9px}.metric-section p{font-size:12px;color:var(--muted);margin:3px 0 12px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric-grid label{font-size:11px}@media(max-width:750px){.metric-grid{grid-template-columns:1fr}}
.assignment-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:11px 0}.assignment-controls input{min-width:260px;flex:1}.assignment-controls .button{min-height:40px}@media(max-width:750px){.assignment-controls input{width:100%;min-width:0}.assignment-controls .button{flex:1}}
.portal-intro{margin-bottom:16px}.portal-date{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.portal-date h2{font:800 23px Manrope,sans-serif;color:var(--navy);margin:4px 0}.portal-date p{margin:0}.portal-date-form{min-width:300px}.portal-date-form label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.portal-date-form>div{display:flex;gap:8px}.portal-date-form input{min-width:0}.portal-focus{margin-bottom:16px}.portal-stats{margin:0 0 16px}.portal-guide .section-head{margin-bottom:10px}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.guide-grid>div{padding:15px;background:#f4f9fa;border:1px solid #dfecee;border-radius:9px}.guide-grid b{display:block;font-size:13px;color:var(--navy);margin:4px 0}.guide-grid p{margin:0;color:var(--muted);font-size:12px}.guide-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#d9eff0;color:#176a70;font-weight:800;font-size:12px}.guide-foot{font-size:12px;color:#486a74;border-top:1px solid var(--line);padding-top:11px;margin:14px 0 0}.heading-count{display:inline-block;border-radius:50px;background:#eaf2f5;color:#256983;font-size:13px;padding:2px 9px;vertical-align:middle}.portal-task-list{display:grid;gap:9px}.portal-task{display:grid;grid-template-columns:125px minmax(0,1fr) 115px;align-items:center;gap:16px;padding:15px;border:1px solid var(--line);border-radius:9px}.portal-task:hover{background:#f8fbfc;border-color:#adcbd3}.portal-task.needs-revision{border-color:#e7c5bd;background:#fffaf8}.task-status{display:inline-block;width:max-content;max-width:125px;border-radius:50px;background:#eaf1f3;color:#587381;padding:6px 9px;font-size:11px;font-weight:800;text-align:center}.task-status.urgent{background:#fae4dc;color:#a64734}.task-status.draft{background:#fff0d6;color:#946012}.task-status.waiting{background:#e7effa;color:#315f9a}.task-status.done{background:#e1f3e7;color:#26744b}.task-body{min-width:0}.task-body b{display:block;color:var(--navy);font-size:13px}.task-body small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.task-body small strong{color:#466575}.task-action{text-align:right;font-size:12px;color:var(--blue);font-weight:800}.upcoming-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.upcoming-list a{border:1px solid var(--line);padding:12px;border-radius:8px}.upcoming-list a:hover{background:#f3f9fa}.upcoming-list b,.upcoming-list span{display:block;font-size:12px}.upcoming-list span{color:var(--blue);margin-top:4px}.portal-more{padding:0}.portal-more summary{cursor:pointer;padding:17px 22px;font-weight:800;color:var(--navy)}.portal-more summary span{color:var(--muted);font-size:11px;font-weight:400;margin-left:12px}.portal-more .assignment-list,.portal-more .compact-list{margin:0 22px 20px}.portal-disclaimer{margin:12px 0}@media(max-width:1100px){.guide-grid{grid-template-columns:1fr}.upcoming-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.portal-date{display:block}.portal-date-form{margin-top:15px;min-width:0}.portal-task{grid-template-columns:1fr auto;gap:8px}.task-body{grid-column:1/3;grid-row:2}.task-action{text-align:left}.upcoming-list{grid-template-columns:1fr 1fr}.portal-more summary span{display:block;margin-left:0}}
.work-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}.work-list{display:grid;gap:10px}.work-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:14px}.work-card:hover{border-color:#afcbd4;background:#f8fbfc}.work-card b,.work-card small{display:block}.work-card b{color:var(--navy);font-size:13px}.work-card small{font-size:11px;color:var(--muted);margin-top:3px}.work-toggle{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.work-subhead{font-size:15px;color:var(--navy);margin:24px 0 4px}.work-day{margin-bottom:18px}.work-day label{font-size:12px;font-weight:700}@media(max-width:1100px){.work-layout{grid-template-columns:1fr}}@media(max-width:750px){.work-card{grid-template-columns:auto minmax(0,1fr)}.work-card .task-action{grid-column:2;text-align:left}}
.work-secondary-note{padding:0 22px}.portal-more>section{margin:10px 16px 16px}.portal-more .portal-stats{margin:10px 16px 16px}.work-card>span:last-child{font-size:12px}
.work-link-title{color:var(--navy);font-size:12px}.work-agenda-picker{max-height:240px;margin:8px 0}.work-agenda-picker .assignment-option{font-weight:400}
.renstra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.renstra-card{border:1px solid var(--line);border-radius:9px;padding:17px;display:grid;justify-items:start;gap:7px}.renstra-card h3{font:800 14px/1.4 Manrope,sans-serif;color:var(--navy);margin:0}.renstra-card p{font-size:12px;margin:3px 0}.renstra-card small{font-size:11px;color:var(--muted)}.renstra-value{font:800 22px Manrope,sans-serif;color:var(--navy);overflow-wrap:anywhere}.renstra-card .text-link{margin-top:5px}@media(max-width:750px){.renstra-grid{grid-template-columns:1fr}}
