/* Shared readability and interaction defaults across public and portal screens. */
:root{--muted:#626c60;--border:#d9ddd2;color:#27352b}
body{font-size:15px;line-height:1.55}
.muted{color:#626c60!important}
.eyebrow{font-size:11px;letter-spacing:1.5px}
.pill{font-size:11px;padding:6px 10px}
.primary,.outline,.soft{font-size:14px;min-height:44px}
.text-btn{font-size:13px;color:#56664c;min-height:32px}
.brand small{font-size:11px;color:#626c60}
header.public nav{font-size:15px}
.landing .intro{font-size:17px;color:#5b6658}
.hero-badges{font-size:13px;color:#56624f}
.section-title>span{font-size:13px!important;color:#626c60!important}
.public-course p{font-size:15px;color:#606c59}
.path-kicker{font-size:11px}.path-index{font-size:10px;opacity:.85}
.path-meta>span:last-child{font-size:12px;color:#626c60}
.path-meta .pill{font-size:11px}
.path-body p{font-size:15px;line-height:1.8;color:#5c6855}
.path-tags span{font-size:11px;color:#59634f;border-color:#d8ddce}
.path-card .path-action{font-size:14px;min-height:52px}
.experience-caption{font-size:10px;color:#647158}
.experience-card p{font-size:14px;color:#5d6955}
.experience-bottom{font-size:12px;color:#626e58}
.landing .footer,.footer{font-size:13px;color:#5c6855}
.side-label,.sidebar .side-label{font-size:10px;color:#637158;letter-spacing:1.3px}
.navitem,.sidebar .navitem{font-size:14px;min-height:43px;color:#5c6954;gap:10px;padding:10px 12px}
.navitem.active{color:#30442d;background:#e6eadc}
.navitem .count{font-size:11px;color:#526247}
.sidebar .help-card h4{font-size:12px!important;color:#35472d}
.help-card p{font-size:12px;color:#5f6e53}
.help-card button{font-size:11px;min-height:34px}
.profile{font-size:12px}.profile .muted{font-size:11px}
.profile button{min-width:32px;min-height:36px;color:#57694d}
.topbar{font-size:13px}.topbar .icon-btn{color:#53654b;min-width:36px;min-height:40px}
.search{color:#596950;padding:10px 12px}.search input{font-size:13px;width:170px;color:#34462b}
input::placeholder,textarea::placeholder{color:#6b7664;opacity:1}
.topbar kbd{font-size:11px;color:#68765e}
.greeting h1{font-size:30px}.greeting p{font-size:14px;color:#627157}
.greeting .date{font-size:12px;color:#626f58}
.banner-copy .eyebrow{font-size:11px;color:#576b46}
.banner-copy p{font-size:14px;color:#5b6d4d;max-width:440px}
.banner-copy button{font-size:13px;min-height:42px}
.welcome-banner{min-height:235px}.banner-copy{max-width:68%}
.stat label{font-size:12px;color:#5f6e54}.stat strong{font-size:29px}
.stat small{font-size:11px;color:#617354;line-height:1.6;display:block}
.section-title h2{font-size:19px}
.course-info h3{font-size:16px;line-height:1.5;padding-right:20px}
.course-info p{font-size:12px;color:#68765b}
.course-info .progress-line{margin-top:15px;height:5px}
.progress-caption{font-size:11px;color:#617050}
.course-visual .tiny{font-size:9px;color:#536342}
.continue{width:31px;height:31px;color:#526d40}
.course-card{padding:16px;min-height:175px}
.session-head{font-size:11px;color:#627253}
.session-card h3{font-size:15px;line-height:1.5}
.session-card p{font-size:12px;color:#657457}
.teacher-mini{font-size:12px}.teacher-mini .avatar{width:29px;height:29px;font-size:10px}
.session-bottom{gap:10px;flex-wrap:wrap}.session-bottom button{font-size:12px;padding:9px 12px;min-height:38px}
.quote .eyebrow{font-size:10px;color:#61714f}.quote p{font-size:12px;color:#63744f}
.resource-row{gap:12px}.resource-row h4{font-size:14px;line-height:1.5}
.resource-row p{font-size:12px;color:#657557}.resource-row button{min-width:36px;min-height:40px;color:#556b43;font-size:18px}
.library-body p{font-size:14px;color:#637453}.library-body h3{font-size:18px;line-height:1.5}
.library-actions{gap:10px;flex-wrap:wrap}.tab{font-size:14px;min-height:42px;color:#5d6e4f}
.panel p{font-size:15px;color:#60734f}
.plan ul{font-size:14px;color:#5d704b}.plan .eyebrow{font-size:11px}
.note{font-size:13px;color:#576b47;line-height:1.8}
.modal p{font-size:14px;color:#60744e}.form label{font-size:13px;color:#4f633e}
.form input,.form select,.form textarea{font-size:15px;min-height:44px}
.demo-roles button{font-size:12px;min-height:36px;padding:8px 12px}
.error{font-size:14px!important;color:#ae3026!important}
.close{width:36px;height:36px;color:#596d47}
.class-tools button,.board-tools{font-size:13px}.video-label{font-size:12px}
.classroom~p{font-size:12px!important;color:#5c6e4b}
table{font-size:14px}th{font-size:12px;color:#5e704d}
.empty{font-size:15px;color:#5e714e}
#toast{font-size:14px;line-height:1.6}
.account-trigger .avatar{font-size:12px}
.account-summary strong{font-size:15px}.account-summary span:not(.avatar){font-size:12px;color:#637456}
.account-summary small{font-size:10px;color:#596e48}
.account-menu-links a,.account-menu-footer button{font-size:14px;min-height:48px}
.account-menu-links small{font-size:11px;color:#667b56}
.account-link-arrow,.account-trigger{color:#657953}
.profile-details label{font-size:12px;color:#63794f}.profile-details p{font-size:15px}
.profile-page-note{font-size:13px;color:#5c7348}
.profile-identity .pill{font-size:10px}.profile-identity>a{font-size:13px}
.profile-cover .eyebrow{font-size:11px;color:#576e44}
@media(max-height:900px){.sidebar .navitem{font-size:13px;min-height:40px;padding:9px 12px}.sidebar .side-label{font-size:10px}.sidebar .institute-logo{height:95px}.sidebar .help-card p{font-size:12px}}
@media(max-height:760px){.sidebar .navitem{font-size:13px;min-height:38px;padding:8px 12px}.sidebar .institute-logo{height:80px}.sidebar .help-card h4{font-size:11px!important}.sidebar .help-card button{font-size:11px;min-height:34px}.sidebar .help-card h4{max-width:80px}.sidebar .help-card{padding:8px}}
@media(max-width:1150px){.dashboard-columns{grid-template-columns:1fr}.course-card{grid-template-columns:145px 1fr}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.banner-copy{max-width:100%}.banner-art{opacity:.18}.greeting h1{font-size:27px}.welcome-banner{padding:24px;min-height:250px}.hero-badges{font-size:12px;flex-wrap:wrap}.path-body p{font-size:15px}.experience-card p{font-size:14px}.experience-bottom{font-size:12px}.course-card{grid-template-columns:100px 1fr;gap:13px}.course-info h3{font-size:15px}.course-info p{font-size:12px}.progress-caption{font-size:11px;gap:8px}.topbar{font-size:12px}.topbar .right{gap:8px}.modal{padding:25px}.profile-cover .eyebrow{font-size:10px;max-width:210px;display:block}}
@media(max-width:420px){.course-card{grid-template-columns:1fr}.course-visual{min-height:105px}.course-info{padding:8px 0}.stat{padding:15px}.section-title{align-items:flex-start}.section-title .text-btn{flex-shrink:0}.topbar{padding:0 12px}.topbar .muted>span:first-child{margin:0 7px!important}.topbar .right{gap:4px}}
