.student-shell{max-width:760px;margin:auto;padding:24px 22px 32px}.student-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.wordmark{text-decoration:none;color:var(--g);letter-spacing:.22em;font-size:31px;font-weight:800;line-height:1.05}.wordmark span{display:block;font-size:9px;font-weight:500;letter-spacing:.28em;margin-top:5px}.student-header .btn{padding:10px 13px;font-size:12px}.welcome{padding:48px 0 24px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:14px}.welcome h1{font-family:Georgia,serif;font-weight:400;line-height:1.03;font-size:64px;color:var(--g);margin-bottom:20px}.welcome>p:last-child{font-size:16px;line-height:1.6;color:var(--muted)}.student-greeting{justify-content:space-between;margin:24px 0 14px}.student-greeting h2{margin:0;font-family:Georgia,serif;font-size:30px;font-weight:400}.text-button{background:none;border:0;color:var(--g);text-decoration:underline;font-size:13px;padding:8px;cursor:pointer}.access-card{border-radius:22px;background:var(--g);color:#fff;padding:26px;display:flex;justify-content:space-between;gap:15px}.access-card h2{font-size:28px;font-family:Georgia,serif;font-weight:400;margin-bottom:10px}.access-card p{margin-bottom:12px}.access-card small{opacity:.75;font-size:11px}.access-dot{width:12px;height:12px;border-radius:50%;background:#dbe7bc;flex-shrink:0;margin-top:4px}.schedule-section{margin:32px 0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 14px}.section-title h2{font-size:19px;margin:0}.section-title>span{font-size:11px}.day-tabs{display:flex;overflow-x:auto;gap:8px;padding-bottom:12px}.day-tabs button{border:1px solid var(--line);border-radius:999px;background:transparent;padding:9px 14px;color:var(--ink);cursor:pointer;white-space:nowrap;font-size:13px}.day-tabs button.active{background:var(--g);border-color:var(--g);color:#fff}.class-row{display:grid;grid-template-columns:65px 1fr auto;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.class-time{font-size:20px;color:var(--g);font-weight:500}.class-row h3{font-size:16px;margin-bottom:6px}.class-row p{font-size:13px;margin:0;color:var(--muted)}.class-row .pill{font-size:10px}.small{font-size:12px;line-height:1.5}.banner-list{display:grid;gap:16px}.ad-banner{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--sand)}.ad-banner img{width:100%;aspect-ratio:2.3/1;object-fit:cover;display:block}.ad-banner .ad-copy{padding:18px 20px}.ad-banner .ad-copy h3{margin-bottom:6px;font-family:Georgia,serif;font-size:25px;font-weight:400}.ad-banner .ad-copy p{font-size:11px;color:var(--muted)}.ad-banner a{display:inline-block;text-decoration:none;font-size:12px;margin-top:8px}.ad-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.notification-card{margin-top:28px;background:#f1ebdf;box-shadow:none}.notification-card h2{font-family:Georgia,serif;font-weight:400;font-size:28px}.notification-card p{line-height:1.55}.inbox-item{padding:16px 0;border-bottom:1px solid var(--line)}.inbox-item:last-child{border-bottom:0}.inbox-item h3{font-size:16px;margin:0 0 8px}.inbox-item p{font-size:14px;line-height:1.5;white-space:pre-wrap}.inbox-item small{font-size:11px;color:var(--muted)}.action-row{margin-top:16px}.btn:disabled{opacity:.55;cursor:wait}footer{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);text-align:center;font-size:13px;color:var(--g);line-height:1.8}footer small{color:var(--muted);font-size:10px}@media(max-width:440px){.student-shell{padding:20px 18px}.welcome{padding:38px 0 18px}.welcome h1{font-size:53px}.class-row{grid-template-columns:55px 1fr auto;gap:8px}.access-card{padding:22px}.class-time{font-size:18px}.section-title{flex-wrap:wrap}}

.class-row{grid-template-columns:60px minmax(0,1fr) auto}.class-row .btn{max-width:190px}.class-row .btn:disabled{opacity:.65;cursor:default}.reserved-label{color:var(--g);font-weight:600}.day-tabs{overflow-x:auto}.day-tabs button{flex-shrink:0} @media(max-width:560px){.class-row{grid-template-columns:50px minmax(0,1fr)}.class-row .btn{grid-column:2;max-width:100%;width:100%}}
