.cup-portal{--cup-navy:#0d2b4e;--cup-blue:#1769aa;--cup-teal:#0f766e;--cup-ink:#1b2635;--cup-muted:#637181;--cup-line:#d9e1e8;--cup-surface:#fff;--cup-soft:#f3f7fa;font-family:Arial,Helvetica,sans-serif;color:var(--cup-ink);max-width:1180px;margin:28px auto;background:var(--cup-surface);border:1px solid var(--cup-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 32px rgba(16,46,76,.09)}
.cup-hero{background:linear-gradient(125deg,#0b2d52,#1769aa);color:#fff;padding:32px 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.cup-hero h2{color:#fff;margin:4px 0 8px;font-size:30px;line-height:1.15}.cup-hero p{margin:0;color:#e5f1fb}.cup-eyebrow{font-size:12px!important;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:#397eb2!important;margin:0 0 7px!important}.cup-hero .cup-eyebrow{color:#9bd9ef!important}.cup-term{border-left:1px solid rgba(255,255,255,.35);padding-left:22px;min-width:155px}.cup-term span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#b9d6ec}.cup-term strong{display:block;font-size:18px;margin-top:5px}.cup-notice{margin:20px 28px 0;padding:12px 15px;border-radius:8px;color:#075d50;background:#dcf7ed;border:1px solid #9fdfcb}.cup-tabs{padding:18px 28px 0;display:flex;gap:7px;border-bottom:1px solid var(--cup-line);overflow-x:auto}.cup-tabs button{border:0;background:transparent;color:#506070;padding:13px 16px;border-bottom:3px solid transparent;font-weight:700;white-space:nowrap;cursor:pointer}.cup-tabs button:hover,.cup-tabs button.is-active{color:var(--cup-blue);border-bottom-color:var(--cup-blue)}.cup-panel{display:none;padding:28px}.cup-panel.is-active{display:block}.cup-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.cup-cards article,.cup-card,.cup-course,.cup-announcements article{border:1px solid var(--cup-line);border-radius:12px;background:#fff}.cup-cards article{padding:18px}.cup-cards span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--cup-muted);font-weight:700;margin-bottom:8px}.cup-cards strong{font-size:18px;color:var(--cup-navy);line-height:1.25}.cup-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.cup-card{padding:22px}.cup-card h3,.cup-section-head h3{margin:0 0 16px;color:var(--cup-navy);font-size:21px}.cup-card p{line-height:1.6}.cup-card dl{margin:0}.cup-card dl div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--cup-line)}.cup-card dt{color:var(--cup-muted)}.cup-card dd{margin:0;font-weight:600;text-align:right}.cup-link{font-weight:700;color:var(--cup-blue);word-break:break-word}.cup-muted{color:var(--cup-muted);font-size:13px}.cup-status{font-size:12px;font-weight:700;padding:4px 8px;border-radius:99px;background:#e9eff5;color:#40566a}.cup-status-active,.cup-status-enrolled{color:#07634a;background:#def7ec}.cup-status-pending,.cup-status-waitlisted,.cup-status-on_leave{color:#8c5800;background:#fff1ce}.cup-status-withdrawn,.cup-status-inactive{color:#9c2941;background:#fde7ec}.cup-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.cup-section-head>span{color:var(--cup-muted);font-size:13px}.cup-table-wrap{overflow:auto;border:1px solid var(--cup-line);border-radius:12px}.cup-table{border-collapse:collapse;width:100%;min-width:680px;text-align:left}.cup-table th{background:var(--cup-soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#536372;padding:12px 15px}.cup-table td{padding:14px 15px;border-top:1px solid var(--cup-line);vertical-align:middle}.cup-table td strong,.cup-table td span{display:block}.cup-table td span{font-size:13px;color:var(--cup-muted);margin-top:3px}.cup-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.cup-course{padding:20px;display:flex;flex-direction:column}.cup-course-top{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:var(--cup-blue)}.cup-course h4{font-size:19px;line-height:1.3;color:var(--cup-navy);margin:13px 0 9px}.cup-course p{font-size:14px;line-height:1.5;color:#445565;flex:1}.cup-course p p{margin:0}.cup-course ul{list-style:none;padding:0;border-top:1px solid var(--cup-line);font-size:13px;color:#617080;margin:8px 0 17px}.cup-course li{padding:7px 0;border-bottom:1px solid #edf1f4}.cup-button{display:inline-block;background:var(--cup-blue);color:#fff!important;border:0!important;border-radius:7px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer;font-size:14px}.cup-button:hover{background:#0c528c}.cup-enrolled,.cup-closed{font-size:13px;font-weight:700;padding:9px 0}.cup-enrolled{color:#087354}.cup-closed{color:#9a3547}.cup-announcements{display:grid;gap:14px}.cup-announcements article{padding:20px}.cup-announcements time{display:block;color:var(--cup-teal);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.cup-announcements h4{color:var(--cup-navy);font-size:19px;margin:8px 0}.cup-announcements div{line-height:1.6}.cup-announcements div p:last-child{margin-bottom:0}.cup-empty{padding:20px;border-radius:10px;background:var(--cup-soft);color:var(--cup-muted)}.cup-auth{padding:36px;max-width:620px}.cup-auth h2{color:var(--cup-navy);margin-top:0}.cup-auth p{line-height:1.6;margin-bottom:20px}@media(max-width:850px){.cup-cards{grid-template-columns:repeat(2,1fr)}.cup-course-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.cup-portal{margin:16px 0;border-radius:0}.cup-hero{padding:25px;display:block}.cup-term{border-left:0;border-top:1px solid rgba(255,255,255,.35);margin-top:20px;padding:14px 0 0}.cup-panel{padding:20px}.cup-tabs{padding-left:14px}.cup-cards,.cup-grid,.cup-course-grid{grid-template-columns:1fr}.cup-section-head{display:block}.cup-section-head>span{display:block;margin-top:5px}.cup-card dl div{display:block}.cup-card dd{text-align:left;margin-top:5px}}
