.university-schedule[data-schedule-theme="mist"],
.university-schedule:not([data-schedule-theme]) { --schedule-ink:#555651; --schedule-soft:#e9e9e5; --schedule-card-1:#e7e7e3; --schedule-card-2:#eeeeeb; --schedule-card-3:#dedfda; --schedule-card-text:#51524e; }
.university-schedule[data-schedule-theme="ink"] { --schedule-ink:#3f403d; --schedule-soft:#deded9; --schedule-card-1:#d8d8d3; --schedule-card-2:#e5e5e1; --schedule-card-3:#cfcfca; --schedule-card-text:#393a37; }
.university-schedule[data-schedule-theme="blue"] { --schedule-ink:#4e5960; --schedule-soft:#e7ecee; --schedule-card-1:#e1e8ea; --schedule-card-2:#edf0ef; --schedule-card-3:#d8e1e3; --schedule-card-text:#465258; }
.university-schedule .course-block.rose,
.university-schedule .course-block.leaf,
.university-schedule .course-block.lemon,
.university-schedule .course-block.sand,
.university-schedule .course-block.sky,
.university-schedule .course-block.lilac { background:var(--schedule-card-1);color:var(--schedule-card-text); }
.university-schedule .term-date-strip { border-color:var(--schedule-soft); }
.university-schedule .period-axis strong,.university-schedule .term-date-strip strong { color:var(--schedule-ink); }
#openScheduleTheme { display:grid;place-items:center; }
#openScheduleTheme svg { width:15px;height:15px; }
.schedule-head-actions { gap:7px; }
.schedule-head-actions button,
.schedule-head-actions button:first-child { width:34px;height:34px;border:1px solid #e2e2de;border-radius:12px;background:#eeeeeb;color:#62635f;box-shadow:0 3px 9px rgba(40,40,35,.035);font-size:13px;transition:transform .16s,background .16s; }
.schedule-head-actions button:hover { background:#e5e5e1;transform:translateY(-1px); }
.schedule-head-actions button:active { transform:scale(.94); }
.schedule-head-actions button svg { width:15px;height:15px; }
.schedule-head-actions #openClassEditor { border-color:#353533;background:#353533;color:#fff;font-size:18px; }
.university-schedule>header>button { border:1px solid #e2e2de;background:#eeeeeb;box-shadow:none; }
.university-schedule>header .week-picker { border:0;background:#eeeeeb; }
.app-modal { place-items:center!important;background:rgba(25,25,23,.08); }
.app-modal .modal-panel { width:min(100%,430px);height:100dvh;max-height:100dvh;padding:18px;border-radius:0;overflow-y:auto; }
.app-modal .modal-close { position:relative;z-index:50;margin-bottom:4px;background:#eeeeeb;box-shadow:none; }
.app-modal .university-schedule { height:calc(100dvh - 64px); }
@media (min-width:431px){.app-modal .modal-panel{height:calc(100dvh - 36px);max-height:calc(100dvh - 36px);border-radius:38px}.app-modal .university-schedule{height:calc(100dvh - 100px)}}
.schedule-theme-panel { position:absolute;z-index:40;inset:0;padding:16px 18px 24px;background:#f7f7f5;overflow-y:auto; }
.schedule-theme-panel[hidden] { display:none!important; }
.schedule-theme-panel>header { position:sticky;top:0;z-index:2;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:2px 0 15px;background:#f7f7f5; }
.schedule-theme-panel>header button { width:34px;height:34px;border:0;border-radius:11px;background:#e9e9e5;color:#666;font-size:16px; }
.schedule-theme-panel>header span,.schedule-theme-panel>header strong { display:block; }
.schedule-theme-panel>header span { color:#aaa;font-size:6px;letter-spacing:.14em; }
.schedule-theme-panel>header strong { margin-top:4px;font-size:15px; }
.schedule-theme-panel>span { display:block;margin:13px 0 8px;color:#999;font-size:7px;letter-spacing:.1em; }
.schedule-theme-presets { display:grid;grid-template-columns:repeat(3,1fr);gap:7px; }
.schedule-theme-presets button { height:72px;padding:9px;border:1px solid #deded9;border-radius:15px;background:#fff;color:#666;font-size:7px; }
.schedule-theme-presets button::before { content:'';display:block;height:29px;margin-bottom:8px;border-radius:9px;background:linear-gradient(90deg,#e7e7e3 0 32%,#eee 32% 66%,#dedfda 66%); }
.schedule-theme-presets button[data-theme="ink"]::before { background:linear-gradient(90deg,#d8d8d3 0 32%,#e5e5e1 32% 66%,#cfcfca 66%); }
.schedule-theme-presets button[data-theme="blue"]::before { background:linear-gradient(90deg,#e1e8ea 0 32%,#edf0ef 32% 66%,#d8e1e3 66%); }
.schedule-theme-presets button.selected { border-color:#777;box-shadow:inset 0 0 0 1px #777; }
.schedule-theme-panel textarea { box-sizing:border-box;width:100%;min-height:180px;padding:12px;border:1px solid #deded9;border-radius:15px;background:#fff;outline:0;resize:vertical;font:7px/1.55 ui-monospace,monospace; }
.schedule-css-actions { display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px; }
.schedule-css-actions button,.schedule-theme-panel>button { height:38px;border:0;border-radius:12px;background:#e7e7e3;color:#666;font-size:7px; }
.schedule-css-actions button:last-child { background:#292927;color:#fff; }
.schedule-theme-panel > #resetScheduleStyle,
.schedule-theme-panel > #restoreScheduleBackup { display:block;width:100%;margin-top:9px;border:1px solid #deded9;border-radius:13px; }
.schedule-theme-panel > #resetScheduleStyle { background:#eeeeeb;color:#666; }
.schedule-theme-panel > #restoreScheduleBackup { margin-top:7px;background:#fff;color:#4f504c;box-shadow:0 3px 10px rgba(40,40,35,.035); }
.schedule-theme-panel > #resetScheduleStyle:active,
.schedule-theme-panel > #restoreScheduleBackup:active { transform:scale(.985); }
.schedule-theme-panel>small { display:block;margin-top:9px;color:#999;font-size:6px;line-height:1.55; }
