:root{font-family:"Rubik",system-ui,sans-serif;color:#202124;background:#f5f5f2;font-synthesis:none;--red:#b5121b;--red-dark:#8f0d15;--ink:#202124;--muted:#707376;--line:#deded8;--surface:#fff;--nav:#17191c}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f5f5f2}body{font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.app-shell{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#fff;padding:27px 18px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:flex-end;gap:9px;padding:0 12px 30px;color:#fff}.brand strong{font-size:24px;letter-spacing:-1px}.brand strong span{color:#ed1c24}.brand small{font-size:10px;letter-spacing:2.5px;color:#a4a7aa;margin-bottom:4px}.main-nav{display:flex;flex-direction:column;gap:3px;flex:1;overflow:auto}.main-nav a{display:flex;align-items:center;gap:13px;padding:11px 13px;border-left:3px solid transparent;color:#c9cbcc}.main-nav a:hover{background:#23262a;color:#fff}.main-nav a.active{background:#292b2f;border-left-color:#e12029;color:#fff}.main-nav i{font-style:normal;font-size:18px;width:22px;text-align:center;color:#8f9498}.main-nav a.active i{color:#ef343c}.nav-label{padding:25px 14px 7px;color:#6f7478;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.profile{border-top:1px solid #303338;padding:17px 7px 0;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px}.profile .avatar{height:38px;width:38px;border-radius:50%;display:grid;place-items:center;background:#3b3e43;font-weight:600}.profile strong,.profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile strong{font-size:13px}.profile small{font-size:11px;color:#8e9397;margin-top:3px}.profile form{margin:0}.profile button{border:0;background:transparent;color:#8e9397;font-size:18px;cursor:pointer}.nav-public{margin:auto 0}.nav-public a{display:block;padding:12px;background:var(--red);text-align:center}.workspace{min-width:0}.mobile-top{display:none}.content{max-width:1460px;margin:0 auto;padding:54px 56px 80px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:1.6px;font-size:10px;font-weight:700;color:var(--red);margin-bottom:8px}.eyebrow.light{color:#f48a90}.page-heading h1,.login-card h2,.login-intro h1{margin:0;letter-spacing:-.04em}.page-heading h1{font-size:40px;line-height:1}.today{color:var(--muted);text-transform:capitalize}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid #c7c7c1;background:#fff;color:#26282a;font-weight:600;cursor:pointer}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button.primary:hover{background:var(--red-dark)}.button.full{width:100%;min-height:50px}.metrics{display:grid;grid-template-columns:repeat(6,1fr);background:var(--surface);border:1px solid var(--line);margin-bottom:34px}.metrics a{padding:22px 20px;border-right:1px solid var(--line);transition:.15s}.metrics a:last-child{border:0}.metrics a:hover{background:#fafaf8}.metrics span,.metrics strong{display:block}.metrics span{font-size:12px;color:var(--muted);min-height:31px}.metrics strong{font-size:32px;margin-top:3px}.metrics .attention strong{color:var(--red)}.split-panel{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px}.split-panel>div,.quick-actions{background:var(--surface);border-top:3px solid #25272a;padding:27px 30px;min-height:330px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-title h2{margin:0;font-size:20px}.section-title a{font-size:13px;color:var(--red);font-weight:600}.empty-inline{display:flex;align-items:center;gap:18px;margin-top:75px;padding:24px;background:#f7f7f4}.empty-inline .signal{width:9px;height:9px;border-radius:50%;background:#a7aaac;box-shadow:0 0 0 7px #e7e8e5}.empty-inline p{margin:5px 0 0;color:var(--muted)}.quick-actions{display:flex;flex-direction:column;gap:9px;border-top-color:var(--red)}.quick-actions>a{display:flex;align-items:center;gap:14px;padding:15px 12px;border-bottom:1px solid var(--line)}.quick-actions>a>span{width:34px;height:34px;display:grid;place-items:center;background:#eeeeea;color:#303236;font-size:18px}.quick-actions strong,.quick-actions small{display:block}.quick-actions small{color:var(--muted);margin-top:4px}.quick-actions .primary-action>span{background:var(--red);color:#fff}.filter-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);overflow:auto;margin-bottom:18px}.filter-tabs a{padding:10px 1px 13px;color:var(--muted);white-space:nowrap;cursor:pointer}.filter-tabs a.active{border-bottom:2px solid var(--red);color:var(--ink);font-weight:600}.filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px auto;gap:9px;margin-bottom:20px}.filter-bar input,.filter-bar select,.search-hero input{height:43px;border:1px solid #cccac3;background:#fff;padding:0 13px;color:var(--ink)}.data-empty{background:#fff;border:1px solid var(--line);padding:80px 25px;text-align:center}.data-empty h2{font-size:18px;margin:16px 0 7px}.data-empty p{color:var(--muted);margin:0}.data-empty.compact{padding:25px}.empty-mark{margin:auto;width:44px;height:44px;border:1px solid #cfd0cb;border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:20px}.task-day{margin-bottom:25px}.task-day header{display:flex;gap:10px;align-items:center;margin-bottom:10px}.task-day h2{font-size:18px;margin:0}.task-day header span{font-size:11px;background:#deded9;padding:3px 8px;border-radius:10px}.status-online{font-size:12px;color:#5c625e}.status-online i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#46935e}.date-switch{display:flex;align-items:center;border:1px solid var(--line);background:#fff}.date-switch button{border:0;background:transparent;padding:10px 14px}.date-switch strong{font-size:13px;padding:0 8px}.schedule{background:#fff;border:1px solid var(--line);overflow:auto}.schedule-head{min-width:820px;display:grid;grid-template-columns:190px repeat(6,1fr);background:#f0f0ec;border-bottom:1px solid var(--line)}.schedule-head span{padding:12px;border-right:1px solid var(--line);font-size:11px;color:var(--muted)}.schedule-empty{min-width:820px;padding:80px 20px;text-align:center;color:var(--muted)}.unassigned{margin-top:25px}.unassigned .section-title{align-items:center;margin-bottom:10px}.search-hero{max-width:820px;background:#fff;border-top:3px solid var(--red);padding:34px}.search-hero h2{margin:0 0 8px}.search-hero p{color:var(--muted)}.search-hero>div{display:grid;grid-template-columns:1fr auto;gap:8px;margin:25px 0 15px}.search-hero small{color:var(--muted)}.empty-state{padding:90px 25px;text-align:center}.empty-state h1{font-size:35px;margin:0 0 10px}.empty-state p{color:var(--muted);margin-bottom:25px}.login-shell{position:fixed;inset:0;display:grid;grid-template-columns:minmax(380px,1.05fr) minmax(460px,.95fr);z-index:20;background:#fff}.login-intro{background:#191b1f;color:#fff;padding:55px 8vw 48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-intro:after{content:"";position:absolute;width:440px;height:440px;border:90px solid #25282c;border-radius:50%;right:-200px;bottom:-190px}.login-intro .wordmark{padding:0;z-index:1}.login-intro h1{font-size:52px;line-height:1.05;margin:12px 0 22px}.login-intro p{max-width:540px;color:#b8bbbe;font-size:17px;line-height:1.65}.login-intro small{color:#797e82;z-index:1}.login-card{display:grid;place-items:center;padding:45px}.login-card>div{width:min(100%,430px)}.login-card h2{font-size:33px;margin:10px 0}.login-card>div>p{color:var(--muted);line-height:1.5}.login-form{display:flex;flex-direction:column;gap:17px;margin-top:27px}.login-form label{font-size:12px;font-weight:600}.login-form input{display:block;width:100%;height:50px;border:1px solid #bbbcb8;margin-top:7px;padding:0 14px}.login-form input:focus{outline:2px solid rgba(181,18,27,.18);border-color:var(--red)}.privacy-note{font-size:11px;text-align:center;margin-top:20px}.alert{padding:12px 14px;font-size:13px;margin-top:17px;border-left:3px solid}.alert.error{background:#fff0f0;border-color:var(--red)}.alert.warning{background:#fff7df;border-color:#db9f13}#blazor-error-ui{background:#fff1b8;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.8rem 1.25rem;position:fixed;width:100%;z-index:1000}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem}
.assignment-summary{border-top:3px solid var(--red)}.assignment-summary>.section-title{align-items:center}.assignment-summary>.section-title>span{color:var(--red);font-weight:600}.compact-details{margin-top:18px}.board-filter{display:flex;align-items:end;gap:10px;background:#fff;border:1px solid var(--line);padding:16px;margin-bottom:22px}.board-filter label{flex:1;max-width:430px;font-size:12px;font-weight:600}.board-filter select{display:block;width:100%;height:43px;margin-top:7px;border:1px solid #cccac3;background:#fff;padding:0 13px}.board-filter-summary{justify-content:space-between;align-items:center}.calendar-panel{background:#fff;border:1px solid var(--line);margin-bottom:28px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:10px;text-align:center;color:var(--muted);font-size:11px;font-weight:600;border-bottom:1px solid var(--line)}.calendar-day{min-height:82px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day:hover{background:#fafaf7}.calendar-day.outside{color:#b8bab8;background:#fafafa}.calendar-day.selected{outline:2px solid var(--red);outline-offset:-2px;background:#fff7f7}.calendar-day.today-cell>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff}.calendar-day strong{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--red);color:#fff;font-size:11px}.board-list-section{margin-top:28px}.board-list-section>.section-title{align-items:end;margin-bottom:10px}.board-list-section>.section-title h2{margin-top:3px}.board-list-row{grid-template-columns:80px minmax(250px,1fr) 180px 130px}.board-list-row>time{font-weight:600;color:var(--red)}
.performance-period{background:#fff;border:1px solid var(--line);padding:10px 15px;min-width:220px}.performance-period small,.performance-period strong{display:block}.performance-period small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.performance-period strong{margin-top:4px;font-size:13px}.period-tabs{display:flex;gap:6px;overflow:auto;margin:-8px 0 14px}.period-tabs a{white-space:nowrap;padding:9px 14px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:600}.period-tabs a.active{background:var(--ink);border-color:var(--ink);color:#fff}.performance-filter{display:grid;grid-template-columns:145px 145px 170px minmax(220px,1fr) auto auto;gap:9px;align-items:end;background:#fff;border:1px solid var(--line);padding:16px;margin-bottom:24px}.performance-filter label{font-size:11px;font-weight:600}.performance-filter input,.performance-filter select{display:block;width:100%;height:42px;border:1px solid #cccac3;background:#fff;padding:0 11px;margin-top:6px}.performance-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid var(--line);margin-bottom:28px}.performance-metrics article{min-width:0;padding:19px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.performance-metrics article:nth-child(5n){border-right:0}.performance-metrics article:nth-last-child(-n+5){border-bottom:0}.performance-metrics span,.performance-metrics strong,.performance-metrics small{display:block}.performance-metrics span{min-height:30px;color:var(--muted);font-size:11px}.performance-metrics strong{font-size:27px;white-space:nowrap}.performance-metrics small{margin-top:5px;color:#939592;font-size:10px;line-height:1.35}.performance-metrics .attention{background:#fff7f7}.performance-metrics .attention strong{color:var(--red)}.performance-chart-panel{overflow:hidden}.performance-chart-panel>.section-title{align-items:center;margin-bottom:20px}.chart-legend{display:flex;gap:15px;font-size:11px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:9px;height:9px}.chart-legend .created,.activity-bars .created{background:var(--red)}.chart-legend .completed,.activity-bars .completed{background:var(--ink)}.activity-chart{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(25px,1fr);height:205px;align-items:end;gap:2px;overflow-x:auto;padding-top:10px}.activity-day{height:190px;min-width:25px;display:grid;grid-template-rows:160px 25px;gap:5px;align-items:end;text-align:center}.activity-bars{height:160px;display:flex;align-items:end;justify-content:center;gap:2px;border-bottom:1px solid var(--line)}.activity-bars i{display:block;width:7px;min-height:0}.activity-day small{font-size:8px;color:var(--muted);white-space:nowrap}.performance-section{margin-top:30px}.performance-section>.section-title{align-items:end;margin-bottom:11px}.performance-section>.section-title>span{font-size:12px;color:var(--muted)}.performance-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line)}.performance-table{width:100%;min-width:1780px;border-collapse:collapse;font-size:12px}.performance-table th{position:sticky;top:0;background:#efefeb;color:var(--muted);font-size:10px;text-align:right;padding:10px 9px;white-space:nowrap}.performance-table th:first-child,.performance-table td:first-child{text-align:left;position:sticky;left:0;z-index:1;background:#fff}.performance-table th:first-child{z-index:2;background:#efefeb}.performance-table td{padding:12px 9px;border-top:1px solid var(--line);text-align:right}.performance-table tbody tr:hover td{background:#fafaf7}.performance-table td:first-child{min-width:190px}.performance-table td a strong,.performance-table td a small{display:block}.performance-table td a small{margin-top:3px;color:var(--muted);font-size:10px}.performance-table .negative{color:var(--red);font-weight:700}.active-progress-list{background:#fff;border:1px solid var(--line)}.active-progress-row{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,280px) 110px;gap:24px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line)}.active-progress-row:last-child{border-bottom:0}.active-progress-row:hover{background:#fafaf7}.active-progress-row.overdue{border-left:3px solid var(--red)}.active-progress-row>div:first-child strong,.active-progress-row>div:first-child small{display:block}.active-progress-row>div:first-child small{margin-top:4px;color:var(--muted);font-size:11px}.active-progress-row time{text-align:right;font-size:12px}.progress-column>span{display:block;height:7px;background:#e5e5e0}.progress-column>span i{display:block;height:100%;background:var(--red)}.progress-column small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.methodology-panel{margin-top:30px;border-top-color:var(--ink)}.methodology-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 28px}.methodology-grid p{color:var(--muted);font-size:12px;line-height:1.55}.methodology-grid strong{color:var(--ink)}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(3,1fr)}.metrics a:nth-child(3){border-right:0}.metrics a:nth-child(-n+3){border-bottom:1px solid var(--line)}.split-panel{grid-template-columns:1fr}.quick-actions{min-height:auto}.login-intro h1{font-size:40px}.board-list-row{grid-template-columns:70px minmax(220px,1fr) 150px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:15;left:0;right:0;bottom:0;top:auto;height:66px;padding:0;background:#191b1f}.sidebar .brand,.nav-label,.profile,.main-nav a:nth-of-type(n+5),.nav-public{display:none}.main-nav{height:66px;display:flex;flex-direction:row;justify-content:space-around;overflow:hidden}.main-nav a{flex:1;flex-direction:column;gap:2px;justify-content:center;padding:7px 2px;border-left:0;border-top:2px solid transparent;font-size:10px;text-align:center}.main-nav a.active{border-top-color:var(--red)}.main-nav i{font-size:19px}.mobile-top{display:flex;height:55px;background:#191b1f;align-items:center}.brand.compact{display:flex;padding:0 18px}.content{padding:28px 17px 95px}.page-heading{align-items:flex-start}.page-heading h1{font-size:31px}.today{font-size:11px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics a:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics a:nth-child(2n){border-right:0}.metrics a:nth-last-child(-n+2){border-bottom:0}.metrics a{padding:15px}.metrics strong{font-size:25px}.split-panel>div,.quick-actions{padding:22px 18px}.filter-bar{grid-template-columns:1fr}.filter-bar select{display:none}.login-shell{position:fixed;display:block;overflow:auto}.login-intro{min-height:230px;padding:30px 25px}.login-intro>div{margin-top:30px}.login-intro h1{font-size:31px}.login-intro p{display:none}.login-intro small{display:none}.login-card{padding:35px 23px}.login-card h2{font-size:28px}.search-hero{padding:23px 18px}.search-hero>div{grid-template-columns:1fr}.schedule-head,.schedule-empty{min-width:700px}}
@media(max-width:760px){.board-filter{align-items:stretch;flex-direction:column}.board-filter label{max-width:none}.board-filter .button{width:100%}.calendar-day{min-height:58px;padding:6px}.calendar-day strong{min-width:20px;height:20px;padding:0 4px}.calendar-day.today-cell>span{width:22px;height:22px}.board-list-row{grid-template-columns:60px minmax(180px,1fr)}.board-list-row>span{display:none}.compact-details{grid-template-columns:1fr 1fr}}
@media(max-width:1150px){.performance-filter{grid-template-columns:repeat(3,1fr)}.performance-metrics{grid-template-columns:repeat(3,1fr)}.performance-metrics article:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.performance-metrics article:nth-child(3n){border-right:0}.performance-metrics article:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:760px){.performance-period{min-width:0}.performance-filter{grid-template-columns:1fr 1fr}.performance-filter label:nth-of-type(n+3),.performance-filter .button{grid-column:1/-1}.performance-metrics{grid-template-columns:repeat(2,1fr)}.performance-metrics article:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.performance-metrics article:nth-child(2n){border-right:0}.performance-metrics article:nth-last-child(-n+2){border-bottom:0}.performance-metrics strong{font-size:22px}.chart-legend{display:none}.active-progress-row{grid-template-columns:1fr;gap:11px}.active-progress-row time{text-align:left}.methodology-grid{grid-template-columns:1fr}}
.board-list-row{grid-template-columns:80px minmax(250px,1fr) 160px 180px 130px}
@media(max-width:1050px){.board-list-row{grid-template-columns:70px minmax(220px,1fr) 140px 160px}}
@media(max-width:760px){.board-list-row{grid-template-columns:60px minmax(180px,1fr)}}
