/* SDASU Academic Calendar – compact, theme-isolated front-end */
.sdac{--ac-bg:#fff;--ac-card:#fff;--ac-ink:#22272d;--ac-muted:#858a91;--ac-border:#e9e9e9;--ac-soft:#f8f8f8;--ac-accent:#df984f;--ac-accent-bg:#fff6ec;--ac-accent-border:#f3dac0;color:var(--ac-ink);font-family:inherit;font-size:13px;width:100%;max-width:1020px;margin:0 auto 28px;line-height:1.55}
.sdac *{box-sizing:border-box}
.sdac [hidden]{display:none!important}
.sdac button,.sdac select{font:inherit}
.sdac button{cursor:pointer}
.sdac-hero{border:1px solid var(--ac-border);border-radius:12px;padding:26px 28px;background:linear-gradient(116deg,var(--ac-card) 65%,var(--ac-accent-bg) 100%);display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px}
.sdac-kicker{font-size:10px;letter-spacing:.11em;font-weight:700;color:var(--ac-accent);display:flex;align-items:center;gap:7px;margin-bottom:7px}
.sdac-kicker-dot,.sdac-small-dot{width:7px;height:7px;background:var(--ac-accent);border-radius:100%;display:inline-block;flex-shrink:0}
.sdac-hero h2{font-family:inherit;font-size:24px!important;font-weight:760;line-height:1.4;margin:0 0 5px!important;letter-spacing:0;color:var(--ac-ink)}
.sdac-hero p{color:var(--ac-muted);font-size:12px;margin:0;max-width:560px;line-height:1.85}
.sdac-year-static,.sdac-year-chooser{min-width:146px;padding:10px 13px;border:1px solid var(--ac-accent-border);background:var(--ac-card);border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.sdac-year-static small,.sdac-year-chooser label{font-size:10px;color:var(--ac-muted);font-weight:500}
.sdac-year-static strong{font-size:17px;font-weight:750;color:var(--ac-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.sdac-year-chooser select{border:0;background:transparent;box-shadow:none!important;outline-color:var(--ac-accent);width:100%;padding:2px 10px 2px 0;font-size:15px;font-weight:700;color:var(--ac-ink)}
.sdac-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;margin-bottom:10px;border:1px solid var(--ac-border);background:var(--ac-card);border-radius:10px}
.sdac-tab-label{font-size:11px;font-weight:700;color:var(--ac-muted);white-space:nowrap}
.sdac-segment,.sdac-sem-switch{display:inline-flex;align-items:center;gap:4px;padding:3px;background:var(--ac-soft);border-radius:8px;border:1px solid var(--ac-border)}
.sdac-tab,.sdac-sem-switch button{border:0!important;background:transparent!important;box-shadow:none!important;text-transform:none!important;text-decoration:none!important;color:var(--ac-muted)!important;padding:8px 13px!important;font-size:11.5px!important;line-height:1.45!important;font-weight:650!important;border-radius:6px!important;min-height:0!important;margin:0!important;transition:background .17s,color .17s}
.sdac-tab:hover,.sdac-sem-switch button:hover{color:var(--ac-ink)!important}
.sdac-tab.is-active,.sdac-sem-switch button.is-active{background:var(--ac-card)!important;color:var(--ac-ink)!important;box-shadow:0 1px 3px rgba(20,20,20,.06)!important}
.sdac-tab.is-active{color:var(--ac-accent)!important}
.sdac-program{background:var(--ac-card);border:1px solid var(--ac-border);border-radius:11px;overflow:hidden}
.sdac-semester-top{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--ac-border);gap:14px}
.sdac-sem-switch button{padding:6px 12px!important}
.sdac-sem-heading{display:flex;justify-content:space-between;align-items:center;padding:17px 20px 12px;gap:16px}
.sdac-sem-heading>div{display:flex;align-items:center;gap:9px}
.sdac-sem-heading h3{font-family:inherit;font-size:15px!important;font-weight:720!important;margin:0!important;line-height:1.4;color:var(--ac-ink)}
.sdac-rows-count{font-size:10.5px;color:var(--ac-muted);white-space:nowrap}
.sdac-table-wrap{width:100%;padding:0 18px 17px;overflow:auto}
.sdac-table{width:100%;margin:0!important;border-collapse:separate!important;border-spacing:0!important;table-layout:fixed;border:1px solid var(--ac-border)!important;border-radius:8px;overflow:hidden;line-height:1.55;background:var(--ac-card)}
.sdac-table thead tr{background:var(--ac-soft)}
.sdac-table th,.sdac-table td{padding:10px 14px!important;border:0!important;border-bottom:1px solid var(--ac-border)!important;box-shadow:none!important;background:transparent!important;text-transform:none!important;vertical-align:middle!important}
.sdac-table tr:last-child>*{border-bottom:0!important}
.sdac-table thead th{font-size:10.5px!important;letter-spacing:0;color:var(--ac-muted)!important;font-weight:700!important;text-align:left!important}
.sdac-table th:first-child{width:56%}
.sdac-table thead th:nth-child(n+2),.sdac-table td{text-align:center!important}
.sdac-table tbody th{color:var(--ac-ink)!important;font-size:12px!important;font-weight:575!important;text-align:left!important}
.sdac-table tbody td{font-size:12px!important;font-weight:600;color:var(--ac-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.sdac-table tbody tr:hover{background:var(--ac-soft)}
.sdac-table tr.sdac-current{background:var(--ac-accent-bg)}
.sdac-event-title{display:inline}
.sdac-current-tag{font-size:9px;white-space:nowrap;display:inline-block;border:1px solid var(--ac-accent-border);background:var(--ac-card);padding:1px 6px;margin-left:9px;border-radius:20px;color:var(--ac-accent);font-weight:750;vertical-align:middle}
.sdac-holidays{background:var(--ac-card);border:1px solid var(--ac-border);border-radius:10px;margin-top:13px;overflow:hidden}
.sdac-holidays summary{display:flex;align-items:center;gap:10px;padding:14px 18px;list-style:none;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--ac-ink)}
.sdac-holidays summary::-webkit-details-marker{display:none}
.sdac-holiday-symbol{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border-radius:6px;background:var(--ac-accent-bg);color:var(--ac-accent);font-size:16px}
.sdac-holidays-count{margin-left:auto;font-size:10px;color:var(--ac-muted);font-weight:500}
.sdac-chevron{border:solid var(--ac-muted);border-width:0 1.5px 1.5px 0;padding:3px;transform:rotate(45deg);margin-left:8px;transition:transform .2s}
.sdac-holidays[open] .sdac-chevron{transform:rotate(225deg)}
.sdac-holiday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;border-top:1px solid var(--ac-border);padding:5px 18px 12px}
.sdac-holiday{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:9px;padding:9px 0;border-bottom:1px solid var(--ac-border);font-size:11.5px;line-height:1.7}
.sdac-holiday strong{font-size:11px;color:var(--ac-accent);font-weight:700}
.sdac-holiday span{color:var(--ac-ink)}
.sdac-note{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 3px;color:var(--ac-muted);font-size:10.5px}
.sdac-print{border:0!important;background:transparent!important;color:var(--ac-muted)!important;padding:3px 6px!important;box-shadow:none!important;font-size:11px!important;white-space:nowrap}
.sdac-print:hover{color:var(--ac-accent)!important}
.sdac-empty{color:#767676;padding:22px;border:1px dashed #ddd;border-radius:8px}
/* Accommodate the site's dark-mode toggles without forcing dark mode from OS preferences. */
body.dark .sdac,body.dark-mode .sdac,body.is-dark .sdac,[data-theme="dark"] .sdac,.sdac[data-theme="dark"]{--ac-bg:#000;--ac-card:#0c0c0c;--ac-ink:#f2f2f2;--ac-muted:#a1a1a1;--ac-border:#292929;--ac-soft:#171717;--ac-accent:#e8ab68;--ac-accent-bg:#21180f;--ac-accent-border:#55402a}
@media(max-width:750px){.sdac-hero{padding:20px}.sdac-hero h2{font-size:20px!important}.sdac-controls{flex-wrap:wrap;gap:10px}.sdac-segment{width:100%;display:flex}.sdac-tab{flex:1;padding:9px 6px!important}.sdac-holiday-grid{grid-template-columns:1fr}.sdac-holiday:last-child{border-bottom:0}}
@media(max-width:490px){.sdac{font-size:12px}.sdac-hero{flex-direction:column;align-items:stretch;gap:15px;padding:17px 16px}.sdac-year-static,.sdac-year-chooser{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.sdac-hero h2{font-size:18px!important}.sdac-hero p{font-size:11px}.sdac-controls{padding:12px}.sdac-tab{font-size:10px!important}.sdac-sem-heading{padding:15px 12px 10px}.sdac-sem-heading h3{font-size:13px!important}.sdac-semester-top{padding:11px 12px}.sdac-table-wrap{padding:0 9px 10px}.sdac-table th,.sdac-table td{padding:10px 7px!important}.sdac-table th:first-child{width:53%}.sdac-table tbody th{font-size:10.5px!important}.sdac-table tbody td{font-size:10px!important}.sdac-table thead th{font-size:9.5px!important}.sdac-current-tag{margin-left:3px}.sdac-holidays summary{padding:12px}.sdac-holiday-grid{padding:4px 12px 11px}.sdac-holiday{grid-template-columns:99px minmax(0,1fr);gap:7px}.sdac-note{align-items:flex-start}}
@media print{.sdac{max-width:none;color:#000!important;--ac-bg:#fff;--ac-card:#fff;--ac-ink:#000;--ac-muted:#555;--ac-border:#ddd;--ac-soft:#f7f7f7;--ac-accent-bg:#fff;--ac-accent:#a86a36}.sdac-hero{background:#fff;break-inside:avoid}.sdac-controls,.sdac-semester-top,.sdac-holidays,.sdac-print,.sdac-note{display:none!important}.sdac-program,.sdac-year{display:block!important}.sdac-program[hidden],.sdac-year[hidden]{display:none!important}.sdac-semester[hidden],.sdac-semester{display:block!important}.sdac-table{break-inside:avoid}.sdac *{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
