.schedule-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:4px; }
.schedule-card { --schedule-accent:#75a7ff; display:grid; align-content:start; gap:0; padding:20px; border:1px solid #2c3747; border-radius:12px; background:linear-gradient(145deg,#121923,#0e131b); }
.schedule-card.live-card { --schedule-accent:#d08cff; border-color:#3d334d; background:linear-gradient(145deg,#181321,#10131b); }
.schedule-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.schedule-card h3 { margin:2px 0 0; font-size:23px; }
.schedule-card .schedule-card-toggle { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; min-width:0; padding:0; border:0; border-radius:0; background:none; color:var(--text); font:inherit; text-align:left; box-shadow:none; cursor:pointer; }.schedule-card-toggle:hover { color:#fff; }.schedule-card-toggle > span:first-child { min-width:0; }.schedule-card-toggle .kicker,.schedule-card-toggle strong { display:block; }.schedule-card-toggle .kicker { color:var(--schedule-accent); }.schedule-card-toggle strong { margin-top:3px; font-size:22px; line-height:1.15; }.schedule-toggle-end { display:flex; flex:0 0 auto; align-items:center; gap:12px; }.schedule-card .status { max-width:220px; padding:5px 10px; border:1px solid #394555; background:#202936; color:#aeb9c7; line-height:1.25; text-align:center; white-space:normal; }.schedule-card.live-card .status { border-color:#4a3c5d; background:#292135; }.schedule-card .status.live { border-color:#286849; background:#153b2c; color:var(--green); }.schedule-chevron { color:var(--schedule-accent); font-size:21px; line-height:.7; transition:transform .2s ease; }.schedule-card.is-open .schedule-chevron { transform:rotate(180deg); }.schedule-card-content { display:grid; gap:16px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }.schedule-card-content[hidden] { display:none; }
.schedule-card .check { min-height:24px; }
.schedule-dates { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.url-control { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; }
.color-control { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }.color-control input[type="color"] { flex:0 0 52px; width:52px; height:43px; padding:4px; cursor:pointer; }.color-control #accent-color { flex:0 0 118px; width:118px; font-family:ui-monospace,SFMono-Regular,monospace; text-transform:uppercase; }.clear-color { min-height:43px; margin-left:2px; padding:0 14px; border:1px solid var(--line); background:#1a2230; color:var(--text); font:inherit; font-weight:800; }.clear-color:hover { border-color:var(--cyan); color:var(--cyan); }
.test-link { display:inline-flex; align-items:center; gap:6px; min-height:43px; padding:0 14px; border:1px solid var(--line); border-radius:8px; background:#1a2230; color:var(--text); font-weight:850; }
.test-link:hover { border-color:var(--cyan); color:var(--cyan); }
.table-action { display:inline-flex; align-items:center; justify-content:center; min-width:66px; min-height:34px; padding:7px 12px; border:1px solid var(--line); border-radius:7px; background:#1a2230; color:var(--text); font:inherit; font-size:13px; font-weight:850; line-height:1; cursor:pointer; }
.edit-action:hover { border-color:var(--cyan); color:var(--cyan); }
.delete-action { border-color:#713248; background:#351824; color:#ff9fbe; }
.delete-action:hover { border-color:var(--pink); background:#4b1d2e; color:#fff; }
.close-button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 15px; border:1px solid #536174; border-radius:8px; background:#202936; color:var(--text); font-weight:850; }
.close-button:hover { border-color:var(--cyan); color:var(--cyan); background:#17212d; }
.header-action { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 14px; border:1px solid var(--line); border-radius:8px; background:#18202b; color:var(--text); font:inherit; font-size:13px; font-weight:850; line-height:1; cursor:pointer; }
.view-site-action:hover { border-color:var(--cyan); color:var(--cyan); }
.logout-action { border-color:#633044; background:#2e1821; color:#ffacc7; }
.logout-action:hover { border-color:var(--pink); background:#451d2c; color:#fff; }
.hint code { padding:1px 5px; border-radius:4px; background:#0b0f15; color:#c5d1df; font-family:ui-monospace,SFMono-Regular,monospace; }
.throwback-panel { --tbt-accent:#f6b84a; --tbt-secondary:#8e75ff; display:grid; gap:0; border-color:#4b3e28; background:linear-gradient(145deg,#201a13,#171521 72%); box-shadow:inset 0 1px #f6b84a14; }
.throwback-panel-head { margin:0; }
.throwback-content { display:grid; gap:18px; margin-top:18px; }
.throwback-content[hidden] { display:none; }
.throwback-tools { display:flex; justify-content:flex-end; margin-top:-4px; }
.throwback-toggle { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:40px; padding:8px 15px; border:1px solid #5b4b2c; border-radius:8px; background:#332714; color:var(--tbt-accent); font:inherit; font-weight:850; cursor:pointer; }
.throwback-toggle:hover { border-color:var(--tbt-accent); color:#fff; }
.throwback-chevron { font-size:20px; line-height:.7; transition:transform .2s ease; }
.throwback-panel.is-open .throwback-chevron { transform:rotate(180deg); }
.throwback-panel .kicker { color:var(--tbt-accent); }
.throwback-track { display:flex; align-items:center; gap:16px; padding:17px; border:1px solid #4b3e28; border-radius:10px; background:#12101799; }
.throwback-track strong,.throwback-track span { display:block; }.throwback-track span { color:var(--muted); margin-top:2px; }
.throwback-details { min-width:0; }
.throwback-year { align-self:stretch; display:grid; grid-template-columns:auto auto; align-items:center; gap:10px; min-width:178px; margin:-17px -17px -17px auto; padding:12px 22px; border-left:1px solid #5b492a; border-radius:0 10px 10px 0; background:linear-gradient(135deg,#342510,#211a22); text-align:right; box-shadow:inset 1px 0 #f6b84a14; }
.throwback-year small { color:var(--tbt-accent); font-size:10px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.throwback-year strong { color:#fff3d6; font-size:clamp(34px,4vw,52px); font-weight:950; letter-spacing:-.06em; line-height:1; text-shadow:0 0 24px #f6b84a38; }
.throwback-position { display:grid!important; place-items:center; flex:0 0 44px; width:44px; height:44px; margin:0!important; border-radius:50%; background:var(--tbt-accent); color:#181108!important; font-size:19px; font-weight:950; box-shadow:0 0 20px #f6b84a33; }
.throwback-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.throwback-panel .primary { background:var(--tbt-accent); color:#181108; }
.throwback-panel .test-link { border-color:#4f4776; background:#211d35; color:#c9c0ff; }
.throwback-panel .test-link:hover { border-color:var(--tbt-secondary); color:#fff; }
.throwback-refresh { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 15px; border:1px solid #5b4b2c; border-radius:8px; background:#332714; color:var(--tbt-accent); font:inherit; font-weight:850; cursor:pointer; }
.throwback-refresh:hover { border-color:var(--tbt-accent); background:#433017; color:#fff; }
.throwback-refresh:disabled { opacity:.6; cursor:wait; }
.settings-save { position:sticky; bottom:16px; z-index:4; display:flex; justify-content:flex-end; margin-top:4px; padding:12px; border:1px solid #28d7e540; border-radius:12px; background:#101720e8; box-shadow:0 12px 34px #0008; backdrop-filter:blur(12px); }
.save-settings-button { position:relative; min-height:46px; padding:12px 24px; background:var(--cyan); box-shadow:0 0 0 1px #28d7e5,0 0 20px #28d7e570,0 0 48px #28d7e530; transition:transform .2s ease,box-shadow .2s ease; }
.save-settings-button::after { content:""; position:absolute; inset:-5px; z-index:-1; border-radius:12px; background:#28d7e535; filter:blur(9px); }
.save-settings-button:hover { transform:translateY(-1px); box-shadow:0 0 0 1px #7cebf2,0 0 26px #28d7e590,0 0 58px #28d7e54a; }
.editor-save { position:sticky; bottom:16px; z-index:4; display:flex; justify-content:flex-end; margin-top:4px; padding:12px; border:1px solid #28d7e540; border-radius:12px; background:#101720e8; box-shadow:0 12px 34px #0008; backdrop-filter:blur(12px); }
.update-button { position:relative; min-width:128px; min-height:46px; padding:12px 24px; background:var(--cyan); box-shadow:0 0 0 1px #28d7e5,0 0 20px #28d7e570,0 0 48px #28d7e530; transition:transform .2s ease,box-shadow .2s ease; }
.update-button::after { content:""; position:absolute; inset:-5px; z-index:-1; border-radius:12px; background:#28d7e535; filter:blur(9px); }
.update-button:hover { transform:translateY(-1px); box-shadow:0 0 0 1px #7cebf2,0 0 26px #28d7e590,0 0 58px #28d7e54a; }

.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}

.pagination a,
.pagination span {
    min-width: 40px;
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    text-align: center;
    background:#10151d;
    font-weight:750;
}

.pagination a:hover,
.pagination a.active {
    border-color: var(--cyan);
    background: var(--cyan);
    color: #061014;
    font-weight: 900;
}

.pagination .disabled {
    color: var(--muted);
    opacity: .45;
}

.pagination .pagination-nav { min-width:40px; width:40px; padding-inline:0; font-size:18px; }

.topbar {
    height: 86px;
    background: linear-gradient(145deg, #0d1118, #080a0e);
}

.admin-brand {
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 950;
    letter-spacing: -1.8px;
}

.admin-brand small {
    font-size: 10px;
    letter-spacing: .12em;
}

.admin-wrap {
    margin-top: 34px;
}

.archive-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 34px 0 14px;
}

.archive-toolbar .primary { margin-left:auto; }

.archive-toolbar h2 {
    margin: 2px 0 0;
    font-size: 28px;
}

@media (max-width: 700px) {
    .schedule-cards,
    .schedule-dates {
        grid-template-columns: 1fr;
    }

    .schedule-card-head {
        flex-direction: column;
    }

    .schedule-card .schedule-card-toggle {
        align-items: flex-start;
    }

    .schedule-toggle-end {
        align-items: flex-end;
        flex-direction: column-reverse;
        gap: 8px;
    }

    .schedule-card .status {
        max-width: 170px;
    }

    .topbar {
        height: 74px;
    }

    .topbar > div {
        gap: 12px;
    }

    .archive-toolbar {
        margin-top: 28px;
    }

    .pagination {
        flex-wrap: wrap;
    }

    .color-control {
        flex-wrap: nowrap;
    }

    .clear-color {
        padding-inline: 10px;
        white-space: nowrap;
    }

    .throwback-track {
        flex-wrap: wrap;
    }

    .throwback-details {
        flex: 1 1 calc(100% - 60px);
    }

    .throwback-year {
        grid-template-columns: auto 1fr;
        width: calc(100% + 34px);
        min-width: 0;
        margin: 1px -17px -17px;
        padding: 12px 17px;
        border-top: 1px solid #5b492a;
        border-left: 0;
        border-radius: 0 0 10px 10px;
        text-align: left;
    }

    .throwback-year strong {
        text-align: right;
    }

    .settings-save {
        bottom: 8px;
    }

    .save-settings-button {
        width: 100%;
    }

    .editor-save {
        bottom: 8px;
    }

    .update-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .save-settings-button,
    .update-button {
        transition: none;
    }
}
