/* V0.98 — professional task-first design refinements, no Moodle connections. */
:root{--bg:#F3F7F8;--line:#D9E5E8;--shadow:0 6px 24px rgba(13,51,67,.055);--ink:#173746;--muted:#647984}
body{font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
.screen{max-width:1550px;margin-inline:auto}
.pagehead{margin-bottom:18px}.pagehead h1{letter-spacing:-.65px;line-height:1.19}.pagehead p{font-size:13px;line-height:1.6}
.panel,.v098-metric{box-shadow:var(--shadow);border-color:var(--line)}
.panel{border-radius:16px}.panelhead{padding-top:20px;padding-bottom:15px}.panelhead h2{font-size:16px;line-height:1.35}.panelhead p{font-size:12px;line-height:1.6}
.btn{font-size:12px;min-height:40px;font-weight:700;border-radius:9px;transition:background .16s,border-color .16s,box-shadow .16s}
.btn.primary{background:#075967;border-color:#075967}.btn.primary:hover{background:#074651}
input,select,textarea{font-size:13px!important}button,input,select,textarea{font-family:inherit}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #2FAFAE!important;outline-offset:2px}
.sidebar .nav{padding-inline:8px}.sidebar .nav button{min-height:41px;border-radius:9px}.sidebar .nav button.active{font-weight:750}
.v09-nav-caption{padding-top:20px;color:#9BBFC6;font-size:10px}.sidebar-bottom{padding-top:14px}
.v098-demo-banner{margin-bottom:10px;padding:9px 14px!important;font-size:12px!important;border-radius:11px}
.v098-demo-banner small,.v098-demo-banner p{font-size:11px}
.v098-contextbar{margin:8px 0 23px!important;padding:9px 13px!important;background:#F7FBFB!important}
.v098-contextbar small{font-size:11px}
.v098-crumb{display:flex;gap:9px;align-items:center;margin:0 0 12px;color:#607D87;font-size:12px}
.v098-crumb button{border:0;background:transparent;padding:5px 0;font-weight:700;color:#087B81;cursor:pointer}
.v098-crumb strong{color:#234857;font-weight:700}
.v098-directory{margin-top:24px!important;box-shadow:none;background:#FAFCFC}
.v098-directory .panelhead{display:flex;align-items:center;gap:9px;padding:14px 18px!important;flex-wrap:wrap}
.v098-directory .panelhead>div{flex:1;min-width:200px}
.v098-directory .panelhead h2{font-size:14px}.v098-directory .panelhead p{font-size:11px;margin:4px 0 0}
.v098-directory .panelbody[hidden]{display:none!important}
.v098-directory .v098-disclosure{margin-left:auto}
.v098-directory .v093-records{grid-template-columns:repeat(2,minmax(0,1fr))}
.v098-hero{background:linear-gradient(108deg,#093E4E,#096D76 85%);color:#fff;border-radius:17px;padding:24px 27px;margin:0 0 18px;display:flex;gap:24px;align-items:center;justify-content:space-between;box-shadow:0 12px 25px rgba(9,62,78,.11)}
.v098-hero>div:first-child{min-width:0}.v098-kicker{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#86E5D9}
.v098-hero h2{font-size:23px;line-height:1.27;letter-spacing:-.35px;margin:5px 0 7px;color:white}
.v098-hero p{color:#CEE6E8;font-size:12px;margin:0;max-width:600px}
.v098-hero-actions{display:flex;gap:9px;flex:0 0 auto;align-items:center}.v098-hero .btn{background:#fff;color:#094958;border-color:transparent;white-space:nowrap}.v098-hero .btn:hover{background:#E7FCF8;color:#064957}.v098-hero .btn.primary{background:#26BEB6;color:#083B48;border-color:transparent}.v098-hero .btn.primary:hover{background:#55D3C5}
.v098-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:19px}
.v098-metric{position:relative;border:1px solid var(--line);border-radius:14px;background:white;display:flex;flex-direction:column;gap:6px;min-width:0;text-align:left;padding:17px 17px 15px;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}
.v098-metric:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(9,62,78,.10);border-color:#9BCDD1}
.v098-metric-label{font-size:12px;color:#556F7A;font-weight:700}.v098-metric>strong{font-size:29px;letter-spacing:-1px;line-height:1.25;color:#0D3343}.v098-metric.critical>strong{color:#A93E39}
.v098-metric>small{font-size:11px;color:#718792;line-height:1.4;min-height:30px}.v098-metric-more{font-size:11px;color:#087B81;font-weight:750;margin-top:1px}
.v098-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(275px,.85fr);gap:18px;align-items:start}
.v098-main-stack,.v098-aside-stack{display:grid;gap:18px;min-width:0}
.v098-focus-panel .panelbody{padding-top:0}.v098-task-list{display:grid;gap:0}.v098-task-row{width:100%;background:transparent;border:0;border-bottom:1px solid #E7EFF0;display:flex;gap:12px;align-items:center;text-align:left;padding:13px 0;cursor:pointer;color:var(--ink)}.v098-task-row:last-child{border-bottom:0}.v098-task-row:hover .v098-task-copy strong{color:#007981}.v098-task-icon{width:39px;height:39px;border-radius:10px;flex:0 0 auto;background:#E4F4F3;color:#087B81;display:grid;place-items:center;font-weight:850;font-size:18px}
.v098-task-copy{display:grid;gap:4px;min-width:0;flex:1}.v098-task-copy strong{font-size:13px;line-height:1.35}.v098-task-copy small{font-size:11px;color:#718792;line-height:1.4}.v098-task-cta{font-size:11px;font-weight:750;color:#087B81;white-space:nowrap}
.v098-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v098-flow-step{border:1px solid #D8E8E8;background:#F8FCFC;border-radius:11px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;padding:14px;cursor:pointer}.v098-flow-step:hover{border-color:#6CBEBE;background:#F0FAFA}.v098-flow-step span{font-size:10px;color:#087B81;font-weight:850}.v098-flow-step strong{font-size:12px;color:#244A58;line-height:1.4}.v098-flow-step small{font-size:10px;color:#60818B}
.v098-summary-list{display:grid;gap:11px}.v098-summary-list>div:not(.v098-progress-bar){display:flex;justify-content:space-between;gap:10px;font-size:12px;border-bottom:1px solid #EEF1F3;padding-bottom:10px}.v098-summary-list b{color:#103F4F}.v098-progress-bar{height:7px;overflow:hidden;border-radius:7px;background:#E6EFF0;margin:0 0 4px}.v098-progress-bar span{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#087B81,#26BEB6)}
.v098-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v098-shortcuts .btn{white-space:normal;min-width:0;padding:9px}
.v098-discovery-quick{border-style:dashed!important;color:#087B81!important}
.v093-detail-layout .panelbody{min-width:0}
@media(max-width:1170px){.v098-main-grid{grid-template-columns:1fr}.v098-aside-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.v098-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.screen{padding-top:18px}.v098-hero{flex-direction:column;align-items:stretch;padding:20px;gap:15px}.v098-hero h2{font-size:21px}.v098-hero-actions{flex-wrap:wrap}.v098-hero-actions .btn{flex:1}.v098-kpi-grid{gap:9px}.v098-metric{padding:13px}.v098-metric>strong{font-size:25px}.v098-metric>small{min-height:0}.v098-main-grid,.v098-aside-stack{grid-template-columns:1fr}.v098-flow-grid{grid-template-columns:1fr}.v098-flow-step{flex-direction:row;align-items:center;flex-wrap:wrap}.v098-flow-step span{font-size:12px}.v098-flow-step strong{flex:1}.v098-task-cta{font-size:10px}.v098-directory .v093-records{grid-template-columns:1fr}.v098-shortcuts .btn{font-size:11px}.v098-crumb{margin-top:7px}.v098-demo-banner{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.v098-metric{transition:none!important}.v098-metric:hover{transform:none!important}}

/* Courses: catalog-first, assignment details are available on demand. */
.v098-catalog-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 11px}
.v098-catalog-heading h2{font-size:17px;line-height:1.35;color:#0D3343;margin:0 0 5px}
.v098-catalog-heading p{font-size:12px;color:#6B8491;margin:0}
.v098-catalog-heading>span{font-size:11px;font-weight:750;white-space:nowrap;color:#087B81;background:#E6F5F4;padding:7px 10px;border-radius:9px}
.v098-assignment-wrapper{margin-top:20px}
.v098-assignment-wrapper .panelhead{align-items:center;flex-wrap:wrap}
.v098-assignment-wrapper .panelhead>div{flex:1;min-width:220px}
.v098-assignment-wrapper>.panelbody[hidden]{display:none!important}
.v098-assignment-wrapper .v081-context{border:0!important;box-shadow:none!important;margin:0!important;padding:0!important;background:transparent!important}
@media(max-width:680px){.v098-catalog-heading{align-items:flex-start}.v098-assignment-wrapper .panelhead .btn{width:100%}}
