/* Exam Routine page — premium, readable, responsive cards */
#schedule .section-head{align-items:flex-start;gap:14px;margin-bottom:22px}
#schedule .section-head h1{letter-spacing:-.035em;margin:3px 0 6px}
#schedule .section-head .muted{max-width:620px;line-height:1.55}
#schedule .section-head>button{white-space:nowrap}
#schedule .panel:has(#fullSchedule){padding:clamp(14px,2.3vw,25px);overflow:hidden}
#schedule .schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:0 0 17px;margin-bottom:8px;border-bottom:1px solid #e6edf6;color:#5f7088}
#schedule #scheduleSummary{font-weight:750;color:#35516f;letter-spacing:.01em}
#schedule .searchbox{border:1px solid #dfe8f4;background:#f8fbff;border-radius:13px;min-height:43px;padding:0 12px;display:flex;align-items:center;gap:8px}
#schedule .searchbox input{background:transparent;min-height:40px;border:0;outline:none}
#schedule .routine-exam-card{display:flex;align-items:stretch;gap:15px;position:relative;padding:17px;margin:13px 0;border:1px solid #e4ebf5;border-radius:18px;background:linear-gradient(115deg,#fff 0%,#fbfdff 100%);box-shadow:0 4px 14px rgba(35,70,115,.045);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
#schedule .routine-exam-card:hover{border-color:#bdd4f4;box-shadow:0 9px 24px rgba(35,70,115,.09);transform:translateY(-1px)}
#schedule .routine-exam-card.is-next-exam{border-color:#a9c9fb;background:linear-gradient(115deg,#f1f7ff 0%,#fff 75%);box-shadow:0 7px 20px rgba(37,99,235,.09)}
#schedule .routine-exam-card.is-past{background:#fbfcfd}
#schedule .timeline-row:before{display:none}
#schedule .timeline-bullet{flex:0 0 54px;width:54px;min-width:54px;height:60px;align-self:flex-start;border:1px solid #d7e6fb;border-radius:14px;background:#eaf3ff;color:#1d5ba7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-shadow:none}
#schedule .timeline-bullet strong{font-size:22px;line-height:1.1;font-weight:850}
#schedule .timeline-bullet small{font-size:10px;line-height:1.3;text-transform:uppercase;font-weight:800;letter-spacing:.05em}
#schedule .is-next-exam .timeline-bullet{background:#2563eb;border-color:#2563eb;color:white}
#schedule .is-past .timeline-bullet{background:#eef2f6;border-color:#e3e8ef;color:#6b7d91}
#schedule .is-undated .timeline-bullet{background:#fff5e7;border-color:#f4dfb9;color:#98641a}
#schedule .coming-soon-mark{font-size:23px;font-weight:800}
#schedule .timeline-body{min-width:0;flex:1;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
#schedule .routine-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;flex-wrap:wrap}
#schedule .timeline-meta{font-size:12px;line-height:1.4;font-weight:750;color:#526b89}
#schedule .timeline-body h3{font-size:clamp(16px,1.5vw,19px);line-height:1.35;letter-spacing:-.015em;color:#193653;margin:0;font-weight:800;overflow-wrap:anywhere}
#schedule .routine-card-details{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
#schedule .routine-course-code,#schedule .routine-category{display:inline-flex;align-items:center;border-radius:8px;padding:5px 9px;font-size:11px;line-height:1.25;font-weight:750}
#schedule .routine-course-code{background:#eef4fb;color:#395777;border:1px solid #e1eaf5;letter-spacing:.02em}
#schedule .routine-category{background:#f2edff;color:#6a4b9e;border:1px solid #e8dfff}
#schedule .routine-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;line-height:1.2;font-weight:800;white-space:nowrap}
#schedule .status-next{background:#dceaff;color:#174fa4}
#schedule .status-upcoming{background:#e5f7ee;color:#21694c}
#schedule .status-done{background:#edf1f5;color:#64748b}
#schedule .status-soon{background:#fff1d9;color:#946018}
#schedule .routine-gap{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #dbeafe;border-radius:9px;background:#f2f7ff;color:#245a9b;font-size:12px;line-height:1.25;font-weight:800}
#schedule .routine-gap span{font-size:14px}
#schedule .is-next-exam .routine-gap{background:#e6efff;border-color:#ccdefd;color:#164d9e}
#schedule .is-past .routine-gap{background:#f3f5f7;border-color:#e7ebef;color:#64748b}
body.theme-dark #schedule .schedule-toolbar{border-color:var(--t-border);color:var(--t-secondary)}
body.theme-dark #schedule #scheduleSummary{color:var(--t-text)}
body.theme-dark #schedule .searchbox{background:var(--t-card);border-color:var(--t-border)}
body.theme-dark #schedule .routine-exam-card{background:var(--t-card)!important;border-color:var(--t-border)!important;box-shadow:0 8px 24px #0002!important}
body.theme-dark #schedule .routine-exam-card.is-next-exam{background:linear-gradient(115deg,#172f50,#1a2638)!important;border-color:#41689f!important}
body.theme-dark #schedule .timeline-body h3{color:var(--t-text)}
body.theme-dark #schedule .timeline-meta{color:var(--t-secondary)}
body.theme-dark #schedule .routine-course-code{background:#26384d;color:#d5e5fa;border-color:#344961}
body.theme-dark #schedule .routine-category{background:#342c4d;color:#e0d3ff;border-color:#4c416b}
body.theme-dark #schedule .routine-gap{background:#1c3555;color:#c7ddff;border-color:#34527b}
body.theme-dark #schedule .status-next{background:#244b7f;color:#d7e8ff}
body.theme-dark #schedule .status-upcoming{background:#204438;color:#bcebd4}
body.theme-dark #schedule .status-done{background:#303a48;color:#d0d8e2}
body.theme-dark #schedule .status-soon{background:#4a3921;color:#ffdfaa}
@media(max-width:760px){
 #schedule .section-head{gap:10px;margin-bottom:15px}
 #schedule .section-head>div{width:100%}
 #schedule .section-head h1{font-size:27px;line-height:1.2}
 #schedule .section-head .muted{font-size:13px;line-height:1.45}
 #schedule .section-head>button{flex:1 1 auto;padding:9px 8px;font-size:12px}
 #schedule .panel:has(#fullSchedule){padding:12px}
 #schedule .schedule-toolbar{gap:10px;padding-bottom:12px;align-items:stretch}
 #schedule .schedule-toolbar{flex-direction:column}
 #schedule .searchbox{width:100%;box-sizing:border-box}
 #schedule .searchbox input{width:100%;min-width:0;font-size:14px}
 #schedule .routine-exam-card{gap:11px;padding:12px;margin:10px 0;border-radius:15px}
 #schedule .timeline-bullet{flex-basis:45px;width:45px;min-width:45px;height:52px;border-radius:12px}
 #schedule .timeline-bullet strong{font-size:19px}
 #schedule .timeline-bullet small{font-size:9px}
 #schedule .timeline-body{gap:7px}
 #schedule .routine-card-top{align-items:flex-start}
 #schedule .timeline-meta{font-size:11px;max-width:100%}
 #schedule .timeline-body h3{font-size:15px;line-height:1.35}
 #schedule .routine-course-code,#schedule .routine-category{font-size:10px;padding:5px 7px}
 #schedule .routine-status{font-size:9px;padding:5px 7px}
 #schedule .routine-gap{font-size:11px;padding:5px 8px}
}
@media(max-width:380px){
 #schedule .routine-exam-card{gap:8px;padding:10px}
 #schedule .timeline-bullet{flex-basis:39px;width:39px;min-width:39px;height:47px}
 #schedule .timeline-bullet strong{font-size:17px}
 #schedule .routine-card-top{gap:6px}
 #schedule .routine-status{white-space:normal}
}
