:root{--brand-grape:#643b78;--brand-coral:#ff8876;--brand-ivory:#fff9f1}
html,body{background:#f8f6f2;color:#21162c}
.app{width:100%;height:100vh;min-width:1024px;background:#f8f6f2;--plum:#643b78;--plum2:#754b89;--pink:#ff8876;--rose:#ff8876;--blush:#f5eff8;--line:#eae4ed;--muted:#81738b;--orange:#cf6c47;--red:#cb514c}
.app .sidebar,.institution .sidebar{width:224px;min-width:224px;height:100vh;background:linear-gradient(170deg,#6b4380 0%,#643b78 38%,#58316a 100%);border-right:1px solid #59316d;box-shadow:none}
.app .main,.institution .main{width:calc(100vw - 224px);min-width:0;height:100vh;flex:1}
.app .brand{height:96px;min-height:96px;padding:16px;background:transparent;justify-content:center;border-bottom:1px solid #ffffff14}
.app .brand img{width:190px;height:64px;object-fit:contain}
.app .org-brand,.institution .org-brand{height:72px;min-height:72px;padding:15px 23px 12px;border:0;color:#fff9f1}
.app .org-brand b{font-size:14px;line-height:20px;letter-spacing:.4px;color:#fff9f1;display:block}
.app .org-brand span{font-size:12px;line-height:18px;display:block;margin-top:5px;color:#e5d8ed}
.app .nav{padding:0 12px 12px;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#a687b7 transparent;flex:1}
.app .nav-label,.institution .nav-label{font-size:11px;color:#dbc9e6;padding:10px 18px 5px;line-height:17px;display:block}
.institution .nav-label:first-child{display:none}
.app .nav-item{height:44px;min-height:44px;margin:0 0 3px;border-radius:8px;padding:0 18px;gap:15px;font-size:15px;line-height:22px;color:#f6edf9;white-space:nowrap;text-decoration:none;font-weight:400}
.app .nav-item img{height:20px;width:20px;object-fit:contain;opacity:.9}
.app .nav-item.active{background:#ffffff21;color:#fff9f1;font-weight:600;box-shadow:none}
.app .nav-item.active:before{left:0;top:11px;bottom:11px;width:3px;height:auto;border-radius:3px;background:#ff8876}
.app .nav-item:hover{background:#ffffff16}
.app .nav-badge{font-size:10px;min-width:19px;height:18px;background:#ffffff12;color:#f1dfea;padding:0 5px}
.app .profile,.institution .profile{height:88px;min-height:88px;padding:19px;gap:11px;border-top:1px solid #ffffff26;position:relative}
.app .profile .avatar{width:38px;height:38px;min-width:38px;border-radius:50%;background:#f1e4f5;color:#643b78;font-size:17px;box-shadow:none}
.app .profile b{font-size:13px;font-weight:500;color:#fff9f1}
.app .profile a{display:block;margin-top:4px;font-size:11px;color:#dfcce8;text-decoration:none}
.app .profile .sidebar-settings{margin-left:auto;width:19px;height:19px;opacity:.8}
.app .topbar{height:72px;min-height:72px;background:#ffffffed;border-bottom:1px solid #ece6ed;padding:0 28px}
.app .content,.institution .content{background:#f8f6f2;padding:24px 28px 36px;height:calc(100vh - 72px);overflow:auto;position:relative}
.app .content:before{display:none}
.app .panel,.app .form-section{background:#fff;border:1px solid #ede7ef;border-radius:12px;box-shadow:0 5px 18px #57306403;overflow:hidden}
.app .panel-head{border-bottom:1px solid #f0eaf2;height:56px}
.app .btn{border-color:#e6deeb;border-radius:7px;box-shadow:none}
.app .btn.primary{background:#ff8876;color:#321c34;border:1px solid #ff8876;font-weight:600;box-shadow:none}
.app .btn.primary:hover{background:#ff9a89}
.app .tab.active{color:#643b78}.app .tab.active:after{background:#ff8876}
.app .page.active{background:#643b78;color:white}
.app .table th{background:#faf7fb;color:#80718b}.app .table td{border-color:#f0ebf2}
.app .pill.pink{background:#f3eaf8;color:#643b78}.app .pill.warn{background:#fff0e8;color:#b25c3d}
.app .stat-icon{background:#f4edf8;color:#643b78}.app .free-label{background:#fff7ee;color:#643b78;border-color:#eee2ee}
.app .edu-stats{border-color:#ede7ef;border-radius:12px}.app .edu-stat{border-color:#eee8f1}
.app .edu-stat strong{color:#251632}.app .edu-stat:last-child strong{color:#ec755f}
.app .setup-strip{background:#f3edf7;border-color:#e9e1ed}
.app .bar-column i{background:#cdbbdd}.app .bar-column:last-child i{background:#ff8876}
.app .auth-account .ava{background:#f1e6f6;color:#643b78}.app .auth-account .who{color:#4f3b5d}
.app .poster-card .btn.primary{background:#643b78;color:#fff}
.auth-pending #auth-guard{background:#f8f6f2;color:#643b78;font-size:14px}
@media(max-width:1100px){.app .content,.institution .content{padding:20px}.app .edu-grid{grid-template-columns:1fr}.app .week-day{min-width:44px;padding:7px}.app .student-toolbar{flex-wrap:wrap}}

.institution-context{font-size:15px;font-weight:600;color:#302038;margin-right:auto}.edu-home-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(350px,1fr);gap:20px}.edu-home-side{display:flex;flex-direction:column;gap:16px}.edu-home-side .edu-tasks{display:flex;flex-direction:column;gap:0;padding:2px 18px 10px}.edu-home-side .edu-task{border:0;padding:8px 0;gap:12px}.edu-home-side .edu-task .stat-icon{background:transparent;width:30px;height:30px}.edu-home-side .edu-task strong{font-size:20px;margin:0 0 0 auto}.edu-home-side .edu-task small{font-size:11px;margin-left:3px;font-weight:400}.edu-home-side .edu-task em{margin:0}.edu-home-side .quick-actions{padding:15px 12px;gap:8px}.edu-home-side .quick-actions button{height:45px;font-size:12px}.edu-home-side .quick-actions svg{width:18px;height:18px}.edu-home-bars .bars-chart{height:170px;padding:16px 25px 15px}.event-reminder{display:flex;align-items:flex-start;gap:12px;padding:25px 22px;font-size:13px}.event-reminder p{color:var(--muted);font-size:12px;margin:12px 0}.reminder-dot{height:7px;width:7px;border-radius:50%;background:#ff8876;margin-top:5px}.event-reminder .pill{margin-left:auto}@media(max-width:1100px){.edu-home-grid{grid-template-columns:1fr}.edu-home-side{display:grid;grid-template-columns:1fr 1fr}}
