/* Shared visual language for learning and student services. */
:root{--learn-ink:#172b3d;--learn-muted:#6c7d8d;--learn-line:#e4eaf0;--learn-paper:#fff;--learn-canvas:#f4f7fa;--learn-accent:#087f83;--learn-soft:#edf8f7}
html[data-theme=dark]{--learn-ink:#e8f0f6;--learn-muted:#a4b5c6;--learn-line:#293c4d;--learn-paper:#152636;--learn-canvas:#0e1d2b;--learn-accent:#39baba;--learn-soft:#193c43}
body.student-experience{background:var(--learn-canvas);color:var(--learn-ink)}
.student-experience .app-sidebar.sidebar{background:#102b3c!important;border:0;box-shadow:none}
.student-experience .sidebar-branding{padding:16px 4px 25px;gap:15px;border-bottom:1px solid #ffffff16}
.student-experience .brand-logo{width:54px;height:54px;border-radius:16px;background:#ffffff12;color:#b4eeee;border:1px solid #ffffff20;box-shadow:none}
.student-experience .brand-copy strong{color:#f0f7fa;font-size:16px}.student-experience .brand-copy small{font-size:11px;color:#a5bfcc;font-weight:400}
.student-experience .nav-group,.student-experience .nav-group[open]{background:transparent;border:0;box-shadow:none;border-radius:0}
.student-experience .nav-group-summary{font-size:10px;letter-spacing:.16em;color:#8aa8ba;margin:14px 0;padding-left:14px;pointer-events:none}.student-experience .nav-group-chevron{display:none}
.student-experience .sidebar-subnav{display:grid;gap:7px;padding:0!important}.student-experience .nav-subbutton{min-height:47px;padding:12px 14px;font-size:13px;font-weight:500;border-radius:9px;color:#bcced9;background:transparent;box-shadow:none}
.student-experience .nav-subbutton.is-active{background:#1c4656!important;color:#d6ffff!important;box-shadow:inset 3px 0 #59d0c6;border-color:transparent!important}
.student-experience .nav-subbutton:hover{background:#ffffff0b;transform:none}.student-experience .app-main{background:var(--learn-canvas);min-width:0}
.student-experience .app-topbar.topbar{background:var(--learn-paper);border-bottom:1px solid var(--learn-line);box-shadow:none;min-height:78px;padding:14px 32px}
.student-experience .topbar-actions{width:100%;gap:18px}.learning-topbar-label{margin-right:auto;display:grid;gap:5px}.learning-topbar-label>span{font-size:9px;letter-spacing:.16em;color:var(--learn-muted)}.learning-topbar-label strong{font-size:14px;color:var(--learn-ink)}
.student-experience .avatar{background:#e3f3f0;color:#186d69;border:1px solid #c6e5e0;box-shadow:none}.student-experience .app-content{padding:28px 32px}
body .ava,body .student-portal{max-width:1160px;padding:0;margin:0 auto;color:var(--learn-ink);font-family:Inter,"Segoe UI",sans-serif;font-size:14px;line-height:1.55}
body .ava,body .student-portal.student-portal-wide{width:100%;max-width:none;min-width:0;margin:0;box-sizing:border-box}
body .student-portal-wide .sp-card{min-width:0;box-sizing:border-box;overflow-wrap:anywhere}
.learning-breadcrumb{font-size:12px;color:var(--learn-muted);margin:0 0 20px;display:flex;gap:12px;align-items:center}.learning-breadcrumb span{color:#a9b8c4}
body .ava .ava-hero,body .student-portal .sp-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#113d4c,#146668);border:1px solid #276b7033;border-radius:18px;padding:34px 38px;margin-bottom:26px;box-shadow:0 8px 24px #153c4d0a;min-height:170px;box-sizing:border-box}
.ava-hero:after,.sp-hero:after{content:"";position:absolute;z-index:-1;width:280px;height:280px;border:1px solid #a8e9e11f;border-radius:50%;right:-100px;top:-115px;box-shadow:0 0 0 40px #a8e9e108,0 0 0 80px #a8e9e106;pointer-events:none}
body .ava .ava-hero h1,body .student-portal .sp-hero h1{font-size:clamp(25px,2.8vw,34px);font-weight:650;line-height:1.2;letter-spacing:-.035em;color:#fff;margin:12px 0}
body .ava .ava-hero p,body .student-portal .sp-hero p{font-size:14px;line-height:1.7;color:#c4dddd;max-width:620px;margin-bottom:0}
body .ava .ava-eyebrow,.sp-hero>small{font-size:10px;font-weight:600;letter-spacing:.17em;color:#b3e5dc}
body .ava .ava-count{font-size:40px;font-weight:500;line-height:1.2;padding:18px 24px;border:1px solid #ffffff24;border-radius:14px;background:#ffffff08;min-width:125px;text-align:center}.ava-count>div{margin-top:6px;color:#c4dddd}
.learning-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 34px}.learning-shortcuts>a{display:flex;align-items:center;gap:14px;padding:20px 22px;border:1px solid var(--learn-line);border-radius:12px;background:var(--learn-paper);text-decoration:none;color:var(--learn-ink);transition:border-color .2s,box-shadow .2s}.learning-shortcuts>a:hover{border-color:#7abfbb;box-shadow:0 5px 18px #143e4b08}.learning-shortcuts strong{display:block;font-size:13px;font-weight:600}.learning-shortcuts small{display:block;font-size:12px;color:var(--learn-muted);margin-top:4px}.learning-shortcut-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--learn-soft);color:var(--learn-accent);border-radius:10px;font-size:11px;flex-shrink:0}.learning-shortcuts>a>span:last-child{margin-left:auto;color:var(--learn-accent)}
.learning-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:28px 0 18px}.learning-kicker{font-size:9px;letter-spacing:.14em;color:var(--learn-muted);font-weight:600}.learning-section-heading h2{margin:5px 0 0!important}.learning-total{padding:6px 11px;border:1px solid var(--learn-line);border-radius:7px;font-size:11px;color:var(--learn-muted);white-space:nowrap}
body .ava h2,body .student-portal h2{font-size:20px;letter-spacing:-.025em;font-weight:650;color:var(--learn-ink)}body .ava h3,body .student-portal h3{font-size:17px;font-weight:650;letter-spacing:-.02em;color:var(--learn-ink)}
body .ava .ava-card,body .student-portal .sp-card{border:1px solid var(--learn-line);border-radius:14px;background:var(--learn-paper);color:var(--learn-ink);box-shadow:0 3px 12px #102d3e03;padding:26px;margin-bottom:20px}
body .ava .ava-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}body .ava .learning-course{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}body .ava .learning-course:hover{transform:translateY(-3px);box-shadow:0 14px 32px #163c4e10}
.learning-course-cover{height:125px;position:relative;background:linear-gradient(120deg,#dbece9,#eff5ed);color:#397c72;padding:23px 28px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.learning-course-cover:after{content:"";width:150px;height:150px;position:absolute;right:-28px;top:20px;border:1px solid #58968726;transform:rotate(35deg);border-radius:25px}.learning-course-cover svg{width:60px;height:60px}.learning-course-cover>span{font-size:9px;letter-spacing:.17em;font-weight:650;max-width:100px}.learning-course:nth-child(2n) .learning-course-cover{background:linear-gradient(120deg,#e3e9f4,#f0edf7);color:#637aab}
.learning-course-content{padding:24px;display:flex;flex-direction:column;flex:1}.learning-course-content h3{margin-top:15px!important;margin-bottom:5px!important}.learning-course-content>p:not(.ava-muted){font-size:13px;color:var(--learn-muted);line-height:1.75;flex:1}.learning-course-content .ava-button{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
body .ava .ava-badge,body .student-portal .sp-badge{background:var(--learn-soft);color:var(--learn-accent);border:1px solid #0e8d8112;border-radius:6px;padding:4px 9px;font-size:10px;font-weight:650;align-self:flex-start;letter-spacing:.025em}
body .ava .ava-button,body .student-portal .sp-button,body .student-portal .sp-form button{background:#087f83;color:#fff!important;border:1px solid #087f83;border-radius:8px;padding:11px 17px;font-size:12px;font-weight:600;box-shadow:0 2px 3px #07373808;transition:background .18s,box-shadow .18s}
body .ava .ava-button:hover,body .student-portal .sp-button:hover,body .student-portal .sp-form button:hover{background:#06666a;box-shadow:0 4px 12px #075f6222}
body .ava .ava-form,body .student-portal .sp-form{gap:19px}body .ava .ava-form label,body .student-portal .sp-form label{font-size:12px;font-weight:600;color:var(--learn-ink);gap:8px}
body .ava .ava-form input:not([type=checkbox]),body .ava .ava-form textarea,body .ava .ava-form select,body .student-portal .sp-form input,body .student-portal .sp-form textarea,body .student-portal .sp-form select{border:1px solid var(--learn-line);background:var(--learn-canvas);color:var(--learn-ink);border-radius:8px;font-size:13px;padding:12px;min-height:43px;box-shadow:none}
body .ava textarea,body .student-portal textarea{resize:vertical}body .ava :is(input,textarea,select):focus,body .student-portal :is(input,textarea,select):focus{outline:2px solid #69c8c4;outline-offset:2px;border-color:#198d89}
body .ava .ava-muted,body .student-portal .sp-muted{color:var(--learn-muted);font-size:12px}body .ava .ava-body,body .student-portal .sp-text{font-size:14px;line-height:1.85}body .ava summary{font-size:13px;color:var(--learn-ink);padding:4px 0}body .ava details[open]>summary{padding-bottom:18px;border-bottom:1px solid var(--learn-line)}
body .ava .ava-feedback,body .student-portal .sp-reply{background:var(--learn-soft);border-left:3px solid var(--learn-accent);padding:20px;border-radius:0 10px 10px 0}.ava-progress{accent-color:#0c9490!important}body .ava .ava-back{color:var(--learn-accent);font-size:12px;text-decoration:none}
body .student-portal .sp-table th{background:var(--learn-canvas);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--learn-muted);padding:14px}body .student-portal .sp-table td{padding:16px 14px;font-size:13px;border-bottom:1px solid var(--learn-line)}.sp-table tbody tr:hover{background:var(--learn-canvas)}
body .ava .ava-empty,body .student-portal .sp-empty{text-align:center;padding:48px 28px;color:var(--learn-muted);border-style:dashed;background:var(--learn-paper)}.ava-empty:before,.sp-empty:before{content:"";display:block;margin:0 auto 18px;width:36px;height:36px;border:1px solid #abc7c8;border-radius:10px;background:linear-gradient(var(--learn-soft),var(--learn-soft));box-shadow:5px 5px 0 var(--learn-canvas)}
body .ava .ava-alert,body .student-portal .sp-flash{border:1px solid #bbdfd5;background:#edf9f3;color:#205d45;border-radius:10px;font-size:13px;padding:15px 18px}body .ava .ava-alert.error,body .student-portal .sp-flash.error{border-color:#f0c6c3;background:#fff0ef;color:#9b3933}
.student-experience :is(a,button,summary):focus-visible,.ava :is(a,button,summary):focus-visible,.student-portal :is(a,button):focus-visible{outline:3px solid #53bcb8;outline-offset:3px}
html[data-theme=dark] .learning-course-cover{filter:brightness(.8)}
@media(min-width:1400px){.student-experience .app-content{padding:32px 48px}}
@media(max-width:900px){.student-experience .app-content{padding:22px 18px}.learning-shortcuts{gap:12px}.learning-shortcuts>a{padding:16px}.learning-topbar-label>span{display:none}}
@media(max-width:700px){body .ava .ava-hero,body .student-portal .sp-hero{padding:25px;min-height:155px}.student-experience .app-topbar.topbar{padding:12px 16px;min-height:64px}.student-experience .topbar-actions{gap:10px}.learning-shortcuts,body .ava .ava-cards{grid-template-columns:1fr}.learning-shortcuts{margin-bottom:25px}body .ava .ava-card,body .student-portal .sp-card{padding:20px}body .ava .learning-course{padding:0}.learning-course-cover{height:105px}.learning-section-heading{align-items:flex-end}.learning-total{font-size:10px}.student-experience .app-content{padding:18px 12px}.learning-breadcrumb{font-size:11px}.student-experience .learning-topbar-label strong{font-size:12px}}
body .ava .ava-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body .ava .learning-course{margin-bottom:0;min-width:0}
body .ava .learning-course-cover{height:82px;box-sizing:border-box;padding:14px 18px}
body .ava .learning-course-cover svg{width:42px;height:42px}
body .ava .learning-course-cover>span{font-size:8px;max-width:88px}
body .ava .learning-course-content{padding:17px;min-width:0}
body .ava .learning-course-content h3{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
body .ava .learning-course-content>p:not(.ava-muted){font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:none}
body .ava .learning-course-content .ava-muted{font-size:11px}
body .ava .learning-course-content .ava-button{margin-top:auto;font-size:11px;padding:10px 12px;gap:8px}
.ava-catalog-pagination{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0;font-size:12px;color:var(--learn-muted)}
.ava-catalog-pagination>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ava-catalog-pagination a{padding:9px 12px;border:1px solid var(--learn-line);border-radius:7px;background:var(--learn-paper);color:var(--learn-accent);text-decoration:none}
#disciplinas{scroll-margin-top:20px}
.ava-catalog-filter{display:grid;grid-template-columns:minmax(220px,2fr) minmax(190px,1fr) auto auto;gap:14px;align-items:end;padding:20px;background:var(--learn-paper);border:1px solid var(--learn-line);border-radius:12px;margin:24px 0}
.ava-catalog-filter label{display:grid;gap:7px;font-size:12px;font-weight:600}
.ava-catalog-filter input,.ava-catalog-filter select{width:100%;min-width:0;box-sizing:border-box;padding:11px;border:1px solid var(--learn-line);border-radius:8px;background:var(--learn-canvas);color:var(--learn-ink);font:inherit}
.ava-catalog-filter>a{font-size:12px;color:var(--learn-accent);padding-bottom:12px}
@media(max-width:800px){.ava-catalog-filter{grid-template-columns:1fr 1fr}.ava-catalog-filter label:first-of-type{grid-column:1/-1}}
@media(max-width:450px){.ava-catalog-filter{grid-template-columns:1fr}.ava-catalog-filter label:first-of-type{grid-column:auto}}
@media(max-width:1000px){body .ava .ava-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body .ava .ava-cards{grid-template-columns:1fr}.ava-catalog-pagination{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.learning-course,.learning-shortcuts>a,.student-experience .nav-subbutton{transition:none!important;transform:none!important}}
