/* Shared student/family navigation, isolated from program styles. */
#package-sidebar{--ink:#14203a;--navy:#0f172a;--muted:#5f7088;--blue:#2563eb;--blue-dark:#1d4ed8;--purple:#7c3aed;--amber:#b45309;--line:#e2e8f0;--surface:#fff;--canvas:#f5f7fb;--blue-soft:#eff6ff;--purple-soft:#f5f3ff;--amber-soft:#fffbeb;--red:#b42335;--radius:18px;--shadow:0 3px 16px rgba(20,32,58,.035);--green:var(--blue);--deep:var(--navy);--mint:var(--blue-soft);--accent:#dbeafe;font:14px/1.55 "Segoe UI",Arial,sans-serif;color:var(--ink)}
#package-sidebar,#package-sidebar *{box-sizing:border-box}
#package-sidebar a{text-decoration:none}
#package-sidebar button{font-family:inherit;cursor:pointer}
#package-sidebar p{margin-top:0}
#package-sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:22px 16px 18px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;z-index:10;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
#package-sidebar .brand{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;flex-shrink:0}
#package-sidebar .brand:hover{text-decoration:none}
#package-sidebar .brand-logo{display:block;width:201px;height:auto;object-fit:contain}
#package-sidebar .brand-product{display:block;color:#5f7088;font-size:8px;letter-spacing:2.1px;font-weight:700;margin-top:-2px}
#package-sidebar .profile{display:flex;gap:10px;align-items:center;margin:23px 3px;padding:13px 11px;background:#f8fafc;border:1px solid #edf1f6;border-radius:12px;min-width:0}
#package-sidebar .profile>div{min-width:0}
#package-sidebar .profile strong{display:block;overflow-wrap:anywhere;font-size:13px;line-height:1.35}
#package-sidebar .profile small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
#package-sidebar .avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#e0eaff;border:1px solid #d4e2ff;flex-shrink:0;color:#1d4ed8;font-weight:750;font-size:16px}
.role-parent #package-sidebar .avatar{background:#fef3c7;border-color:#fde68a;color:#92400e}
#package-sidebar .nav-heading{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#5f7088;margin:0 13px 9px}
#package-sidebar nav{display:grid;gap:4px}
#package-sidebar nav a{position:relative;padding:10px 12px;display:flex;gap:11px;align-items:center;border-radius:9px;color:#55637b;font-size:12px;min-height:41px;transition:background .16s,color .16s}
#package-sidebar .nav-icon{width:19px;height:19px;opacity:.85;color:inherit;fill:none;stroke:currentColor}
#package-sidebar .nav-label{min-width:0}
#package-sidebar nav a:hover{background:#f6f8fc;color:var(--blue);text-decoration:none}
#package-sidebar nav a[aria-current=page]{color:#1d4ed8;background:#edf3ff;font-weight:700}
#package-sidebar nav a[aria-current=page]:after{content:"";position:absolute;right:11px;width:5px;height:5px;border-radius:50%;background:var(--blue)}
#package-sidebar nav a[aria-current=page] .nav-icon{opacity:1}
#package-sidebar .sidebar-bottom{margin-top:auto;padding-top:24px;font-size:11px}
#package-sidebar .support-card{position:relative;overflow:hidden;padding:18px 17px;background:linear-gradient(130deg,#14203a,#1f3764);border:1px solid #243f70;color:#fff;border-radius:13px;margin:0 3px 18px}
#package-sidebar .support-card:after{content:"";position:absolute;width:110px;height:110px;right:-55px;top:-43px;border:20px solid rgba(96,165,250,.12);border-radius:50%;pointer-events:none}
#package-sidebar .support-label{display:block;font-size:8px;font-weight:700;letter-spacing:1.45px;color:#a9c7ff;margin-bottom:9px}
#package-sidebar .support-card strong{display:block;font-size:13px}
#package-sidebar .support-card p{margin:7px 0 11px;font-size:11px;line-height:1.7;color:#b5c6e2}
#package-sidebar .support-card a{color:#dbeafe;font-size:11px;font-weight:650}
.role-parent #package-sidebar .support-label{color:#fcd989}
#package-sidebar .account-row{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:17px 5px 0}
#package-sidebar .account-dot{width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #eff6ff;flex-shrink:0}
#package-sidebar .account-row>div{min-width:0;flex:1}
#package-sidebar .account-row strong{display:block;font-size:11px;overflow-wrap:anywhere;line-height:1.4}
#package-sidebar .account-row small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
#package-sidebar .account-row form{margin:0}
#package-sidebar .account-row .text-button{color:var(--muted);font-size:11px;padding:6px}
#package-sidebar .text-button{border:0;background:none;color:var(--blue);padding:8px 0;font-size:12px;font-weight:600}
#package-sidebar .text-button:hover{text-decoration:underline}
@media(max-width:1250px){
#package-sidebar{width:224px;padding:22px 13px 17px}
#package-sidebar .brand-logo{width:184px}
#package-sidebar nav a{font-size:11px;gap:9px;padding:10px}
}
@media(max-width:850px){
#package-sidebar{width:192px;padding:19px 10px 16px}
#package-sidebar .brand-logo{width:166px}
#package-sidebar .brand-product{font-size:8px;letter-spacing:1.7px}
#package-sidebar .profile{padding:10px 8px;gap:8px;margin:21px 0}
#package-sidebar .profile strong{font-size:11px}
#package-sidebar .avatar{width:31px;height:31px;border-radius:9px;font-size:13px}
#package-sidebar .profile small{font-size:9px}
#package-sidebar nav a{padding:9px 8px;gap:8px;font-size:10px;min-height:39px}
#package-sidebar nav a[aria-current=page]:after{right:7px;width:4px;height:4px}
#package-sidebar .nav-icon{width:17px;height:17px}
#package-sidebar .nav-heading{font-size:8px;margin-left:8px}
#package-sidebar .support-card{padding:15px 12px;margin-right:0;margin-left:0}
#package-sidebar .support-card strong{font-size:11px}
#package-sidebar .support-card p{font-size:10px}
#package-sidebar .support-label{font-size:8px}
#package-sidebar .account-row{gap:7px;padding-left:1px;padding-right:1px}
#package-sidebar .account-row strong{font-size:10px}
#package-sidebar .account-row small{font-size:9px}
#package-sidebar .account-row .text-button{font-size:10px;padding:5px 0}
#package-sidebar .welcome .brand-logo{width:180px}
}
@media(max-width:600px){
#package-sidebar{position:static;width:100%;padding:10px 16px 0;border-right:0;border-bottom:1px solid var(--line);overflow:visible}
#package-sidebar .brand{align-items:flex-start;width:160px;min-height:55px}
#package-sidebar .brand-logo{width:158px}
#package-sidebar .brand-product{display:none}
#package-sidebar .profile,#package-sidebar .support-card,#package-sidebar .nav-heading{display:none}
#package-sidebar nav{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;gap:5px;padding:10px 0 12px;margin:0 -2px}
#package-sidebar nav::-webkit-scrollbar{display:none}
#package-sidebar nav a{white-space:nowrap;font-size:10px;padding:9px 10px;gap:6px;min-height:35px;border:1px solid #e8edf5;background:#fff}
#package-sidebar nav a[aria-current=page]{border-color:#dbe7ff;background:#edf3ff}
#package-sidebar nav a[aria-current=page]:after{display:none}
#package-sidebar .nav-icon{width:15px;height:15px}
#package-sidebar .sidebar-bottom{padding:0;position:absolute;right:16px;top:22px;margin:0}
#package-sidebar .account-row{padding:0;border:0;gap:8px}
#package-sidebar .account-row>div,#package-sidebar .account-dot{display:none}
#package-sidebar .account-row .text-button{padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:10px;background:#fff}
#package-sidebar .welcome .brand-logo{width:170px}
}
.page-focus #package-sidebar{display:none}
@media print{#package-sidebar{display:none!important}}
