@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
:root{--ink:#333;--muted:#333;--line:#e9eaf2;--purple:#6756e8;--bg:#f7f8fc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}h1,h2,strong,.brand{font-family:'Plus Jakarta Sans',Arial,sans-serif}h1,h2,p{margin-top:0}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.app{display:flex;min-height:100vh}.sidebar{width:248px;flex:none;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:10;transition:width .25s}.brand{height:88px;display:flex;align-items:center;gap:11px;padding:0 20px}.brand-icon{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#8f7df4,#5745d3);color:white;display:grid;place-items:center;font-size:23px;font-weight:800;box-shadow:0 7px 15px #6656e83b;flex:none}.brand-text{display:flex;flex-direction:column;white-space:nowrap}.brand-text strong{font-size:16px;letter-spacing:.02em}.brand-text span{font-size:9px;letter-spacing:2px;color:#333;font-weight:800;margin-top:3px}.icon-button{border:0;background:transparent;color:#333;font-size:20px;cursor:pointer;border-radius:10px;padding:7px}.icon-button:hover{background:#f1f0ff}.side-toggle{margin-left:auto;font-size:18px}.nav-label{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#333;margin:20px 28px 12px}.sidebar nav{padding:0 12px;display:grid;gap:6px}.sidebar nav a{height:45px;border-radius:11px;display:flex;align-items:center;gap:13px;padding:0 15px;color:#333;font-weight:700;white-space:nowrap}.sidebar nav a:hover,.sidebar nav a.current{background:#f0eeff;color:#5d4bd8}.nav-icon{font-size:21px;width:22px;text-align:center;font-weight:400}.sidebar-bottom{margin:auto 14px 20px;padding:14px 4px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px}.sidebar-bottom strong,.sidebar-bottom small{display:block;white-space:nowrap}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{color:var(--muted);font-size:11px;margin-top:2px}.avatar{width:34px;height:34px;border-radius:11px;background:#ede9ff;color:#6855db;display:grid;place-items:center;font-weight:800;font-size:11px;flex:none}.logout{font-size:20px;margin-left:auto;color:#333}.main{min-width:0;flex:1}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px}.breadcrumb{color:#333;font-size:13px}.breadcrumb span{padding:0 12px;color:#333}.top-actions{display:flex;align-items:center;gap:20px}.today{font-size:12px;color:#333}.top-avatar{border-radius:50%}.content{max-width:1500px;margin:auto;padding:35px 40px 60px}.hero{min-height:250px;border-radius:19px;background:linear-gradient(110deg,#6252d9,#8979ec);position:relative;overflow:hidden;display:flex;justify-content:space-between;color:#fff;padding:37px 45px;margin-bottom:35px;box-shadow:0 12px 30px #6859d028}.hero h1{font-size:29px;letter-spacing:-1px;margin:15px 0 10px}.hero p{color:#e7e2ff;margin-bottom:24px}.hero-tag{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#ded8ff}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:9px;border:0;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap}.button.primary{background:var(--purple);color:white;box-shadow:0 5px 13px #6655e43d}.button.primary:hover{background:#5140ca}.button.light{background:white;color:#5e4bd8}.button.outline{border:1px solid #dedbee;color:#5d4bd8;background:white}.button.full{width:100%}.hero-art{width:270px;display:grid;place-items:center;position:relative}.art-orbit{position:absolute;width:330px;height:330px;border:1px solid #ffffff40;border-radius:50%;box-shadow:0 0 0 45px #ffffff0a,0 0 0 90px #ffffff08}.art-card{background:#ffffffed;color:var(--ink);border-radius:17px;padding:20px 32px;min-width:180px;transform:rotate(7deg);box-shadow:0 20px 30px #32268033}.art-card span,.art-card small{display:block;font-size:10px;color:#333;font-weight:800;letter-spacing:1px}.art-card strong{display:block;font-size:50px;margin:5px 0}.art-card small{letter-spacing:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin:29px 0 17px}.section-title h2,.panel h2{font-size:17px;margin:0;letter-spacing:-.4px}.section-title span{color:#333;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.stat,.panel,.quick,.plan-card{background:white;border:1px solid var(--line);border-radius:15px}.stat{padding:20px 21px;min-height:180px}.stat-icon,.quick-icon{width:37px;height:37px;border-radius:10px;display:grid;place-items:center;font-size:19px;margin-bottom:17px}.purple{background:#f0edff;color:#6958dd}.green{background:#e6faf1;color:#17a56e}.amber{background:#fff3dd;color:#e5a02b}.blue{background:#eaf4ff;color:#4793d9}.stat span,.stat small{display:block;color:#333;font-size:12px}.stat strong{font-size:29px;display:block;margin:5px 0}.stat small{color:#333;font-size:11px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.quick{padding:21px;display:flex;align-items:center;gap:14px;transition:transform .2s,box-shadow .2s}.quick:hover{transform:translateY(-3px);box-shadow:0 10px 25px #3039700e}.quick-icon{margin:0;flex:none}.quick div{min-width:0}.quick strong,.quick small{display:block}.quick strong{font-size:12px}.quick small{font-size:11px;color:#333;margin-top:5px}.quick b{margin-left:auto;color:#333}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:6px 0 28px;gap:20px}.page-heading h1{font-size:27px;letter-spacing:-.8px;margin:4px 0 8px}.page-heading p:last-child{color:#333;margin:0}.eyebrow{font-size:10px;color:#7968e7;font-weight:800;letter-spacing:1.5px}.panel{margin-bottom:24px;overflow:hidden}.panel-head{padding:22px 25px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.panel-head p{color:#333;margin:7px 0 0;font-size:12px}.search{border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:250px;outline:none}.search:focus,input:focus,select:focus{border-color:#8e80eb;outline:none;box-shadow:0 0 0 3px #8e80eb20}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:720px}th{font-size:10px;color:#333;letter-spacing:1px;font-weight:800;background:#fbfbfe}th,td{padding:16px 24px;border-bottom:1px solid #f0f1f6}tbody tr:last-child td{border-bottom:0}td{color:#333;font-size:12px}td strong,td small{display:block}td strong{color:#26304e;font-size:12px}td small{color:#333;margin-top:4px}.badge{font-size:10px;font-weight:800;padding:6px 10px;border-radius:50px}.badge.active{background:#e5f8ed;color:#219c61}.badge.expired{background:#fff0ed;color:#df705b}.badge.popular{background:#f0edff;color:#6b59e1}.table-link{color:#6957db;font-weight:800;white-space:nowrap}.form-panel{scroll-margin-top:20px}.form-grid{padding:25px;display:grid;grid-template-columns:repeat(2,1fr);gap:19px 22px}.form-grid label,.login-card label{display:block;color:#525b75;font-weight:700;font-size:12px}.form-grid input,.form-grid select,.login-card input{display:block;width:100%;height:42px;border:1px solid #e2e4ed;border-radius:8px;background:white;margin-top:8px;padding:0 11px;color:var(--ink)}.optional{font-weight:400;color:#333}.form-actions{grid-column:1/-1;margin-top:3px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan-card{padding:25px}.plan-top{display:flex;justify-content:space-between;align-items:center}.plan-mark{font-size:24px;color:#7664df}.plan-card h2{font-size:17px;margin:22px 0 12px}.price{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:28px;font-weight:800}.price small{font:12px 'DM Sans',Arial,sans-serif;color:#333;margin-left:4px}.plan-divider{border-top:1px solid var(--line);margin:20px 0}.plan-card p{color:#333;font-size:12px;margin:13px 0}.plan-card .button{margin-top:20px}.alert{padding:13px 17px;border-radius:9px;margin-bottom:20px;font-weight:700}.alert.success{background:#e6f8ed;color:#22885d}.alert.error{background:#fff0ed;color:#bd4d3c}.login-page{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 70% 15%,#e5e1ff,transparent 40%),#f7f8fc}.login-card{width:min(400px,calc(100vw - 32px));background:white;border:1px solid var(--line);border-radius:19px;padding:35px;box-shadow:0 20px 60px #272e5c13}.login-card .brand-icon{margin-bottom:25px}.login-card h1{font-size:28px;margin:7px 0}.login-card .muted{color:#333;margin-bottom:26px}.login-card label{margin:17px 0}.login-card .button{margin-top:12px}.collapsed .sidebar{width:75px}.collapsed .brand{padding:0 18px}.collapsed .brand-text,.collapsed .nav-label,.collapsed .nav-text{display:none}.collapsed .side-toggle{position:absolute;top:70px;left:20px}.collapsed .sidebar nav{margin-top:40px;padding:0 10px}.collapsed .sidebar nav a{justify-content:center;padding:0}.collapsed .sidebar-bottom{justify-content:center}.mobile-menu,.mobile-shade{display:none}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.quick-grid,.plan-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{position:fixed;left:-260px;width:248px!important;box-shadow:10px 0 30px #1c234019}.app.mobile-open .sidebar{left:0}.app.mobile-open .mobile-shade{display:block;position:fixed;inset:0;background:#10172d80;z-index:9}.collapsed .brand-text,.collapsed .nav-label,.collapsed .nav-text{display:block}.collapsed .sidebar nav{margin-top:0;padding:0 12px}.collapsed .sidebar nav a{justify-content:flex-start;padding:0 15px}.collapsed .side-toggle{position:static}.mobile-menu{display:block}.topbar{padding:0 20px;justify-content:flex-start;gap:12px}.top-actions{margin-left:auto}.today{display:none}.content{padding:23px 18px}.hero{padding:27px;min-height:235px}.hero h1{font-size:23px}.hero-art{display:none}.stats,.quick-grid,.plan-grid{grid-template-columns:1fr 1fr}.page-heading{align-items:flex-start}.page-heading h1{font-size:23px}.search{width:100%}.panel-head{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}}@media(max-width:480px){.stats,.quick-grid,.plan-grid{grid-template-columns:1fr}.stat{min-height:140px}.page-heading{display:block}.page-heading .button{margin-top:17px}.breadcrumb{font-size:11px}}
.college-login-link{display:block;text-align:center;margin-top:19px;color:#6756e8;font-size:12px;font-weight:800}

/* Keep the college name and menu button inside the sidebar header. */
.college-workspace .sidebar{width:280px}
.college-workspace .brand{padding:0 16px;gap:10px}
.college-workspace .brand-text{flex:1;min-width:0;overflow:hidden}
.college-workspace .brand-text strong{font-size:14px;overflow:hidden;text-overflow:ellipsis}
.college-workspace .brand-text span{font-size:8px;letter-spacing:1.5px}
.college-workspace .side-toggle{flex:none;width:32px;height:36px;padding:0;display:grid;place-items:center}
.college-workspace .sidebar-bottom .nav-text{min-width:0;flex:1}
.college-workspace .sidebar-bottom strong{overflow:hidden;text-overflow:ellipsis}
.college-workspace .sidebar-bottom form{margin:0;flex:none}
.college-workspace .collapsed .sidebar{width:75px}
.college-workspace .collapsed .brand{padding:0 18px}
.college-workspace .sidebar nav{overflow-y:auto;min-height:0;flex-shrink:1;padding-bottom:20px}
.college-workspace .sidebar-bottom{flex-shrink:0}
.college-workspace .brand{flex-shrink:0}
.branch-nav summary{list-style:none;min-height:45px;border-radius:11px;display:flex;align-items:center;gap:13px;padding:0 15px;color:#333;font-weight:700;cursor:pointer;font-size:13px}
.branch-nav summary::-webkit-details-marker{display:none}
.branch-nav summary:hover,.branch-nav[open] summary{background:#f0eeff;color:#5d4bd8}
.nav-chevron{margin-left:auto;transition:transform .2s}
.branch-nav[open] .nav-chevron{transform:rotate(180deg)}
.branch-nav summary{transition:background-color .2s,color .2s;user-select:none}
.branch-nav.menu-animating{overflow:hidden}
.branch-nav summary[aria-expanded="false"] .nav-chevron{transform:rotate(0deg)}
.branch-nav summary[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}
.sidebar{transition:width .25s ease,left .25s ease}
@media(prefers-reduced-motion:reduce){.sidebar,.branch-nav summary,.nav-chevron{transition:none}}
.branch-nav-links{margin:6px 0 3px 25px;padding-left:12px;border-left:1px solid #e4dfff}
.sidebar .branch-nav-links a{height:38px;font-size:12px;padding:0 12px}
.branch-nav summary:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.college-logo{overflow:hidden;flex:none;display:grid;place-items:center}
.college-logo img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.college-workspace .college-hero{justify-content:flex-start;align-items:center;gap:25px}
.college-hero>div:last-child{min-width:0}
.college-hero h1{overflow-wrap:anywhere}
.dashboard-logo{width:90px;height:90px;border-radius:20px;background:#ffffff24;color:#fff;font-size:42px;font-weight:800;border:1px solid #ffffff50}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px;align-items:start}
.profile-layout .panel{min-width:0}
.profile-logo-field{grid-column:1/-1;display:flex;align-items:center;gap:20px;min-width:0}
.profile-logo-field>div:last-child{min-width:0;flex:1}
.profile-logo{width:80px;height:80px;border:1px solid var(--line);background:#f0edff;color:#6756e8;border-radius:16px;font-size:32px;font-weight:800}
.form-grid input[type=file]{height:auto;padding:10px;font-size:12px}
.field-help{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:7px}
.form-grid .checkbox-label{display:flex;align-items:center;gap:8px;margin-top:12px}
.form-grid .checkbox-label input{width:16px;height:16px;margin:0;accent-color:var(--purple)}
.profile-account{margin:0;padding:8px 25px}
.profile-account>div{padding:14px 0;border-bottom:1px solid var(--line)}
.profile-account>div:last-child{border:0}
.profile-account dt{font-size:11px;color:var(--muted)}
.profile-account dd{margin:5px 0 0;font-weight:700;font-size:13px;overflow-wrap:anywhere}
.profile-note{font-size:12px;line-height:1.6;color:var(--muted);padding:0 25px 22px;margin:0}
@media(min-width:701px){
 .collapsed .branch-nav summary{justify-content:center;padding:0}
 .collapsed .branch-nav-links,.collapsed .nav-chevron{display:none}
 .college-workspace .collapsed .sidebar-bottom form{display:none}
}
@media(max-width:1100px){.profile-layout{grid-template-columns:1fr}}
@media(max-width:700px){
 .college-workspace .sidebar{width:280px!important;max-width:calc(100vw - 32px);left:-290px}
 .college-workspace .mobile-open .sidebar{left:0}
 .college-workspace .collapsed .brand{padding:0 16px}
 .college-workspace .collapsed .brand-text{display:flex}
 .college-workspace .college-hero{align-items:flex-start;flex-direction:column;gap:8px}
 .dashboard-logo{width:64px;height:64px;border-radius:14px;font-size:30px}
 .profile-logo-field{align-items:flex-start;flex-direction:column}
}

.college-row-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.college-row-actions .table-link{font-size:11px}.college-row-actions .delete-link{color:#c75050}.button.danger{background:#c75050;color:#fff}.college-delete-warning{margin:24px 25px 0;padding:17px;border-radius:10px;background:#fff0ed;color:#923c3c}.college-delete-warning p{margin:7px 0 0;font-size:12px}

.form-grid label,.login-card label{color:#333}
