/* Shared portal palette; subsystem styles remain independent. */
:root{--portal-ink:#334e38;--portal-action:#3e6039;--portal-nav-width:216px}
body.account-appearance-custom{--primary:var(--portal-action);--primary-dark:var(--portal-action);--text-primary:#26362b;--text-secondary:#4d5e51;--text-muted:#56685b;background:color-mix(in srgb,var(--account-start) 16%,#fafcf9)}
body.account-appearance-custom :is(.navbar,.site-footer){border-color:color-mix(in srgb,var(--account-start) 65%,#c7d3c8)}
body.account-appearance-custom .btn-primary{background:var(--portal-action);border-color:var(--portal-action);color:#fff}
body.account-appearance-custom .text-primary{color:var(--portal-action)}
body.account-appearance-custom :is(.navbar,.login-modal .modal-header){color:var(--portal-ink)}
body.public-home-active #navMenu,body.public-home-active #mobileToggleBtn{display:none!important}
body.public-home-active .nav-container{max-width:none;padding-left:24px;padding-right:24px}
body.public-home-active .main-content{padding-top:0}
body.public-home-active #viewHome.active{display:grid;grid-template-columns:var(--portal-nav-width) minmax(0,1fr);min-height:70vh;position:relative;max-width:1440px;margin:auto;align-items:stretch}
body.public-home-active #viewHome[data-sidebar=closed]{--portal-nav-width:64px}
.public-home-sidebar{background:#fff;border-right:1px solid #d6e0d5;min-width:0;z-index:35}
.public-home-nav{position:sticky;top:calc(var(--public-navbar-height,80px) + 8px);display:flex;flex-direction:column;gap:8px;padding:16px 12px}
.public-home-caption{font-size:12px;letter-spacing:.08em;padding:8px 12px;color:#56685b;border-bottom:1px solid #d6e0d5}
.public-home-nav :is(a,button){display:flex;gap:12px;align-items:center;min-height:46px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--portal-ink);font:inherit;font-size:calc(14px * var(--account-font-scale,1));text-decoration:none;text-align:left;overflow-wrap:anywhere}
.public-home-nav svg{width:20px;height:20px;flex-shrink:0}
.public-home-nav a:hover,.public-home-nav button:hover{background:color-mix(in srgb,var(--account-start) 55%,white)}
.public-home-nav a[aria-current=location]{background:color-mix(in srgb,var(--account-start) 65%,white);box-shadow:inset 3px 0 var(--portal-action);font-weight:700}
#publicHomeToggle{margin-top:14px;border-top:1px solid #d6e0d5;border-radius:0;color:#56685b}
#viewHome[data-sidebar=closed] .public-home-nav-label{display:none}
#viewHome[data-sidebar=closed] .public-home-nav{padding:16px 8px}
#viewHome[data-sidebar=closed] .public-home-nav :is(a,button){justify-content:center;padding:10px 0}
.public-home-main{min-width:0;background:color-mix(in srgb,var(--account-start) 14%,#fafcf9);padding-bottom:24px}
.public-home-search-section{background:linear-gradient(110deg,color-mix(in srgb,var(--account-start) calc(var(--account-tint,.7)*100%),#fafafa),color-mix(in srgb,var(--account-end) calc(var(--account-tint,.7)*100%),#fafafa));padding:28px 24px}
.public-home-search-section label{display:block;font-size:calc(14px * var(--account-font-scale,1));color:var(--portal-ink);margin-bottom:10px}
.public-home-search{display:flex;gap:10px;align-items:center;background:white;border:1px solid #d2ddd2;border-radius:14px;padding:6px 6px 6px 16px;max-width:900px}
.public-home-search>svg{width:20px;flex:none;color:var(--portal-ink)}
.public-home-search input{min-width:0;width:100%;border:0;border-radius:6px;font:inherit;font-size:calc(16px * var(--account-font-scale,1));padding:8px 0;color:#26362b;outline-offset:3px;background:white}
.public-home-search button{flex:none;min-height:44px}
.public-home-section,.public-home-results{padding:24px}
.public-home-section-heading{margin-bottom:18px}
.public-home-section-heading h2,.public-home-results h2{display:flex;gap:9px;align-items:center;font-size:calc(20px * var(--account-font-scale,1));color:var(--portal-ink);margin:0}
.public-home-section-heading h2 svg{width:20px;height:20px;flex:none}
.public-home-section-heading p{font-size:calc(14px * var(--account-font-scale,1));color:#4d5e51;margin:6px 0 0}
.public-home-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.public-home-card{min-width:0;background:rgb(255 255 255 / var(--account-opacity,1));border:1px solid #d6e0d5;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px}
.public-home-card h3{display:flex;gap:10px;align-items:flex-start;color:#26362b;font-size:calc(17px * var(--account-font-scale,1));margin:0;line-height:1.65;overflow-wrap:anywhere}
.public-home-icon{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--account-start) 55%,white);display:flex;align-items:center;justify-content:center;flex:none;color:var(--portal-action)}
.public-home-icon svg{width:19px;height:19px}
.public-home-card p{font-size:calc(14px * var(--account-font-scale,1));line-height:1.8;margin:0;color:#4d5e51;flex:1;overflow-wrap:anywhere}
.public-home-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.public-home-tag{background:color-mix(in srgb,var(--account-start) 45%,white);color:var(--portal-ink);font-size:calc(12px * var(--account-font-scale,1));padding:4px 8px;border-radius:6px}
.public-home-open{display:inline-flex;gap:6px;align-items:center;min-height:44px;color:var(--portal-action);font-weight:700;text-decoration:none;font-size:calc(14px * var(--account-font-scale,1));overflow-wrap:anywhere}
.public-home-open:hover{text-decoration:underline}.public-home-open svg{width:16px;height:16px;flex:none}
.public-home-guide{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d6e0d5;padding:18px 0}
.public-home-guide:first-child{border-top:1px solid #d6e0d5}.public-home-guide>div{min-width:0}
.public-home-guide h3{font-size:calc(17px * var(--account-font-scale,1));color:#26362b;overflow-wrap:anywhere;margin:0 0 5px}
.public-home-guide p{font-size:calc(14px * var(--account-font-scale,1));line-height:1.8;color:#4d5e51;margin:0;overflow-wrap:anywhere}.public-home-guide>a{flex:none}
.public-home-results[hidden],.public-home-shade[hidden]{display:none!important}
.public-home-results-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.public-home-result{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #d6e0d5;font-size:calc(15px * var(--account-font-scale,1));overflow-wrap:anywhere}.public-home-result>a{flex:none}
.public-home-results h3{font-size:calc(16px * var(--account-font-scale,1));margin:18px 0 6px;color:var(--portal-ink)}
.public-home-shade{position:absolute;inset:0 0 0 216px;background:#20312645;border:0;z-index:34;display:none}
body.public-home-active :is(button,a,input):focus-visible{outline:3px solid var(--portal-action);outline-offset:3px}
.public-home-section,.public-home-search-section,.public-home-results{scroll-margin-top:calc(var(--public-navbar-height,80px) + 16px)}
@media(max-width:1000px){body.public-home-active #viewHome.active{--portal-nav-width:196px}.public-home-nav{padding:12px 8px}.public-home-nav :is(a,button){padding:10px 8px;font-size:calc(13px * var(--account-font-scale,1))}.public-home-section,.public-home-results{padding:20px}.public-home-card{padding:16px}}
@media(max-width:767px){body.public-home-active #viewHome.active{grid-template-columns:52px minmax(0,1fr)}.public-home-sidebar{width:52px}.public-home-nav{padding:12px 4px}.public-home-nav :is(a,button){justify-content:center;padding:10px 0}#viewHome[data-sidebar=open] .public-home-sidebar{width:216px;box-shadow:8px 0 24px #20312620}#viewHome[data-sidebar=open] .public-home-nav{padding:12px}#viewHome[data-sidebar=open] .public-home-nav :is(a,button){justify-content:flex-start;padding:10px 12px}#viewHome[data-sidebar=open] .public-home-shade{display:block}.public-home-resource-grid{grid-template-columns:1fr}.public-home-search-section{padding:20px 14px}.public-home-section,.public-home-results{padding:20px 14px}.public-home-guide{flex-wrap:wrap;gap:8px}.public-home-card-footer{gap:6px}.public-home-result{flex-wrap:wrap}body.public-home-active .nav-container{padding:12px 14px;gap:10px;flex-wrap:wrap}body.public-home-active .nav-actions{margin-left:auto}.public-home-search{gap:6px;padding-left:10px}.public-home-search>svg{display:none}.public-home-search button{padding:8px 12px}.public-home-search input{font-size:16px}.public-home-nav .public-home-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){body.public-home-active *{scroll-behavior:auto!important}}

@media(min-width:768px) and (max-width:1000px){body.public-home-active #viewHome.active[data-sidebar=closed]{--portal-nav-width:64px}}
body.account-appearance-custom{--primary-hover:var(--portal-action);--primary-light:color-mix(in srgb,var(--account-start) 55%,white)}

body.account-appearance-custom .footer{background:color-mix(in srgb,var(--account-start) 28%,white);color:var(--portal-ink);padding:24px;margin-top:0;border-top:1px solid #d6e0d5}
body.account-appearance-custom .footer-links a{color:var(--portal-action);opacity:1}
body.account-appearance-custom .footer-info p{color:#4d5e51;opacity:1}
body.public-home-active .footer-links a[href="#internal"]{display:none}
@media(max-width:767px){body.public-home-active .nav-container{flex-direction:row;align-items:center}body.public-home-active .brand{flex:1;min-width:0;gap:8px}body.public-home-active .brand-icon{width:36px;height:36px}body.public-home-active .brand-logo-img{width:36px;height:36px}body.public-home-active .school-name{font-size:11px}body.public-home-active .site-title{font-size:14px}body.public-home-active .nav-actions{width:auto;flex:0 0 auto;justify-content:flex-end}body.public-home-active #navLoginBtn{font-size:13px;padding:8px 10px}}
