@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

:root {
    --bg-base: #d7dad4;
    --bg-soft: #e4e7e2;
    --bg-cool: #d8dee5;
    --surface: #dde2dc;
    --surface-soft: #e7ebe5;
    --surface-muted: #d1d8cf;
    --text: #2f3a35;
    --text-soft: #5e6c66;
    --text-faint: #79857f;
    --line-soft: rgba(116, 130, 120, 0.24);
    --line-strong: rgba(103, 116, 108, 0.38);
    --accent: #9bb5a5;
    --accent-2: #9db7c7;
    --accent-warm: #c5b39f;
    --accent-danger: #c99797;
    --accent-ok: #9ec2a8;
    --radius: 24px;
    --radius-sm: 14px;
    --shadow-raised: -8px -8px 18px rgba(255, 255, 255, 0.82), 10px 10px 20px rgba(148, 156, 148, 0.46);
    --shadow-soft: -4px -4px 10px rgba(255, 255, 255, 0.74), 6px 6px 12px rgba(149, 158, 149, 0.34);
    --shadow-pressed: inset 3px 3px 7px rgba(144, 153, 143, 0.43), inset -3px -3px 7px rgba(255, 255, 255, 0.84);
    --font-main: "Manrope", "Avenir Next", "Nunito Sans", "Trebuchet MS", sans-serif;
}

/* Responsive admin tables + filters: slot builder */

@media (max-width: 980px) {
    body.role-admin.page-slot-builder:not(.landing-master) .table-wrap {
        overflow-x: visible !important;
    }

    body.role-admin.page-slot-builder:not(.landing-master) .table-wrap table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
    }

    body.role-admin.page-slot-builder:not(.landing-master) .table-wrap table thead {
        display: none;
    }

    body.role-admin.page-slot-builder:not(.landing-master) .table-wrap table tbody tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.35rem;
        padding: 0.65rem 0.7rem;
        margin-bottom: 0.65rem;
        border-radius: 14px;
    }

    body.role-admin.page-slot-builder:not(.landing-master) .table-wrap table tbody tr td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 0.32rem 0.3rem !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 0 !important;
        border-bottom: 1px dashed rgba(169, 186, 228, 0.55) !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.role-admin.page-slot-builder:not(.landing-master) .table-wrap table tbody tr td:last-child {
        border-bottom: 0 !important;
    }

    body.role-admin.page-slot-builder:not(.landing-master) .table-wrap table tbody tr td[data-label]::before {
        content: attr(data-label);
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #4c6396;
        flex: 0 0 auto;
    }

    body.role-admin.page-slot-builder:not(.landing-master) .table-wrap table tbody tr td[data-label="Action"] {
        justify-content: flex-start;
    }
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}

body {
    color: var(--text);
    font-family: var(--font-main);
    letter-spacing: 0.01em;
    background:
        radial-gradient(1100px circle at 12% -4%, #f2f4f1 0%, transparent 56%),
        radial-gradient(900px circle at 100% 0%, #dde4ec 0%, transparent 52%),
        radial-gradient(700px circle at 60% 105%, #d9ddd6 0%, transparent 48%),
        linear-gradient(145deg, var(--bg-base), var(--bg-soft) 58%, #d2d7cf 100%);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -3;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.46) 1px, transparent 0);
    background-size: 24px 24px;
    opacity: 0.2;
}

body.app-auth-loading {
    cursor: progress;
}

.auth-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(14, 22, 44, 0.48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

body.app-auth-loading .auth-loading-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.auth-loading-card {
    width: min(360px, 92vw);
    border-radius: 20px;
    border: 1px solid rgba(206, 218, 245, 0.86);
    background: linear-gradient(160deg, #ffffff, #eef3ff);
    box-shadow: 0 24px 44px rgba(10, 20, 44, 0.32);
    padding: 1rem 1.05rem;
    display: grid;
    justify-items: center;
    gap: 0.5rem;
    text-align: center;
}

.auth-loading-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid rgba(99, 102, 241, 0.2);
    border-top-color: #7BC2F2;
    border-radius: 50%;
    animation: authLoadingSpin 0.75s linear infinite;
}

.auth-loading-title {
    color: #1f2b51;
    font-size: 1.1rem;
    letter-spacing: 0.01em;
}

.auth-loading-subtitle {
    color: #617198;
    font-size: 0.85rem;
}

.auth-loading-bar {
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: rgba(187, 198, 235, 0.5);
    position: relative;
    overflow: hidden;
}

.auth-loading-bar::after {
    content: "";
    position: absolute;
    top: 0;
    left: -42%;
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #338FD0, #7BC2F2);
    animation: authLoadingBar 1.2s ease-in-out infinite;
}

@keyframes authLoadingSpin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes authLoadingBar {
    0% {
        left: -42%;
    }
    100% {
        left: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .auth-loading-spinner,
    .auth-loading-bar::after {
        animation: none;
    }
}

::selection {
    background: rgba(145, 176, 160, 0.45);
    color: #202924;
}

a {
    color: #435c67;
}

a:hover {
    color: #30444d;
}

h1,
h2,
h3 {
    margin: 0 0 0.48rem;
    color: var(--text);
    line-height: 1.22;
}

p {
    margin: 0 0 0.68rem;
    color: var(--text-soft);
}

small {
    color: var(--text-faint);
}

.ambient-bg {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -2;
    overflow: hidden;
}

.orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: 0.55;
    animation: orbDrift 18s ease-in-out infinite;
}

.orb-a {
    width: 260px;
    height: 260px;
    left: -60px;
    top: 120px;
    background: radial-gradient(circle, rgba(157, 184, 210, 0.54), transparent 68%);
}

.orb-b {
    width: 220px;
    height: 220px;
    right: 50px;
    top: 50px;
    background: radial-gradient(circle, rgba(168, 193, 170, 0.52), transparent 70%);
    animation-duration: 22s;
}

.orb-c {
    width: 240px;
    height: 240px;
    right: 22%;
    bottom: -70px;
    background: radial-gradient(circle, rgba(189, 176, 202, 0.48), transparent 70%);
    animation-duration: 24s;
}

.container {
    width: min(1240px, 94vw);
    margin: 1.35rem auto 3.1rem;
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 1rem;
}

.page-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.panel {
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    background: linear-gradient(155deg, var(--surface-soft), var(--surface));
    box-shadow: var(--shadow-raised);
    padding: 1rem 1.15rem;
    position: relative;
    overflow: hidden;
    animation: panelIn 0.48s cubic-bezier(0.2, 0.62, 0.28, 1) both;
}

.panel::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: calc(var(--radius) - 1px);
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.panel:hover {
    box-shadow: -10px -10px 22px rgba(255, 255, 255, 0.86), 12px 12px 24px rgba(139, 150, 139, 0.5);
}

.page-grid > .panel:nth-child(2) {
    animation-delay: 0.06s;
}

.page-grid > .panel:nth-child(3) {
    animation-delay: 0.12s;
}

.page-grid > .panel:nth-child(4) {
    animation-delay: 0.18s;
}

.panel-wide {
    grid-column: span 2;
}

.topbar {
    width: min(1240px, 95vw);
    margin: 1rem auto 0;
    border-radius: 22px;
    border: 1px solid var(--line-soft);
    background: linear-gradient(145deg, #e8ece7, #d8ddd6);
    box-shadow: var(--shadow-raised);
    padding: 0.9rem 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.brand-wrap {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-width: 0;
}

.brand {
    text-decoration: none;
    color: #3b5349;
    font-weight: 800;
    letter-spacing: 0.03em;
    padding: 0.42rem 0.74rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #edf2ec, #cfd6cd);
    box-shadow: var(--shadow-soft);
    white-space: nowrap;
}

.page-title-wrap {
    min-width: 0;
}

.page-title-wrap h1 {
    margin: 0;
    font-size: 1.02rem;
    color: #34403a;
    overflow-wrap: anywhere;
}

.page-title-wrap p {
    margin: 0.16rem 0 0;
    color: var(--text-soft);
    font-size: 0.79rem;
}

.top-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.main-nav {
    display: flex;
    gap: 0.38rem;
    flex-wrap: wrap;
}

.main-nav a {
    text-decoration: none;
    color: #51605a;
    padding: 0.36rem 0.62rem;
    border-radius: 999px;
    border: 1px solid transparent;
    background: linear-gradient(145deg, #e7ebe6, #d5dbd3);
    box-shadow: var(--shadow-soft);
    font-size: 0.8rem;
}

.main-nav a:hover {
    color: #2f3c36;
    border-color: var(--line-strong);
}

.role-icons {
    display: flex;
    gap: 0.36rem;
}

.role-logo {
    text-decoration: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #4a5a53;
    font-size: 0.75rem;
    font-weight: 700;
    border: 1px solid var(--line-soft);
    background: linear-gradient(145deg, #e9ede8, #d4dad2);
    box-shadow: var(--shadow-soft);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.role-logo:hover {
    transform: translateY(-2px);
}

.role-logo.is-active {
    color: #26312c;
    border-color: rgba(116, 137, 126, 0.55);
    background: linear-gradient(145deg, #bdd0c4, #9fb8aa);
    box-shadow: -3px -3px 8px rgba(255, 255, 255, 0.7), 6px 6px 12px rgba(142, 154, 142, 0.45);
}

.avatar-chip {
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    padding: 0.24rem 0.58rem 0.24rem 0.24rem;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    background: linear-gradient(145deg, #ebefea, #d3d8d1);
    box-shadow: var(--shadow-soft);
}

.avatar-chip:hover {
    border-color: var(--line-strong);
}

.avatar-dot {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 800;
    color: #27322d;
    background: linear-gradient(145deg, var(--avatar-color, #9cb8a5), #b5ccbd);
    box-shadow: inset -2px -2px 4px rgba(255, 255, 255, 0.45), inset 2px 2px 4px rgba(100, 119, 108, 0.34);
}

.avatar-meta {
    display: grid;
    min-width: 0;
}

.avatar-meta strong {
    font-size: 0.77rem;
    line-height: 1.15;
    color: #314039;
}

.avatar-meta small {
    font-size: 0.68rem;
    color: var(--text-faint);
}

.btn {
    border: 1px solid rgba(105, 127, 116, 0.42);
    border-radius: 999px;
    padding: 0.56rem 1.04rem;
    background: linear-gradient(145deg, var(--accent), #a8c0b1);
    color: #29342f;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    box-shadow: var(--shadow-soft);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.btn:hover {
    transform: translateY(-1px);
    filter: saturate(1.08);
}

.btn:active {
    transform: translateY(0);
    box-shadow: var(--shadow-pressed);
}

.btn-outline {
    background: linear-gradient(145deg, #e8ece7, #d4dad2);
    color: #3a4741;
    border-color: rgba(108, 123, 113, 0.38);
}

.btn-danger {
    background: linear-gradient(145deg, #d2acac, #c79595);
    color: #382626;
    border-color: rgba(132, 93, 93, 0.42);
}

.flash-stack {
    width: min(1240px, 94vw);
    margin: 0.82rem auto 0;
    display: grid;
    gap: 0.52rem;
}

.flash {
    border-radius: var(--radius-sm);
    padding: 0.64rem 0.8rem;
    border: 1px solid var(--line-soft);
    background: linear-gradient(145deg, #e8ece7, #d7ddd5);
    box-shadow: var(--shadow-soft);
    color: #3a4741;
}

.flash-success {
    border-color: rgba(111, 149, 119, 0.4);
}

.flash-error {
    border-color: rgba(150, 102, 102, 0.42);
}

.kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0.32rem 0.62rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #e9edf7, #d8dfea);
    border: 1px solid rgba(124, 144, 162, 0.34);
    color: #4f5f6b;
    font-size: 0.71rem;
    letter-spacing: 0.04em;
    margin-bottom: 0.58rem;
}

.pill-row {
    display: flex;
    gap: 0.44rem;
    flex-wrap: wrap;
}

.pill {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: #4d5f58;
    padding: 0.31rem 0.65rem;
    border-radius: 999px;
    border: 1px solid var(--line-soft);
    background: linear-gradient(145deg, #e8ece7, #d5dbd3);
    box-shadow: var(--shadow-soft);
    font-size: 0.74rem;
}

.pill-button {
    cursor: pointer;
    font: inherit;
}

.pill-active {
    color: #29342f;
    border-color: rgba(113, 132, 120, 0.46);
    background: linear-gradient(145deg, #bbccc1, #a4b9ad);
}

.pill-button:focus-visible,
.btn:focus-visible,
.main-nav a:focus-visible,
.pill:focus-visible,
.role-logo:focus-visible,
.avatar-chip:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 2px solid rgba(113, 142, 159, 0.64);
    outline-offset: 2px;
}

.tab-panel {
    margin-top: 0.75rem;
}

.tab-panel[hidden] {
    display: none !important;
}

.split-cards,
.metric-grid,
.action-grid,
.option-grid {
    display: grid;
    gap: 0.7rem;
}

.split-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.9rem;
}

.metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.action-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.option-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.review-option-grid {
    margin-bottom: 0.9rem;
}

.mini-card,
.metric-card,
.action-tile {
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-sm);
    padding: 0.74rem;
    background: linear-gradient(145deg, #e9ede7, #d6ddd4);
    box-shadow: var(--shadow-soft);
}

.generate-ai-summary {
    display: grid;
    gap: 0.45rem;
    margin: 0.7rem 0 0.85rem;
}

.generate-ai-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
}

.generate-ai-summary-text {
    margin: 0;
}

.generate-option-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.38rem;
    margin-top: 0.55rem;
    font-size: 0.75rem;
    color: #4f5e57;
}

.generate-option-metrics span {
    padding: 0.36rem 0.42rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.56);
    border: 1px solid rgba(112, 126, 117, 0.22);
}

.generate-option-highlights {
    margin: 0.65rem 0 0;
    padding-left: 1rem;
    color: #4a5952;
    font-size: 0.77rem;
}

.generate-option-highlights li + li {
    margin-top: 0.22rem;
}

.option-assignment-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.48rem;
    margin-top: 0.7rem;
}

.option-summary-block {
    padding: 0.5rem 0.55rem;
    border-radius: 12px;
    border: 1px solid rgba(112, 126, 117, 0.18);
    background: rgba(255, 255, 255, 0.5);
}

.option-summary-block strong {
    display: block;
    margin-bottom: 0.34rem;
    font-size: 0.78rem;
    color: #32443c;
}

.option-summary-list {
    margin: 0;
    padding-left: 1rem;
    color: #4e5e57;
    font-size: 0.75rem;
    line-height: 1.42;
}

.option-summary-list li + li {
    margin-top: 0.18rem;
}

.checkbox-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.35rem;
    color: #46564f;
    font-size: 0.78rem;
    line-height: 1.4;
}

.checkbox-inline input {
    margin: 0;
}

.metric-card strong {
    font-size: 1.45rem;
    line-height: 1.15;
    color: #33423b;
}

.metric-card span {
    display: block;
    color: var(--text-faint);
    font-size: 0.78rem;
}

.action-tile {
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.action-tile:hover {
    transform: translateY(-2px);
    border-color: rgba(104, 127, 141, 0.45);
}

.role-switch {
    display: flex;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 0.8rem;
    box-shadow: var(--shadow-pressed);
}

.role-btn {
    flex: 1;
    border: 0;
    background: linear-gradient(145deg, #e9ede8, #d6ddd4);
    color: #596a63;
    padding: 0.54rem 0.62rem;
    cursor: pointer;
    font: inherit;
}

.role-btn.is-active {
    color: #29342f;
    font-weight: 700;
    background: linear-gradient(145deg, #b9ccc0, #a2b8ab);
}

.form-grid {
    display: grid;
    gap: 0.66rem;
}

.form-grid.two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.role-admin.page-slot-builder:not(.landing-master) .slot-builder-filter-form,
body.role-admin.page-slot-builder:not(.landing-master) .slot-builder-editor-form {
    gap: 0.55rem 0.65rem;
    margin: 0;
}

body.role-admin.page-slot-builder:not(.landing-master) .slot-builder-filter-form {
    align-items: end;
    margin-bottom: 0.35rem;
}

body.role-admin.page-slot-builder:not(.landing-master) .slot-builder-semester-field,
body.role-admin.page-slot-builder:not(.landing-master) .slot-builder-tiffin-field,
body.role-admin.page-slot-builder:not(.landing-master) .slot-builder-slots-field {
    grid-column: 1 / -1;
}

body.role-admin.page-slot-builder:not(.landing-master) .slot-builder-apply-btn {
    width: 100%;
    min-height: 3rem;
    grid-column: 1 / -1;
}

body.role-admin.page-slot-builder:not(.landing-master) .slot-builder-editor-form .btn {
    width: 100%;
    min-height: 3.1rem;
}

label {
    display: grid;
    gap: 0.28rem;
    color: #43514b;
    font-size: 0.8rem;
}

.fixed-slot-selector {
    display: grid;
    gap: 0.35rem;
    color: #43514b;
    font-size: 0.8rem;
}

.fixed-slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.44rem;
}

.fixed-slot-option {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0.44rem;
    padding: 0.44rem 0.56rem;
    border-radius: 12px;
    border: 1px solid var(--line-soft);
    background: linear-gradient(145deg, #e9ede8, #d6ddd4);
    box-shadow: var(--shadow-soft);
    font-size: 0.75rem;
    color: #42504a;
}

.fixed-slot-option input {
    width: auto;
    margin: 0;
}

.fixed-slot-option.is-tiffin-slot {
    opacity: 0.74;
    border-style: dashed;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    width: 100%;
    border-radius: 12px;
    border: 1px solid var(--line-soft);
    background: linear-gradient(155deg, #edf1eb, #d8dfd6);
    color: var(--text);
    padding: 0.58rem 0.68rem;
    font: inherit;
    box-shadow: var(--shadow-pressed);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

input::placeholder,
textarea::placeholder {
    color: #79857f;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: #7f9eae;
    box-shadow: none;
    transform: translateY(0.5px);
}

select[multiple] {
    min-height: 7.6rem;
    padding-right: 0.44rem;
}

textarea {
    resize: vertical;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: rgba(107, 130, 145, 0.54);
    box-shadow: inset 1px 1px 3px rgba(149, 159, 149, 0.34), inset -1px -1px 3px rgba(255, 255, 255, 0.72), 0 0 0 2px rgba(141, 165, 179, 0.28);
}

.table-wrap {
    overflow-x: auto;
    padding-bottom: 0.12rem;
}

table {
    width: 100%;
    min-width: 620px;
    border-collapse: separate;
    border-spacing: 0 0.44rem;
}

th,
td {
    text-align: left;
    padding: 0.56rem 0.54rem;
    font-size: 0.79rem;
    vertical-align: top;
}

thead th {
    color: #6f7d77;
    font-size: 0.71rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border: 0;
    padding-bottom: 0.35rem;
}

tbody tr {
    background: linear-gradient(148deg, #e9ede8, #d7ddd5);
    box-shadow: var(--shadow-soft);
}

tbody tr td {
    border-top: 1px solid rgba(255, 255, 255, 0.48);
    border-bottom: 1px solid rgba(125, 138, 128, 0.22);
}

tbody tr td:first-child {
    border-left: 1px solid rgba(129, 143, 132, 0.22);
    border-radius: 12px 0 0 12px;
}

tbody tr td:last-child {
    border-right: 1px solid rgba(129, 143, 132, 0.22);
    border-radius: 0 12px 12px 0;
}

.routine-table {
    min-width: 980px;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid rgba(124, 137, 127, 0.34);
    border-radius: 18px;
    overflow: hidden;
    background: #edf0eb;
    color: #2f3a35;
    box-shadow: var(--shadow-pressed);
}

.routine-table tbody tr {
    background: transparent;
    box-shadow: none;
}

.routine-table tbody tr td,
.routine-table tbody tr th,
.routine-table tbody tr td:first-child,
.routine-table tbody tr td:last-child {
    border-radius: 0;
}

.routine-table th,
.routine-table td {
    border: 1px solid rgba(125, 138, 129, 0.3);
    padding: 0.42rem 0.44rem;
    font-size: 0.71rem;
    color: inherit;
}

.routine-table thead th {
    background: #ccd7cd;
    color: #37423d;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.routine-table .routine-title {
    background: linear-gradient(145deg, #b9cabf, #a8bbad);
    color: #2a3630;
    font-weight: 800;
    text-align: center;
}

.routine-table .day-cell {
    background: linear-gradient(145deg, #d8e0d8, #c8d2c9);
    text-align: center;
    font-weight: 700;
}

.routine-table .time-label-cell {
    background: linear-gradient(145deg, #d6dde4, #c4ced8);
    text-align: center;
    font-weight: 700;
    text-transform: uppercase;
}

.routine-table .routine-cell {
    background: var(--slot-color, #e8ede6);
    text-align: center;
}

.routine-table .tiffin-cell {
    background: #ece5bc;
    font-weight: 700;
    text-transform: uppercase;
}

.routine-table .admin-cell {
    background: #e3d6c8;
    font-weight: 700;
    text-transform: uppercase;
}

.routine-table .cell-line {
    display: block;
    line-height: 1.3;
}

.routine-table .cell-line small {
    display: block;
    font-size: 0.62rem;
}

.routine-table .empty-slot {
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #5f6f68;
}

.routine-table .muted {
    color: #5b6661;
}

.badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.7rem;
    padding: 0.2rem 0.44rem;
    border-radius: 999px;
    border: 1px solid rgba(112, 126, 117, 0.36);
    background: linear-gradient(145deg, #e7ebe5, #d4dcd2);
    color: #4a5952;
    box-shadow: var(--shadow-soft);
}

.badge-soft {
    border-color: rgba(76, 107, 150, 0.28);
    background: linear-gradient(145deg, #eef4ff, #dbe8ff);
    color: #35558b;
}

.list-clean {
    margin: 0;
    padding-left: 1rem;
    color: var(--text-soft);
}

.demo-box,
.suggestion-box {
    border: 1px dashed rgba(114, 128, 118, 0.46);
    border-radius: 12px;
    padding: 0.62rem 0.68rem;
    background: linear-gradient(145deg, #e9ede8, #d6ddd4);
    box-shadow: var(--shadow-pressed);
    color: #485750;
}

.suggestion-box {
    white-space: pre-wrap;
    font-size: 0.78rem;
    line-height: 1.42;
}

.inline-actions {
    display: flex;
    gap: 0.54rem;
    align-items: center;
    flex-wrap: wrap;
}

.inline-actions a {
    text-decoration: none;
    color: #40514a;
    padding: 0.34rem 0.58rem;
    border-radius: 999px;
    border: 1px solid var(--line-soft);
    background: linear-gradient(145deg, #e8ece7, #d4dad2);
    box-shadow: var(--shadow-soft);
}

.class-pill {
    border-radius: 10px;
    border: 1px solid rgba(118, 132, 123, 0.3);
    padding: 0.36rem;
    margin-bottom: 0.32rem;
    background: linear-gradient(145deg, #e9ede8, #d6ddd4);
    box-shadow: var(--shadow-soft);
    display: grid;
    gap: 0.2rem;
}

.class-pill strong {
    color: #43564e;
    font-size: 0.74rem;
}

.class-pill small {
    color: #6f7e77;
    font-size: 0.66rem;
}

.slot-label {
    font-weight: 700;
    color: #485951;
}

.muted {
    color: #71827a;
}

.danger-zone {
    margin-top: 0.7rem;
}

.compact-form {
    margin-top: 0.44rem;
}

.auth-panel,
.hero-panel {
    min-height: 490px;
}

@keyframes orbDrift {
    0%,
    100% {
        transform: translateY(0) translateX(0);
    }
    50% {
        transform: translateY(-16px) translateX(8px);
    }
}

@keyframes panelIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.table-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.table-toolbar-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.7rem;
    flex: 1 1 480px;
}

.table-toolbar-form label {
    flex: 1 1 240px;
    min-width: min(240px, 100%);
}

.table-toolbar-form input[type="search"] {
    width: 100%;
}

.table-toolbar-meta {
    color: var(--text-soft);
    font-size: 0.84rem;
    line-height: 1.5;
}

.pagination-wrap {
    margin-top: 0.95rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.pagination-summary {
    color: var(--text-soft);
    font-size: 0.82rem;
    line-height: 1.45;
}

.pagination-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.pagination-pages {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.pagination-link {
    min-width: 2.8rem;
    justify-content: center;
}

.pagination-link.is-current,
.pagination-link.is-disabled {
    pointer-events: none;
}

.pagination-link.is-disabled {
    opacity: 0.58;
}

.pagination-ellipsis {
    align-self: center;
    color: var(--text-faint);
    font-weight: 700;
    padding: 0 0.1rem;
}

@media (max-width: 760px) {
    .table-toolbar-form,
    .pagination-wrap,
    .pagination-nav {
        width: 100%;
    }

    .pagination-nav {
        justify-content: flex-start;
    }
}

@media (max-width: 1080px) {
    .hero-grid,
    .page-grid,
    .form-grid.two-col,
    .split-cards {
        grid-template-columns: 1fr;
    }

    .panel-wide {
        grid-column: span 1;
    }

    .topbar {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .top-actions {
        justify-content: flex-start;
    }

    .auth-panel,
    .hero-panel {
        min-height: 0;
    }

    .override-day-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .container,
    .flash-stack {
        width: min(96vw, 620px);
    }

    .panel {
        border-radius: 18px;
        padding: 0.88rem 0.9rem;
    }

    .btn {
        padding: 0.54rem 0.9rem;
    }

    table {
        min-width: 560px;
    }

    .routine-table {
        min-width: 860px;
    }

    .page-title-wrap h1 {
        font-size: 0.95rem;
    }
}

/* Dark Neumorphic Theme Override (visual-only, no data/markup changes) */
:root {
    --bg-base: #0E2633;
    --bg-soft: #12313F;
    --bg-cool: #183E50;
    --surface: #1B485D;
    --surface-soft: #21596F;
    --surface-muted: #153847;
    --text: #eaf0ff;
    --text-soft: #b7c2df;
    --text-faint: #8f9abb;
    --line-soft: rgba(155, 214, 226, 0.22);
    --line-strong: rgba(143, 213, 221, 0.38);
    --accent: #49A7D6;
    --accent-2: #8ECBF6;
    --accent-warm: #8FD5DD;
    --accent-danger: #5DAAC7;
    --accent-ok: #62CDBC;
    --shadow-raised: -8px -8px 16px rgba(255, 255, 255, 0.04), 12px 14px 30px rgba(5, 7, 16, 0.82), 0 0 0 1px rgba(175, 191, 230, 0.09);
    --shadow-soft: -4px -4px 10px rgba(255, 255, 255, 0.035), 7px 8px 16px rgba(3, 5, 12, 0.72), 0 0 0 1px rgba(165, 183, 224, 0.09);
    --shadow-pressed: inset 3px 3px 8px rgba(6, 8, 18, 0.88), inset -3px -3px 8px rgba(200, 215, 255, 0.05);
}

body {
    color: var(--text);
    background:
        radial-gradient(980px circle at 8% -8%, rgba(221, 195, 137, 0.19) 0%, transparent 62%),
        radial-gradient(900px circle at 100% 0%, rgba(101, 148, 229, 0.16) 0%, transparent 56%),
        radial-gradient(840px circle at 52% 100%, rgba(88, 123, 201, 0.14) 0%, transparent 62%),
        linear-gradient(155deg, #0f121d 0%, #181e2c 38%, #14192a 100%);
}

body::before {
    z-index: -3;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.08) 1px, transparent 0),
        radial-gradient(circle at 2px 2px, rgba(255, 218, 148, 0.055) 1px, transparent 0);
    background-size: 30px 30px, 54px 54px;
    opacity: 0.55;
}

::selection {
    background: rgba(102, 156, 246, 0.38);
    color: #f9fbff;
}

a {
    color: #9fbcf8;
}

a:hover {
    color: #c7d9ff;
}

h1,
h2,
h3 {
    color: #f1f5ff;
}

p,
small,
.muted {
    color: var(--text-soft);
}

.ambient-bg {
    z-index: -2;
}

.orb {
    opacity: 0.65;
    filter: blur(1px);
}

.orb-a {
    background: radial-gradient(circle, rgba(93, 132, 210, 0.44), transparent 68%);
}

.orb-b {
    background: radial-gradient(circle, rgba(214, 186, 129, 0.38), transparent 70%);
}

.orb-c {
    background: radial-gradient(circle, rgba(132, 166, 228, 0.34), transparent 70%);
}

.container {
    width: min(1260px, 95vw);
    margin: 1.3rem auto 3.1rem;
    padding: 1rem;
    border-radius: 30px;
    border: 1px solid rgba(212, 190, 141, 0.22);
    background: linear-gradient(145deg, rgba(29, 35, 50, 0.78), rgba(19, 24, 36, 0.86));
    box-shadow: 0 0 0 1px rgba(110, 140, 206, 0.16), 0 24px 44px rgba(2, 4, 12, 0.8), 0 0 40px rgba(93, 132, 210, 0.13);
}

.panel {
    border-color: var(--line-soft);
    background: linear-gradient(152deg, #303a54 0%, #242c42 46%, #21283d 100%);
    box-shadow: var(--shadow-raised), 0 0 22px rgba(96, 138, 221, 0.11);
}

.panel::after {
    border-color: rgba(255, 223, 156, 0.14);
}

.panel:hover {
    box-shadow: var(--shadow-raised), 0 0 30px rgba(112, 156, 243, 0.2);
}

.topbar {
    border-color: rgba(226, 204, 152, 0.25);
    background: linear-gradient(150deg, #2e3852 0%, #232b40 100%);
    box-shadow: var(--shadow-raised), 0 0 26px rgba(111, 152, 236, 0.15);
}

.brand {
    color: #eef3ff;
    background: linear-gradient(145deg, #354465, #28344d);
    box-shadow: var(--shadow-soft), 0 0 12px rgba(212, 186, 132, 0.24);
}

.page-title-wrap h1 {
    color: #f3f6ff;
}

.page-title-wrap p {
    color: #b7c4e2;
}

.main-nav a {
    color: #bcc9e6;
    border-color: rgba(160, 177, 214, 0.15);
    background: linear-gradient(145deg, #313a54, #252d42);
    box-shadow: var(--shadow-soft);
}

.main-nav a:hover {
    color: #ecf2ff;
    border-color: rgba(213, 190, 142, 0.42);
    box-shadow: var(--shadow-soft), 0 0 11px rgba(108, 151, 238, 0.23);
}

.role-logo {
    color: #c5d2ef;
    border-color: rgba(175, 190, 223, 0.24);
    background: linear-gradient(145deg, #323b56, #1B485D);
    box-shadow: var(--shadow-soft);
}

.role-logo.is-active {
    color: #0e1320;
    border-color: rgba(235, 208, 151, 0.6);
    background: linear-gradient(145deg, #e3cc98, #c5a86a);
    box-shadow: 0 0 0 1px rgba(248, 228, 185, 0.25), 0 8px 16px rgba(8, 10, 20, 0.5);
}

.avatar-chip {
    border-color: rgba(169, 185, 220, 0.24);
    background: linear-gradient(145deg, #323b55, #262f43);
    box-shadow: var(--shadow-soft);
}

.avatar-chip:hover {
    border-color: rgba(214, 190, 143, 0.4);
}

.avatar-dot {
    color: #f7f9ff;
    background: linear-gradient(145deg, var(--avatar-color, #49A7D6), #3a649f);
    box-shadow: inset -2px -2px 4px rgba(145, 180, 243, 0.28), inset 2px 2px 5px rgba(11, 18, 33, 0.65);
}

.avatar-meta strong {
    color: #ecf2ff;
}

.avatar-meta small {
    color: #a7b3d2;
}

.btn {
    border-color: rgba(193, 173, 130, 0.45);
    background: linear-gradient(145deg, #4670ad 0%, #3a5f95 55%, #3b5f90 100%);
    color: #F2FCFF;
    box-shadow: var(--shadow-soft), 0 0 10px rgba(115, 160, 246, 0.38);
}

.btn:hover {
    filter: saturate(1.1);
    box-shadow: var(--shadow-soft), 0 0 15px rgba(117, 166, 255, 0.55), 0 0 26px rgba(222, 198, 146, 0.22);
}

.btn:active {
    box-shadow: var(--shadow-pressed), 0 0 8px rgba(101, 147, 236, 0.28);
}

.btn-outline {
    color: #d5e0f9;
    border-color: rgba(165, 182, 216, 0.35);
    background: linear-gradient(145deg, #2f3954, #242d41);
}

.btn-danger {
    color: #fff3f6;
    border-color: rgba(183, 121, 133, 0.48);
    background: linear-gradient(145deg, #8e4855, #743a45);
    box-shadow: var(--shadow-soft), 0 0 10px rgba(187, 105, 120, 0.26);
}

.flash {
    border-color: rgba(168, 186, 223, 0.26);
    background: linear-gradient(145deg, #303a54, #232c40);
    color: #dbe5ff;
}

.flash-success {
    border-color: rgba(133, 193, 163, 0.45);
}

.flash-error {
    border-color: rgba(189, 118, 131, 0.46);
}

.kicker {
    background: linear-gradient(145deg, #3a4a6f, #2f3d5e);
    border-color: rgba(205, 184, 137, 0.36);
    color: #dfc68f;
    box-shadow: var(--shadow-soft);
}

.pill {
    color: #cad6f3;
    border-color: rgba(161, 178, 214, 0.25);
    background: linear-gradient(145deg, #323b56, #252e43);
    box-shadow: var(--shadow-soft);
}

.pill-active {
    color: #0f1728;
    border-color: rgba(221, 198, 149, 0.66);
    background: linear-gradient(145deg, #dfc68f, #c4a56d);
    box-shadow: 0 0 0 1px rgba(239, 220, 181, 0.2), 0 0 16px rgba(221, 194, 131, 0.2);
}

.role-switch {
    border-color: rgba(154, 171, 206, 0.3);
    background: linear-gradient(145deg, #2a3247, #222a3d);
}

.role-btn {
    background: linear-gradient(145deg, #313a55, #252d42);
    color: #afbddf;
}

.role-btn.is-active {
    color: #f2f6ff;
    background: linear-gradient(145deg, #4b78b8, #3d659d);
    box-shadow: inset 0 0 0 1px rgba(194, 212, 248, 0.35), 0 0 12px rgba(111, 156, 246, 0.36);
}

label,
.fixed-slot-selector,
.fixed-slot-option,
.override-day-toggle {
    color: #d2def9;
}

.fixed-slot-option,
.override-day-row,
.override-time-dropdown,
.mini-card,
.metric-card,
.action-tile,
.badge,
.inline-actions a,
.class-pill,
.demo-box,
.suggestion-box {
    border-color: rgba(160, 178, 214, 0.25);
    background: linear-gradient(145deg, #2f3851, #242c40);
    box-shadow: var(--shadow-soft);
    color: #d9e5ff;
}

.override-day-row.has-active-day {
    border-color: rgba(208, 186, 139, 0.48);
    background: linear-gradient(145deg, #374668, #29344f);
}

.override-time-dropdown {
    box-shadow: var(--shadow-pressed);
}

.override-time-dropdown > summary {
    color: #d7e4ff;
}

.override-time-dropdown > summary::after {
    color: #e1c98f;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    border-color: rgba(160, 178, 214, 0.28);
    background: linear-gradient(152deg, #242c3f, #1b2233);
    color: #ecf2ff;
    box-shadow: var(--shadow-pressed);
}

input::placeholder,
textarea::placeholder {
    color: #97a4c5;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: #72a9ff;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    border-color: rgba(223, 198, 143, 0.7);
    box-shadow: var(--shadow-pressed), 0 0 0 2px rgba(109, 154, 241, 0.34), 0 0 16px rgba(108, 157, 251, 0.3);
}

thead th {
    color: #95a6cf;
}

tbody tr {
    background: linear-gradient(148deg, #2f3852, #232b3f);
    box-shadow: var(--shadow-soft);
}

tbody tr td {
    border-top: 1px solid rgba(193, 209, 239, 0.08);
    border-bottom: 1px solid rgba(12, 18, 31, 0.6);
}

tbody tr td:first-child {
    border-left-color: rgba(168, 185, 221, 0.24);
}

tbody tr td:last-child {
    border-right-color: rgba(168, 185, 221, 0.24);
}

.routine-table {
    border-color: rgba(177, 194, 229, 0.25);
    background: #12313F;
    color: #e6edff;
    box-shadow: var(--shadow-pressed), 0 0 18px rgba(102, 145, 227, 0.18);
}

.routine-table th,
.routine-table td {
    border-color: rgba(146, 164, 199, 0.24);
}

.routine-table thead th {
    background: #21596F;
    color: #dbe6ff;
}

.routine-table .routine-title {
    background: linear-gradient(145deg, #4e79b7, #3c6198);
    color: #f4f8ff;
}

.routine-table .day-cell {
    background: linear-gradient(145deg, #354464, #2a344c);
}

.routine-table .time-label-cell {
    background: linear-gradient(145deg, #35435f, #2b3449);
}

.routine-table .routine-cell {
    background: var(--slot-color, #252f45);
}

.routine-table .tiffin-cell {
    background: #8f7a4e;
    color: #fff5de;
}

.routine-table .admin-cell {
    background: #506484;
    color: #eef4ff;
}

.routine-table .empty-slot {
    color: #a4b2d5;
}

.routine-table .muted {
    color: #b7c4e3;
}

.metric-card strong,
.class-pill strong,
.slot-label {
    color: #edf3ff;
}

.metric-card span,
.class-pill small,
.muted,
.list-clean {
    color: #a8b6d7;
}

.suggestion-box {
    color: #d3def8;
}

.inline-actions a {
    color: #dbe7ff;
}

.danger-zone {
    margin-top: 0.72rem;
}

.pill-button:focus-visible,
.btn:focus-visible,
.main-nav a:focus-visible,
.pill:focus-visible,
.role-logo:focus-visible,
.avatar-chip:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 2px solid rgba(108, 154, 246, 0.72);
    outline-offset: 2px;
}

@media (max-width: 760px) {
    .container {
        width: min(97vw, 680px);
        padding: 0.74rem;
        border-radius: 22px;
    }
}

/* Navbar layout correction */
.topbar {
    width: min(1260px, 96vw);
    grid-template-columns: minmax(360px, auto) minmax(0, 1fr);
    gap: 0.9rem;
}

.brand-wrap {
    max-width: min(46vw, 680px);
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: center;
}

.brand {
    max-width: min(38vw, 420px);
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-title-wrap {
    min-width: 0;
    max-width: 100%;
}

.page-title-wrap h1,
.page-title-wrap p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.top-actions {
    min-width: 0;
    justify-content: flex-end;
    gap: 0.5rem;
}

.main-nav {
    min-width: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    padding: 0.08rem 0.12rem 0.14rem;
}

.main-nav a {
    white-space: nowrap;
}

@media (max-width: 1360px) {
    .topbar {
        grid-template-columns: 1fr;
    }

    .brand-wrap {
        max-width: 100%;
    }

    .brand {
        max-width: min(64vw, 460px);
    }

    .top-actions {
        justify-content: flex-start;
    }

    .main-nav {
        flex-wrap: wrap;
        overflow: visible;
        padding: 0;
    }
}

@media (max-width: 760px) {
    .brand-wrap {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }

    .brand {
        max-width: 100%;
    }

    .page-title-wrap h1,
    .page-title-wrap p {
        white-space: normal;
    }
}

/* Midnight Blue Neon Final Override */
:root {
    --bg-base: #0A202B;
    --bg-soft: #0E2C39;
    --bg-cool: #123E50;
    --surface: #15495F;
    --surface-soft: #1A5D74;
    --surface-muted: #113846;
    --text: #e7efff;
    --text-soft: #b2c0e6;
    --text-faint: #8596c4;
    --line-soft: rgba(143, 206, 236, 0.24);
    --line-strong: rgba(125, 219, 209, 0.42);
    --accent: #4AB3DB;
    --accent-2: #97DFFF;
    --accent-warm: #7BD9D0;
    --accent-danger: #57A5C6;
    --accent-ok: #4BCABC;
    --shadow-raised: -6px -6px 14px rgba(126, 163, 255, 0.08), 14px 16px 34px rgba(2, 6, 20, 0.86), 0 0 0 1px rgba(126, 157, 228, 0.14);
    --shadow-soft: -3px -3px 8px rgba(125, 162, 245, 0.08), 8px 9px 18px rgba(2, 6, 18, 0.74), 0 0 0 1px rgba(125, 159, 231, 0.12);
    --shadow-pressed: inset 3px 3px 7px rgba(1, 5, 16, 0.86), inset -3px -3px 7px rgba(140, 176, 249, 0.06);
}

html,
body {
    overflow-x: hidden;
}

body {
    color: var(--text);
    background:
        radial-gradient(900px circle at 12% -8%, rgba(34, 80, 189, 0.42) 0%, transparent 55%),
        radial-gradient(700px circle at 86% 8%, rgba(196, 90, 165, 0.22) 0%, transparent 56%),
        radial-gradient(900px circle at 50% 108%, rgba(43, 97, 222, 0.35) 0%, transparent 60%),
        linear-gradient(155deg, #050b1f 0%, #0B202C 44%, #0A202B 100%);
}

body::before {
    z-index: -3;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(180, 205, 255, 0.07) 1px, transparent 0),
        radial-gradient(circle at 2px 2px, rgba(226, 123, 191, 0.04) 1px, transparent 0);
    background-size: 26px 26px, 54px 54px;
    opacity: 0.66;
}

a {
    color: #a5c2ff;
}

a:hover {
    color: #c8d9ff;
}

h1,
h2,
h3 {
    color: #f0f5ff;
}

p {
    color: #adbee6;
}

small,
.muted {
    color: #8ca0cf;
}

.container {
    width: min(1240px, 94vw);
    margin: 1.25rem auto 3rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.panel {
    border-color: rgba(139, 170, 243, 0.28);
    background: linear-gradient(156deg, #122a5f 0%, #102552 38%, #0d1f45 100%);
    box-shadow: var(--shadow-raised), 0 0 20px rgba(86, 127, 236, 0.18);
}

.panel::after {
    border-color: rgba(188, 204, 250, 0.1);
}

.panel:hover {
    box-shadow: var(--shadow-raised), 0 0 26px rgba(93, 138, 254, 0.26), 0 0 16px rgba(120, 221, 209, 0.13);
}

.topbar {
    width: min(1260px, 96vw);
    margin: 0.9rem auto 1rem;
    padding: 0.82rem 0.96rem;
    border-radius: 22px;
    border: 1px solid rgba(140, 171, 245, 0.34);
    background: linear-gradient(152deg, rgba(18, 41, 91, 0.96), rgba(9, 22, 54, 0.96));
    box-shadow: 0 14px 28px rgba(2, 7, 20, 0.72), 0 0 0 1px rgba(126, 160, 235, 0.16), 0 0 22px rgba(96, 140, 249, 0.2);
    display: grid;
    grid-template-columns: minmax(240px, auto) minmax(0, 1fr);
    gap: 0.78rem 0.95rem;
    align-items: center;
    overflow: hidden;
}

.brand-wrap {
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: center;
    gap: 0.72rem;
}

.brand {
    max-width: min(44vw, 430px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #ecf3ff;
    border: 1px solid rgba(148, 180, 246, 0.32);
    background: linear-gradient(145deg, #1a3570, #122651);
    box-shadow: var(--shadow-soft), 0 0 12px rgba(92, 138, 255, 0.28);
}

.page-title-wrap {
    min-width: 0;
}

.page-title-wrap h1,
.page-title-wrap p {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.page-title-wrap h1 {
    color: #eef4ff;
}

.page-title-wrap p {
    margin-top: 0.16rem;
    color: #aebfe8;
}

.top-actions {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: 0.5rem;
    align-items: center;
    justify-content: end;
}

.main-nav {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.42rem;
    overflow: visible;
    max-width: 100%;
}

.topbar .main-nav {
    overflow-x: hidden !important;
}

.main-nav a {
    white-space: nowrap;
    color: #cad9fb;
    border-color: rgba(133, 165, 236, 0.3);
    background: linear-gradient(145deg, #18356f, #12264f);
    box-shadow: var(--shadow-soft);
}

.main-nav a:hover {
    color: #f0f5ff;
    border-color: rgba(120, 221, 209, 0.58);
    box-shadow: var(--shadow-soft), 0 0 13px rgba(95, 141, 255, 0.34);
}

.role-icons {
    gap: 0.42rem;
}

.role-logo {
    color: #c8d7fa;
    border-color: rgba(132, 165, 236, 0.36);
    background: linear-gradient(145deg, #17346d, #12264f);
    box-shadow: var(--shadow-soft);
}

.role-logo.is-active {
    color: #fff6fd;
    border-color: rgba(152, 219, 231, 0.68);
    background: linear-gradient(145deg, #d76db2, #a24f88);
    box-shadow: 0 0 0 1px rgba(242, 178, 220, 0.22), 0 0 13px rgba(120, 221, 209, 0.42);
}

.avatar-chip {
    border-color: rgba(132, 165, 236, 0.34);
    background: linear-gradient(145deg, #17346d, #12264f);
    box-shadow: var(--shadow-soft);
}

.avatar-chip:hover {
    border-color: rgba(226, 127, 191, 0.55);
}

.avatar-dot {
    background: linear-gradient(145deg, #5fd2ff, #3a8cf0);
    box-shadow: inset -2px -2px 4px rgba(170, 224, 255, 0.28), inset 2px 2px 5px rgba(3, 21, 52, 0.6);
}

.avatar-meta strong {
    color: #f0f5ff;
}

.avatar-meta small {
    color: #9fb1dc;
}

.btn {
    border-color: rgba(135, 169, 240, 0.48);
    background: linear-gradient(145deg, #2a5bb2 0%, #214b99 60%, #1d448e 100%);
    color: #f1f6ff;
    box-shadow: var(--shadow-soft), 0 0 10px rgba(92, 140, 255, 0.44);
}

.btn:hover {
    box-shadow: var(--shadow-soft), 0 0 16px rgba(95, 143, 255, 0.62), 0 0 18px rgba(120, 221, 209, 0.22);
}

.btn-outline {
    color: #d6e3ff;
    border-color: rgba(132, 165, 236, 0.4);
    background: linear-gradient(145deg, #17346d, #11244b);
}

.btn-danger {
    color: #fff1f5;
    border-color: rgba(208, 114, 146, 0.52);
    background: linear-gradient(145deg, #9c3f63, #7b314f);
}

.kicker {
    background: linear-gradient(145deg, #23499b, #1a3878);
    border-color: rgba(152, 219, 231, 0.42);
    color: #ffd7f0;
}

.pill,
.badge,
.inline-actions a,
.class-pill,
.mini-card,
.metric-card,
.action-tile,
.demo-box,
.suggestion-box,
.fixed-slot-option,
.override-day-row,
.override-time-dropdown {
    color: #d7e4ff;
    border-color: rgba(132, 165, 236, 0.28);
    background: linear-gradient(145deg, #143066, #10244c);
    box-shadow: var(--shadow-soft);
}

.pill-active {
    color: #fff3fc;
    border-color: rgba(232, 141, 202, 0.62);
    background: linear-gradient(145deg, #db6fb5, #aa538d);
    box-shadow: 0 0 0 1px rgba(244, 186, 225, 0.2), 0 0 15px rgba(229, 127, 192, 0.34);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    color: #e7efff;
    border-color: rgba(132, 165, 236, 0.32);
    background: linear-gradient(152deg, #102348, #0c1c3c);
    box-shadow: var(--shadow-pressed);
}

input::placeholder,
textarea::placeholder {
    color: #8ea3d1;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: #67d2ff;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    border-color: rgba(96, 220, 255, 0.82);
    box-shadow: var(--shadow-pressed), 0 0 0 2px rgba(90, 196, 255, 0.36), 0 0 16px rgba(89, 165, 255, 0.42);
}

thead th {
    color: #95aad8;
}

tbody tr {
    background: linear-gradient(148deg, #143066, #10234a);
    box-shadow: var(--shadow-soft);
}

tbody tr td {
    border-top: 1px solid rgba(173, 198, 248, 0.08);
    border-bottom: 1px solid rgba(2, 8, 23, 0.66);
}

.routine-table {
    border-color: rgba(130, 164, 238, 0.3);
    background: #0c1d3f;
    color: #e8f0ff;
    box-shadow: var(--shadow-pressed), 0 0 17px rgba(89, 131, 236, 0.22);
}

.routine-table th,
.routine-table td {
    border-color: rgba(130, 164, 238, 0.24);
}

.routine-table thead th {
    background: #17346d;
    color: #dcebff;
}

.routine-table .routine-title {
    background: linear-gradient(145deg, #2b5bb4, #21488f);
}

.routine-table .day-cell {
    background: linear-gradient(145deg, #1a3c7e, #153266);
}

.routine-table .time-label-cell {
    background: linear-gradient(145deg, #1b3f81, #17386f);
}

.routine-table .routine-cell {
    background: var(--slot-color, #102349);
}

.routine-table .tiffin-cell {
    background: #7a4d82;
    color: #ffe9ff;
}

.routine-table .admin-cell {
    background: #2b5eb4;
    color: #eff5ff;
}

.routine-table .empty-slot {
    color: #99addc;
}

@media (max-width: 1400px) {
    .topbar {
        grid-template-columns: 1fr;
    }

    .brand-wrap {
        grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    }

    .top-actions {
        grid-template-columns: 1fr;
        justify-content: start;
    }

    .main-nav {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .topbar {
        border-radius: 16px;
        padding: 0.72rem 0.76rem;
    }

    .brand-wrap {
        grid-template-columns: 1fr;
        gap: 0.38rem;
    }

    .brand,

.page-title-wrap h1,
    .page-title-wrap p {
        white-space: normal;
        text-overflow: clip;
    }

    .main-nav a,
    .btn,
    .pill {
        font-size: 0.76rem;
        padding: 0.34rem 0.58rem;
    }
}

/* Final topbar match */
.topbar {
    width: min(1260px, 96vw);
    margin: 0.9rem auto 1rem;
    padding: 0.7rem 0.8rem;
    border-radius: 26px;
    border: 1px solid rgba(114, 151, 232, 0.42);
    background: linear-gradient(155deg, rgba(20, 44, 96, 0.96), rgba(8, 20, 50, 0.96));
    box-shadow: 0 14px 30px rgba(3, 8, 24, 0.72), inset 0 1px 0 rgba(168, 196, 255, 0.08), 0 0 22px rgba(92, 136, 243, 0.24);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    overflow: hidden;
}

.brand-wrap {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Remove text shown next to ABCE title in topbar */
.page-title-wrap {
    display: none !important;
}

.brand {
    padding: 0.58rem 1rem;
    border-radius: 999px;
    font-size: 1.03rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #eaf1ff;
    border: 1px solid rgba(120, 161, 242, 0.52);
    background: linear-gradient(145deg, #1b3c7f, #132d60);
    box-shadow: 0 0 0 1px rgba(128, 166, 238, 0.14), 0 10px 20px rgba(4, 10, 28, 0.46), inset 0 1px 0 rgba(173, 201, 255, 0.11);
}

.top-actions {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.48rem;
    flex-wrap: wrap;
}

.main-nav {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.42rem;
    overflow: visible;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    padding: 0.04rem;
}

.topbar .main-nav {
    overflow: visible !important;
}

.main-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 0.42rem 0.86rem;
    border-radius: 999px;
    color: #d8e6ff;
    border: 1px solid rgba(120, 159, 236, 0.42);
    background: linear-gradient(145deg, #17366f, #122a57);
    box-shadow: inset 0 1px 0 rgba(161, 195, 255, 0.08), 0 8px 16px rgba(2, 8, 24, 0.44);
}

.main-nav a:hover {
    color: #f2f7ff;
    border-color: rgba(160, 191, 255, 0.68);
    box-shadow: inset 0 1px 0 rgba(181, 207, 255, 0.12), 0 8px 16px rgba(4, 10, 29, 0.52), 0 0 12px rgba(101, 145, 245, 0.42);
}

@media (max-width: 1200px) {
    .topbar {
        flex-wrap: wrap;
        border-radius: 18px;
    }

    .brand-wrap {
        width: 100%;
    }

    .top-actions {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .main-nav {
        width: 100%;
        justify-content: flex-start;
    }
}

/* Project-wide dashboard redesign (reference-inspired) */
:root {
    --shell-sidebar-width: 212px;
    --shell-bg-start: #0B202C;
    --shell-bg-mid: #103747;
    --shell-bg-end: #124659;
    --shell-surface-a: #17546B;
    --shell-surface-b: #114255;
    --shell-line: rgba(130, 168, 245, 0.34);
    --shell-line-soft: rgba(130, 168, 245, 0.2);
    --shell-text: #eaf1ff;
    --shell-muted: #9db0da;
    --shell-accent: #59B6DF;
    --shell-glow: rgba(97, 141, 247, 0.34);
}

body {
    background:
        radial-gradient(1200px circle at 82% -24%, rgba(96, 146, 255, 0.18), transparent 56%),
        radial-gradient(1000px circle at -12% 8%, rgba(66, 121, 241, 0.16), transparent 54%),
        radial-gradient(900px circle at 56% 115%, rgba(78, 116, 206, 0.16), transparent 56%),
        linear-gradient(165deg, var(--shell-bg-start) 0%, var(--shell-bg-mid) 56%, var(--shell-bg-end) 100%);
    color: var(--shell-text);
}

body::before {
    opacity: 0.3;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(225, 238, 255, 0.75) 1px, transparent 0),
        radial-gradient(circle at 2px 2px, rgba(170, 204, 255, 0.3) 1px, transparent 0);
    background-size: 26px 26px, 54px 54px;
}

body::after {
    content: "";
    position: fixed;
    inset: auto 0 -18% 0;
    height: 42vh;
    pointer-events: none;
    z-index: -2;
    background:
        radial-gradient(120% 70% at 10% 100%, rgba(20, 28, 55, 0.95), transparent 70%),
        radial-gradient(120% 65% at 90% 100%, rgba(17, 24, 50, 0.95), transparent 72%);
}

.ambient-bg {
    display: none;
}

h1,
h2,
h3 {
    color: var(--shell-text);
}

p,
small,
.muted {
    color: var(--shell-muted);
}

.topbar {
    position: fixed;
    left: 2rem;
    top: 2rem;
    bottom: 2rem;
    width: var(--shell-sidebar-width);
    margin: 0;
    padding: 0.98rem 0.78rem;
    border-radius: 28px;
    border: 1px solid var(--shell-line);
    background: linear-gradient(165deg, rgba(18, 40, 92, 0.95), rgba(9, 21, 53, 0.95));
    box-shadow: 0 20px 36px rgba(2, 7, 20, 0.72), inset 0 1px 0 rgba(170, 201, 255, 0.08), 0 0 24px rgba(92, 138, 246, 0.2);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.76rem;
    overflow: hidden;
    z-index: 60;
}

.brand-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.56rem;
}

.brand {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.56rem 0.72rem;
    border-radius: 14px;
    color: #eef5ff;
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: 0.01em;
    border: 1px solid rgba(127, 168, 247, 0.44);
    background: linear-gradient(145deg, #1a3d80, #13305f);
    box-shadow: inset 0 1px 0 rgba(178, 205, 255, 0.11), 0 9px 16px rgba(2, 8, 24, 0.48);
}

.page-title-wrap {
    display: none !important;
}

.top-actions {
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.45rem;
    flex-wrap: nowrap;
}

.main-nav {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.4rem;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 0.16rem;
    scrollbar-width: thin;
}

.topbar .main-nav {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.main-nav a,
.main-nav a.nav-link {
    width: 100%;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.46rem;
    text-align: left;
    white-space: nowrap;
    text-decoration: none;
    color: #d6e5ff;
    padding: 0.52rem 0.72rem;
    border-radius: 12px;
    border: 1px solid rgba(126, 163, 241, 0.34);
    background: linear-gradient(145deg, #18366f, #122a56);
    box-shadow: inset 0 1px 0 rgba(168, 198, 255, 0.08), 0 7px 12px rgba(3, 8, 21, 0.44);
}

.main-nav a::before,
.main-nav a.nav-link::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(145deg, #7fc0ff, #4d8dff);
    box-shadow: 0 0 0 1px rgba(161, 198, 255, 0.22), 0 0 8px rgba(104, 151, 255, 0.44);
    flex: 0 0 auto;
}

.main-nav a:hover,
.main-nav a.nav-link:hover {
    color: #f2f8ff;
    border-color: rgba(169, 198, 255, 0.62);
    box-shadow: inset 0 1px 0 rgba(186, 212, 255, 0.13), 0 9px 14px rgba(3, 8, 23, 0.54), 0 0 12px var(--shell-glow);
    transform: translateX(2px);
}

.main-nav a.is-current,
.main-nav a.nav-link.is-current {
    color: #ffffff;
    border-color: rgba(194, 218, 255, 0.76);
    background: linear-gradient(145deg, #2a66de, #1d4fae);
    box-shadow: 0 0 0 1px rgba(182, 209, 255, 0.3), 0 0 14px rgba(95, 140, 247, 0.58), 0 10px 16px rgba(3, 9, 24, 0.56);
}

.main-nav a.is-current::before,
.main-nav a.nav-link.is-current::before {
    background: linear-gradient(145deg, #e9f2ff, #9eccff);
}

.role-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.36rem;
    justify-content: flex-start;
}

.role-logo {
    border-color: rgba(130, 167, 243, 0.42);
    color: #d4e4ff;
    background: linear-gradient(145deg, #18366e, #122956);
    box-shadow: inset 0 1px 0 rgba(168, 197, 255, 0.08), 0 6px 11px rgba(2, 8, 20, 0.42);
}

.role-logo.is-active {
    color: #ffffff;
    border-color: rgba(150, 220, 231, 0.7);
    background: linear-gradient(145deg, #6c54c8, #a056ba);
    box-shadow: 0 0 0 1px rgba(224, 191, 255, 0.25), 0 0 12px rgba(120, 221, 209, 0.48);
}

.avatar-chip {
    width: 100%;
    margin-top: auto;
    border-color: rgba(128, 165, 243, 0.4);
    background: linear-gradient(145deg, #18366e, #122a56);
    box-shadow: inset 0 1px 0 rgba(168, 197, 255, 0.08), 0 8px 12px rgba(2, 8, 20, 0.42);
}

.avatar-chip:hover {
    border-color: rgba(174, 203, 255, 0.65);
}

.avatar-dot {
    background: linear-gradient(145deg, #6fd2ff, #4f93ff);
}

.avatar-meta strong {
    color: #eef5ff;
}

.avatar-meta small {
    color: #9bb0de;
}

.topbar .btn.btn-outline {
    width: 100%;
    margin-top: 0.12rem;
    color: #eef5ff;
    border-color: rgba(129, 167, 244, 0.48);
    background: linear-gradient(145deg, #2b62c4, #204f9f);
}

.topbar .btn.btn-outline:hover {
    box-shadow: var(--shadow-soft), 0 0 14px rgba(100, 145, 247, 0.58);
}

.flash-stack,
.container {
    width: auto;
    max-width: none;
    margin: 2rem 2rem 2.3rem calc(var(--shell-sidebar-width) + 3rem);
}

.container {
    padding: 0;
}

.page-grid {
    gap: 1rem;
}

.panel {
    border-radius: 24px;
    border: 1px solid var(--shell-line);
    background: linear-gradient(160deg, rgba(16, 36, 84, 0.95), rgba(10, 24, 58, 0.96));
    box-shadow: 0 14px 28px rgba(2, 7, 20, 0.62), inset 0 1px 0 rgba(169, 198, 255, 0.07), 0 0 20px rgba(84, 128, 235, 0.16);
}

.panel::after {
    border-color: rgba(162, 191, 255, 0.08);
}

.panel:hover {
    box-shadow: 0 16px 32px rgba(2, 8, 22, 0.7), 0 0 26px rgba(96, 141, 245, 0.3);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    color: #e5efff;
    border-color: rgba(127, 165, 242, 0.4);
    background: linear-gradient(145deg, #17366e, #122a56);
    box-shadow: inset 0 1px 0 rgba(175, 204, 255, 0.08), 0 7px 12px rgba(2, 8, 21, 0.45);
}

input::placeholder,
textarea::placeholder {
    color: #8ea4d5;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    border-color: rgba(166, 197, 255, 0.86);
    box-shadow: inset 0 1px 0 rgba(193, 217, 255, 0.1), 0 0 0 2px rgba(102, 147, 247, 0.34), 0 0 14px rgba(98, 145, 246, 0.38);
}

.btn {
    border-color: rgba(132, 170, 244, 0.52);
    color: #eef5ff;
    background: linear-gradient(145deg, #2b62c4, #204f9f);
}

.btn:hover {
    box-shadow: var(--shadow-soft), 0 0 16px rgba(96, 142, 247, 0.58);
}

table th,
table td {
    border-color: var(--shell-line-soft);
}

tbody tr {
    background: linear-gradient(150deg, #143066, #10244d);
}

.badge,
.pill,
.kicker,
.mini-card,
.action-tile,
.demo-box,
.suggestion-box,
.fixed-slot-option,
.override-day-row,
.override-time-dropdown {
    color: #dce9ff;
    border-color: rgba(127, 165, 242, 0.34);
    background: linear-gradient(145deg, #17366e, #122a56);
}

@media (max-width: 1220px) {
    .topbar {
        position: static;
        width: min(96vw, 1260px);
        margin: 1rem auto 0;
        min-height: 0;
        height: auto;
        border-radius: 20px;
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        padding: 0.78rem 0.86rem;
    }

    .brand-wrap {
        width: 100%;
        flex-direction: row;
        align-items: center;
        gap: 0.5rem;
    }

    .brand {
        width: auto;
        max-width: min(78vw, 480px);
    }

    .top-actions {
        width: 100%;
        height: auto;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .main-nav {
        width: 100%;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding-right: 0;
        justify-content: flex-start;
    }

    .topbar .main-nav {
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    .main-nav a,
    .main-nav a.nav-link {
        width: auto;
    }

    .main-nav a:hover,
    .main-nav a.nav-link:hover {
        transform: none;
    }

    .avatar-chip,
    .topbar .btn.btn-outline {
        width: auto;
        margin-top: 0;
    }

    .flash-stack,
    .container {
        width: min(96vw, 1260px);
        margin: 1rem auto 2.1rem;
    }
}

@media (max-width: 760px) {
    .topbar {
        border-radius: 16px;
        padding: 0.7rem 0.72rem;
    }

    .brand,

.main-nav a,
    .main-nav a.nav-link,
    .btn,
    .pill {
        font-size: 0.76rem;
        padding: 0.34rem 0.58rem;
    }
}

/* Final navbar emoji + dropdown palette */
.main-nav a::before,
.main-nav a.nav-link::before {
    content: none !important;
}

.main-nav .nav-emoji {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    font-size: 0.85rem;
    border: 1px solid rgba(137, 174, 247, 0.5);
    background: linear-gradient(145deg, #2b65ce, #1f4ea4);
    box-shadow: inset 0 1px 0 rgba(189, 212, 255, 0.12), 0 8px 12px rgba(4, 10, 26, 0.46), 0 0 10px rgba(98, 142, 246, 0.42);
}

.main-nav .nav-label {
    min-width: 0;
}

.main-nav a.is-current .nav-emoji,
.main-nav a.nav-link.is-current .nav-emoji {
    border-color: rgba(216, 228, 255, 0.82);
    background: linear-gradient(145deg, #5b95ff, #3c6fd7);
    box-shadow: 0 0 0 1px rgba(210, 226, 255, 0.28), 0 0 12px rgba(135, 174, 255, 0.58);
}

.logout-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.logout-link .nav-emoji {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    font-size: 0.82rem;
    border: 1px solid rgba(137, 174, 247, 0.5);
    background: linear-gradient(145deg, #2b65ce, #1f4ea4);
    box-shadow: inset 0 1px 0 rgba(189, 212, 255, 0.12), 0 8px 12px rgba(4, 10, 26, 0.46), 0 0 10px rgba(98, 142, 246, 0.42);
}

select {
    border-color: rgba(127, 165, 242, 0.44);
    background: linear-gradient(145deg, #17366e, #122a56);
    color: #e8f0ff;
}

select option,
select optgroup {
    background-color: #10295f;
    color: #e9f1ff;
}

select option:checked,
select option:focus {
    background-color: #275dbe;
    color: #ffffff;
}

select[multiple] {
    background: linear-gradient(145deg, #133063, #112650);
}

.nap-select {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
}

.nap-select-native {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.nap-select-trigger {
    position: relative;
    width: 100%;
    min-height: 3rem;
    padding: 0.78rem 3rem 0.78rem 0.94rem;
    border-radius: 14px;
    border: 1px solid rgba(110, 146, 175, 0.3);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(229, 239, 246, 0.94));
    color: #19324b;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 10px 18px rgba(18, 38, 56, 0.08);
    font: inherit;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.nap-select-trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 0.62rem;
    height: 0.62rem;
    border-right: 2px solid rgba(39, 86, 118, 0.86);
    border-bottom: 2px solid rgba(39, 86, 118, 0.86);
    transform: translateY(-62%) rotate(45deg);
    transition: transform 0.18s ease, border-color 0.18s ease;
    pointer-events: none;
}

.nap-select:not(.has-value) .nap-select-trigger {
    color: #5f7488;
}

.nap-select:hover .nap-select-trigger,
.nap-select:focus-within .nap-select-trigger {
    border-color: rgba(78, 123, 155, 0.42);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 14px 26px rgba(18, 38, 56, 0.11);
}

.nap-select.is-open .nap-select-trigger {
    border-color: rgba(58, 108, 142, 0.56);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(218, 233, 244, 0.98));
    box-shadow: 0 0 0 4px rgba(92, 152, 190, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.nap-select.is-open .nap-select-trigger::after {
    transform: translateY(-28%) rotate(-135deg);
}

.nap-select.is-disabled .nap-select-trigger,
.nap-select-trigger:disabled {
    cursor: not-allowed;
    opacity: 0.66;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.nap-select-panel {
    position: fixed;
    z-index: 4600;
    display: flex;
    flex-direction: column;
    min-width: 220px;
    max-width: min(420px, calc(100vw - 16px));
    max-height: min(320px, calc(100vh - 24px));
    padding: 0.42rem;
    border-radius: 18px;
    border: 1px solid rgba(92, 133, 163, 0.24);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.99), rgba(236, 243, 248, 0.98));
    box-shadow: 0 24px 44px rgba(15, 30, 45, 0.18), 0 10px 18px rgba(15, 30, 45, 0.08);
    overflow: hidden;
}

.nap-select-panel[hidden] {
    display: none !important;
}

.nap-select-option-list {
    display: grid;
    gap: 0.18rem;
    max-height: min(280px, calc(100vh - 56px));
    overflow-y: auto;
    padding-right: 0.08rem;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.nap-select-option-list::-webkit-scrollbar {
    width: 10px;
}

.nap-select-option-list::-webkit-scrollbar-track {
    background: rgba(221, 232, 240, 0.92);
    border-radius: 999px;
}

.nap-select-option-list::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(112, 154, 184, 0.92), rgba(57, 104, 135, 0.94));
    border-radius: 999px;
}

.nap-select-group-label {
    padding: 0.48rem 0.72rem 0.22rem;
    color: #6b7f92;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.nap-select-option {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.7rem 0.82rem;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #1d3852;
    font: inherit;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.nap-select-option:hover,
.nap-select-option:focus-visible {
    outline: none;
    border-color: rgba(95, 139, 170, 0.24);
    background: linear-gradient(145deg, rgba(239, 247, 252, 0.98), rgba(224, 238, 246, 0.94));
    color: #17324a;
}

.nap-select-option.is-selected {
    border-color: rgba(60, 116, 153, 0.3);
    background: linear-gradient(145deg, #3e8ed8, #245fbf);
    color: #ffffff;
    box-shadow: 0 10px 18px rgba(36, 95, 191, 0.24);
}

.nap-select-option.is-selected:hover,
.nap-select-option.is-selected:focus-visible {
    background: linear-gradient(145deg, #3384d1, #1f55ae);
    color: #ffffff;
}

.nap-select-option.is-disabled,
.nap-select-option:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: none;
}

.nap-select-option-label {
    display: block;
    width: 100%;
    white-space: normal;
    word-break: break-word;
}

summary {
    color: #e6efff;
}

/* Final card and color match tune */
:root {
    --neo-bg-1: #0B202D;
    --neo-bg-2: #103646;
    --neo-bg-3: #13485B;
    --neo-card-1: #175069;
    --neo-card-2: #123F54;
    --neo-card-3: #103444;
    --neo-border: rgba(144, 179, 248, 0.34);
    --neo-border-soft: rgba(144, 179, 248, 0.22);
    --neo-glow: rgba(102, 146, 247, 0.34);
    --neo-text: #edf4ff;
    --neo-muted: #9cb1de;
}

body {
    background:
        radial-gradient(1300px circle at 86% -20%, rgba(102, 147, 248, 0.2), transparent 56%),
        radial-gradient(900px circle at -10% 10%, rgba(73, 126, 244, 0.15), transparent 56%),
        linear-gradient(165deg, var(--neo-bg-1) 0%, var(--neo-bg-2) 54%, var(--neo-bg-3) 100%);
    color: var(--neo-text);
}

body::before {
    opacity: 0.34;
}

h1,
h2,
h3 {
    color: var(--neo-text);
}

p,
small,
.muted {
    color: var(--neo-muted);
}

.topbar {
    border-color: var(--neo-border);
    background:
        radial-gradient(160% 90% at 50% -20%, rgba(104, 148, 248, 0.22), transparent 62%),
        linear-gradient(162deg, rgba(19, 42, 96, 0.96), rgba(10, 24, 58, 0.96));
    box-shadow:
        0 20px 36px rgba(2, 7, 20, 0.74),
        inset 0 1px 0 rgba(170, 201, 255, 0.08),
        0 0 24px var(--neo-glow);
}

.panel {
    border-color: var(--neo-border);
    background:
        radial-gradient(145% 80% at 50% -24%, rgba(104, 148, 248, 0.26), transparent 62%),
        linear-gradient(160deg, var(--neo-card-1) 0%, var(--neo-card-2) 56%, var(--neo-card-3) 100%);
    box-shadow:
        0 14px 28px rgba(2, 7, 20, 0.64),
        inset 0 1px 0 rgba(169, 198, 255, 0.07),
        0 0 20px rgba(84, 128, 235, 0.2);
}

.panel::after {
    border-color: rgba(170, 197, 255, 0.11);
}

.panel:hover {
    box-shadow:
        0 16px 34px rgba(2, 8, 22, 0.74),
        0 0 28px rgba(96, 141, 245, 0.34);
}

.table-wrap,
.routine-table {
    border-color: var(--neo-border-soft);
    background: linear-gradient(155deg, #10285d, #0c1f49);
}

tbody tr,

.badge,
.pill,
.kicker,
.mini-card,
.action-tile,
.demo-box,
.suggestion-box,
.fixed-slot-option,
.override-day-row,
.override-time-dropdown {
    color: #deebff;
    border-color: var(--neo-border-soft);
    background: linear-gradient(145deg, #17366e, #122a56);
}

.btn {
    border-color: rgba(143, 179, 248, 0.56);
    color: #f2f7ff;
    background: linear-gradient(145deg, #2e67cf, #2051a5);
    box-shadow: inset 0 1px 0 rgba(183, 209, 255, 0.1), 0 8px 16px rgba(4, 10, 26, 0.46);
}

.btn:hover {
    box-shadow:
        inset 0 1px 0 rgba(201, 221, 255, 0.12),
        0 10px 18px rgba(4, 10, 27, 0.56),
        0 0 16px rgba(96, 142, 247, 0.58);
}

/* Final pastel glass style (latest reference match) */
:root {
    --glass-bg-1: #7DCAD8;
    --glass-bg-2: #9FDDF1;
    --glass-bg-3: #A5E9E0;
    --glass-card-1: rgba(219, 232, 255, 0.24);
    --glass-card-2: rgba(194, 214, 255, 0.17);
    --glass-border: rgba(219, 238, 255, 0.34);
    --glass-border-soft: rgba(214, 232, 255, 0.24);
    --glass-text: #eef4ff;
    --glass-muted: #d8e4fb;
    --glass-accent: #80C7F4;
    --glass-accent-2: #78DDD1;
    --glass-shadow: 0 18px 34px rgba(35, 51, 95, 0.28);
}

body {
    background:
        radial-gradient(980px circle at 10% -12%, rgba(177, 202, 255, 0.42), transparent 56%),
        radial-gradient(930px circle at 90% 6%, rgba(137, 226, 235, 0.36), transparent 58%),
        radial-gradient(900px circle at 50% 112%, rgba(147, 163, 235, 0.34), transparent 58%),
        linear-gradient(170deg, var(--glass-bg-1) 0%, var(--glass-bg-2) 52%, var(--glass-bg-3) 100%);
    color: var(--glass-text);
}

body::before {
    opacity: 0.22;
}

h1,
h2,
h3 {
    color: #f7fbff;
}

p,
small,
.muted {
    color: var(--glass-muted);
}

.topbar {
    border: 1px solid var(--glass-border);
    background:
        linear-gradient(175deg, rgba(94, 70, 166, 0.72), rgba(58, 85, 177, 0.58) 48%, rgba(54, 121, 193, 0.52));
    box-shadow:
        var(--glass-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.24),
        0 0 24px rgba(164, 188, 255, 0.28);
    backdrop-filter: blur(14px) saturate(115%);
    -webkit-backdrop-filter: blur(14px) saturate(115%);
}

.brand {
    border-color: rgba(230, 241, 255, 0.5);
    background: linear-gradient(145deg, rgba(127, 194, 242, 0.46), rgba(135, 174, 255, 0.42));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 10px 16px rgba(40, 58, 108, 0.28);
}

.main-nav a,
.main-nav a.nav-link {
    border-color: rgba(220, 237, 255, 0.34);
    background: linear-gradient(145deg, rgba(157, 186, 247, 0.32), rgba(132, 167, 245, 0.24));
    color: #f4f8ff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 8px 14px rgba(40, 58, 106, 0.24);
}

.main-nav a:hover,
.main-nav a.nav-link:hover {
    border-color: rgba(234, 243, 255, 0.62);
    background: linear-gradient(145deg, rgba(201, 236, 255, 0.44), rgba(150, 187, 255, 0.35));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), 0 10px 16px rgba(42, 58, 103, 0.28), 0 0 16px rgba(180, 197, 255, 0.36);
}

.main-nav a.is-current,
.main-nav a.nav-link.is-current {
    border-color: rgba(255, 232, 255, 0.86);
    background: linear-gradient(145deg, rgba(128, 199, 244, 0.58), rgba(142, 176, 255, 0.48));
    box-shadow: 0 0 0 1px rgba(251, 224, 255, 0.26), 0 0 16px rgba(222, 161, 255, 0.46);
}

.main-nav .nav-emoji,
.logout-link .nav-emoji {
    border-color: rgba(232, 244, 255, 0.56);
    background: linear-gradient(145deg, rgba(145, 219, 235, 0.72), rgba(139, 186, 255, 0.72));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 8px 14px rgba(59, 80, 137, 0.28), 0 0 14px rgba(213, 173, 255, 0.34);
}

.avatar-chip {
    border-color: rgba(221, 239, 255, 0.46);
    background: linear-gradient(145deg, rgba(161, 188, 248, 0.35), rgba(132, 165, 239, 0.28));
}

.topbar .btn.btn-outline,
.btn {
    border-color: rgba(228, 241, 255, 0.54);
    color: #f8fbff;
    background: linear-gradient(145deg, rgba(97, 213, 199, 0.68), rgba(128, 176, 252, 0.66));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 10px 18px rgba(40, 58, 106, 0.28);
}

.panel {
    border-color: var(--glass-border);
    background:
        linear-gradient(160deg, var(--glass-card-1), var(--glass-card-2));
    box-shadow:
        var(--glass-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.26),
        0 0 22px rgba(178, 198, 255, 0.26);
    backdrop-filter: blur(11px) saturate(112%);
    -webkit-backdrop-filter: blur(11px) saturate(112%);
}

.panel::after {
    border-color: rgba(236, 246, 255, 0.24);
}

.panel:hover {
    box-shadow:
        0 22px 38px rgba(35, 52, 96, 0.32),
        0 0 26px rgba(203, 221, 255, 0.34);
}

.table-wrap,
.routine-table,
tbody tr,
.badge,
.pill,
.kicker,
.mini-card,
.action-tile,
.demo-box,
.suggestion-box,
.fixed-slot-option,
.override-day-row,
.override-time-dropdown {
    border-color: var(--glass-border-soft);
    background: linear-gradient(150deg, rgba(195, 218, 255, 0.25), rgba(161, 191, 248, 0.2));
    color: #f0f6ff;
}

table th,
table td {
    border-color: rgba(223, 239, 255, 0.22);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    border-color: rgba(224, 241, 255, 0.42);
    background: linear-gradient(145deg, rgba(180, 206, 255, 0.3), rgba(154, 186, 248, 0.25));
    color: #f6faff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 14px rgba(42, 58, 103, 0.2);
}

input::placeholder,
textarea::placeholder {
    color: rgba(237, 245, 255, 0.72);
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    border-color: rgba(247, 234, 255, 0.84);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 0 0 2px rgba(188, 204, 255, 0.3), 0 0 16px rgba(217, 181, 255, 0.34);
}

select option,
select optgroup {
    background-color: #8cb0ea;
    color: #f7fbff;
}

select option:checked,
select option:focus {
    background-color: #b083eb;
    color: #ffffff;
}

/* Final cosmic amber-violet style (latest reference match) */
:root {
    --cosmic-bg-1: #0F2836;
    --cosmic-bg-2: #123242;
    --cosmic-bg-3: #0D2330;
    --cosmic-card-1: rgba(24, 91, 112, 0.88);
    --cosmic-card-2: rgba(18, 76, 96, 0.9);
    --cosmic-card-3: rgba(14, 58, 74, 0.9);
    --cosmic-border: rgba(152, 219, 231, 0.26);
    --cosmic-border-soft: rgba(168, 227, 240, 0.2);
    --cosmic-text: #F3FDFF;
    --cosmic-muted: #C8E6EE;
    --cosmic-gold: #8FD5DD;
    --cosmic-gold-deep: #4CA8D8;
    --cosmic-glow: rgba(143, 213, 221, 0.32);
    --cosmic-violet-glow: rgba(120, 221, 209, 0.28);
}

body {
    background:
        radial-gradient(1000px circle at -10% -12%, rgba(244, 198, 73, 0.2), transparent 52%),
        radial-gradient(1200px circle at 95% 12%, rgba(184, 117, 255, 0.22), transparent 56%),
        radial-gradient(900px circle at 55% 116%, rgba(123, 77, 220, 0.22), transparent 56%),
        linear-gradient(165deg, var(--cosmic-bg-1) 0%, var(--cosmic-bg-2) 54%, var(--cosmic-bg-3) 100%);
    color: var(--cosmic-text);
}

body::before {
    opacity: 0.26;
}

h1,
h2,
h3 {
    color: #fff8dd;
}

p,
small,
.muted {
    color: var(--cosmic-muted);
}

.topbar {
    border: 1px solid var(--cosmic-border);
    background:
        radial-gradient(160% 100% at 0% 0%, rgba(143, 213, 221, 0.18), transparent 55%),
        linear-gradient(165deg, rgba(45, 30, 90, 0.96), rgba(33, 22, 74, 0.97));
    box-shadow:
        0 18px 34px rgba(10, 6, 28, 0.56),
        inset 0 1px 0 rgba(255, 241, 208, 0.13),
        0 0 22px var(--cosmic-violet-glow);
}

.brand {
    color: #fff4ce;
    border-color: rgba(143, 213, 221, 0.52);
    background: linear-gradient(145deg, rgba(143, 213, 221, 0.3), rgba(193, 120, 247, 0.26));
    box-shadow: inset 0 1px 0 rgba(255, 244, 212, 0.24), 0 10px 16px rgba(12, 8, 33, 0.44);
}

.main-nav a,
.main-nav a.nav-link {
    border-color: rgba(221, 190, 255, 0.34);
    background: linear-gradient(145deg, rgba(112, 79, 188, 0.56), rgba(68, 47, 131, 0.56));
    color: #fbefff;
    box-shadow: inset 0 1px 0 rgba(243, 224, 255, 0.14), 0 8px 14px rgba(12, 8, 32, 0.42);
}

.main-nav a:hover,
.main-nav a.nav-link:hover {
    border-color: rgba(248, 210, 124, 0.74);
    background: linear-gradient(145deg, rgba(127, 87, 218, 0.62), rgba(78, 55, 151, 0.62));
    color: #fff7df;
    box-shadow: inset 0 1px 0 rgba(250, 233, 186, 0.2), 0 10px 16px rgba(12, 8, 32, 0.48), 0 0 14px var(--cosmic-glow);
}

.main-nav a.is-current,
.main-nav a.nav-link.is-current {
    border-color: rgba(253, 222, 148, 0.86);
    background: linear-gradient(145deg, rgba(143, 213, 221, 0.62), rgba(213, 166, 45, 0.56));
    color: #2e1d05;
    box-shadow: 0 0 0 1px rgba(255, 232, 170, 0.34), 0 0 16px var(--cosmic-glow);
}

.main-nav .nav-emoji,
.logout-link .nav-emoji {
    border-color: rgba(253, 228, 165, 0.76);
    background: linear-gradient(145deg, rgba(143, 213, 221, 0.86), rgba(213, 166, 45, 0.82));
    color: #2e1d05;
    box-shadow: inset 0 1px 0 rgba(255, 246, 222, 0.4), 0 8px 14px rgba(22, 15, 50, 0.36), 0 0 14px rgba(143, 213, 221, 0.38);
}

.avatar-chip {
    border-color: rgba(220, 186, 255, 0.44);
    background: linear-gradient(145deg, rgba(96, 67, 171, 0.62), rgba(60, 43, 120, 0.62));
}

.topbar .btn.btn-outline,
.btn {
    border-color: rgba(250, 221, 141, 0.7);
    background: linear-gradient(145deg, rgba(143, 213, 221, 0.9), rgba(213, 166, 45, 0.86));
    color: #2c1a02;
    box-shadow: inset 0 1px 0 rgba(255, 246, 223, 0.44), 0 10px 18px rgba(15, 10, 36, 0.42), 0 0 14px rgba(143, 213, 221, 0.32);
}

.btn:hover,
.topbar .btn.btn-outline:hover {
    box-shadow: inset 0 1px 0 rgba(255, 249, 232, 0.5), 0 12px 20px rgba(15, 10, 36, 0.48), 0 0 18px rgba(143, 213, 221, 0.44);
}

.panel {
    border-color: var(--cosmic-border);
    background:
        radial-gradient(160% 100% at 100% -20%, rgba(143, 213, 221, 0.12), transparent 58%),
        linear-gradient(160deg, var(--cosmic-card-1) 0%, var(--cosmic-card-2) 52%, var(--cosmic-card-3) 100%);
    box-shadow:
        0 16px 30px rgba(10, 6, 28, 0.54),
        inset 0 1px 0 rgba(244, 224, 255, 0.1),
        0 0 18px var(--cosmic-violet-glow);
}

.panel::after {
    border-color: rgba(236, 214, 255, 0.12);
}

.panel:hover {
    box-shadow: 0 20px 36px rgba(10, 6, 28, 0.6), 0 0 22px rgba(143, 213, 221, 0.28);
}

.table-wrap,
.routine-table,
tbody tr,
.badge,
.pill,
.kicker,
.mini-card,
.action-tile,
.demo-box,
.suggestion-box,
.fixed-slot-option,
.override-day-row,
.override-time-dropdown {
    border-color: var(--cosmic-border-soft);
    background: linear-gradient(150deg, rgba(97, 69, 170, 0.48), rgba(61, 44, 127, 0.48));
    color: #f8eeff;
}

table th,
table td {
    border-color: rgba(220, 194, 255, 0.18);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    border-color: rgba(231, 204, 255, 0.36);
    background: linear-gradient(145deg, rgba(98, 72, 170, 0.56), rgba(63, 46, 132, 0.56));
    color: #fff5e1;
    box-shadow: inset 0 1px 0 rgba(255, 233, 190, 0.14), 0 8px 14px rgba(12, 8, 32, 0.38);
}

input::placeholder,
textarea::placeholder {
    color: rgba(243, 220, 255, 0.74);
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    border-color: rgba(251, 220, 140, 0.84);
    box-shadow: inset 0 1px 0 rgba(255, 244, 214, 0.18), 0 0 0 2px rgba(143, 213, 221, 0.24), 0 0 14px rgba(143, 213, 221, 0.3);
}

select option,
select optgroup {
    background-color: #4a358f;
    color: #fff3d4;
}

select option:checked,
select option:focus {
    background-color: #d2a438;
    color: #241401;
}

/* Nap TimeTable landing and contact pages (TimetableMaster-inspired UI) */
body.landing-master {
    background: #f3f6ff;
    color: #1e2a4a;
}

body.landing-master::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(880px circle at 12% -10%, rgba(79, 70, 229, 0.22), transparent 60%),
        radial-gradient(900px circle at 95% 2%, rgba(168, 85, 247, 0.18), transparent 62%),
        radial-gradient(840px circle at 50% 118%, rgba(236, 72, 153, 0.14), transparent 60%);
    opacity: 1;
}

body.landing-master .ambient-bg {
    display: none;
}

body.landing-master .flash-stack {
    width: min(1320px, calc(100vw - 4rem));
    margin: 5.6rem auto 0.85rem;
    position: relative;
    z-index: 12;
}

body.landing-master .flash {
    border-color: rgba(129, 146, 198, 0.3);
    background: linear-gradient(150deg, #ffffff, #eef3ff);
    box-shadow: 0 14px 26px rgba(25, 37, 82, 0.1);
    color: #24335f;
}

body.landing-master .container {
    width: min(1320px, calc(100vw - 4rem));
    margin: 0 auto 2.8rem;
}

body.landing-master .tm-main {
    padding-top: 6rem;
    display: grid;
    gap: 1.1rem;
    min-height: calc(100vh - 6.5rem);
}

body.landing-master .tm-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 90;
    border-bottom: 1px solid rgba(187, 199, 238, 0.7);
    background: rgba(255, 255, 255, 0.96);
    transition: box-shadow 0.25s ease, backdrop-filter 0.25s ease;
}

body.landing-master .tm-header.is-scrolled {
    box-shadow: 0 14px 32px rgba(21, 34, 79, 0.14);
    backdrop-filter: blur(10px);
}

body.landing-master .tm-nav-shell {
    width: min(1320px, calc(100vw - 4rem));
    min-height: 78px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    position: relative;
}

body.landing-master .tm-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.68rem;
    text-decoration: none;
}

body.landing-master .tm-logo {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    display: inline-flex;
}

body.landing-master .tm-logo svg {
    width: 100%;
    height: 100%;
}

body.landing-master .tm-brand-text {
    display: inline-flex;
    align-items: baseline;
    gap: 0.12rem;
    font-style: italic;
    letter-spacing: -0.02em;
}

body.landing-master .tm-brand-light,
body.landing-master .tm-brand-strong {
    font-size: clamp(1.44rem, 2.7vw, 1.95rem);
    line-height: 1;
    color: #338FD0;
}

body.landing-master .tm-brand-light {
    font-weight: 300;
}

body.landing-master .tm-brand-strong {
    font-weight: 800;
}

body.landing-master .tm-nav-menu {
    display: flex;
    align-items: center;
    gap: 0.95rem;
}

body.landing-master .tm-nav-links {
    display: flex;
    align-items: center;
    gap: 0.42rem;
}

body.landing-master .tm-nav-links a {
    text-decoration: none;
    font-size: 0.96rem;
    color: #47557d;
    padding: 0.5rem 0.78rem;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

body.landing-master .tm-nav-links a:hover {
    color: #3f35cc;
    border-color: rgba(147, 159, 225, 0.46);
    background: rgba(241, 245, 255, 0.86);
}

body.landing-master .tm-nav-links a.is-active {
    color: #2e2a9a;
    border-color: rgba(120, 133, 236, 0.72);
    background: rgba(228, 236, 255, 0.92);
    box-shadow: 0 8px 16px rgba(65, 78, 151, 0.14);
}

body.landing-master .tm-nav-cta {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    cursor: pointer;
    text-decoration: none;
    color: #ffffff;
    padding: 0.58rem 1.12rem;
    border-radius: 11px;
    background: linear-gradient(145deg, #338FD0, #7BC2F2);
    box-shadow: 0 10px 20px rgba(78, 70, 228, 0.34);
    font-weight: 700;
    border: 1px solid rgba(110, 104, 243, 0.7);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body.landing-master .tm-nav-cta:hover {
    transform: translateY(-1px);
    filter: saturate(1.04);
    box-shadow: 0 14px 24px rgba(78, 70, 228, 0.4);
}

body.landing-master .tm-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(191, 200, 233, 0.86);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 16px rgba(28, 40, 84, 0.12);
    cursor: pointer;
    padding: 9px 8px;
}

body.landing-master .tm-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: #495882;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

body.landing-master .tm-menu-toggle span + span {
    margin-top: 6px;
}

body.landing-master .tm-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

body.landing-master .tm-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

body.landing-master .tm-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

body.landing-master .tm-hero {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    border: 1px solid rgba(167, 180, 239, 0.52);
    background: linear-gradient(132deg, #338FD0 0%, #56CDBE 48%, #9ADFF7 100%);
    color: #ffffff;
    box-shadow: 0 26px 48px rgba(33, 28, 98, 0.34);
}

body.landing-master .tm-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.08) 1px, transparent 0);
    background-size: 32px 32px;
}

body.landing-master .tm-hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: 0.32;
    animation: tmBlobPulse 9s ease-in-out infinite;
}

body.landing-master .tm-hero-blob-a {
    width: 390px;
    height: 390px;
    top: -170px;
    left: -110px;
    background: radial-gradient(circle, #ffffff 0%, rgba(255, 255, 255, 0) 70%);
}

body.landing-master .tm-hero-blob-b {
    width: 360px;
    height: 360px;
    bottom: -170px;
    right: -120px;
    background: radial-gradient(circle, #C9ECFF 0%, rgba(165, 180, 252, 0) 70%);
    animation-delay: 1.2s;
}

@keyframes tmBlobPulse {
    0%,
    100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-8px) scale(1.04);
    }
}

body.landing-master .tm-hero-grid {
    position: relative;
    z-index: 2;
    padding: clamp(1.1rem, 2.2vw, 1.8rem);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

body.landing-master .tm-hero-copy h1 {
    margin: 0;
    font-size: clamp(2rem, 3.8vw, 3.35rem);
    line-height: 1.08;
    font-weight: 800;
    color: #ffffff;
    max-width: 14ch;
}

body.landing-master .tm-hero-copy h1 span {
    background: linear-gradient(94deg, #fde68a, #facc15);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

body.landing-master .tm-hero-copy p {
    margin: 0.84rem 0 0;
    color: #dbe4ff;
    font-size: 1.04rem;
    max-width: 56ch;
}

body.landing-master .tm-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.88rem;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 999px;
    padding: 0.38rem 0.68rem;
    background: rgba(255, 255, 255, 0.14);
    color: #f7faff;
    font-size: 0.79rem;
    font-weight: 600;
}

body.landing-master .tm-stat-grid {
    margin-top: 0.95rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

body.landing-master .tm-stat-card {
    border: 1px solid rgba(233, 238, 255, 0.38);
    background: rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    padding: 0.72rem 0.56rem;
    text-align: center;
    backdrop-filter: blur(4px);
}

body.landing-master .tm-stat-card strong {
    display: block;
    font-size: 1.42rem;
    color: #ffffff;
    line-height: 1.1;
}

body.landing-master .tm-stat-card span {
    color: #d8e2ff;
    font-size: 0.75rem;
}

body.landing-master .tm-action-row {
    margin-top: 0.95rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

body.landing-master .tm-live-strip {
    margin-top: 0.85rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

body.landing-master .tm-live-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    border: 1px solid rgba(236, 243, 255, 0.44);
    background: rgba(255, 255, 255, 0.16);
    color: #edf3ff;
    padding: 0.28rem 0.64rem;
    font-size: 0.75rem;
    font-weight: 600;
}

body.landing-master .tm-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(145deg, #4ade80, #22c55e);
    box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.3), 0 0 10px rgba(34, 197, 94, 0.6);
    animation: tmLivePulse 1.6s ease-in-out infinite;
}

@keyframes tmLivePulse {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.25);
        opacity: 0.72;
    }
}

body.landing-master .tm-btn {
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 0.64rem 0.95rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body.landing-master .tm-btn:hover {
    transform: translateY(-1px);
}

body.landing-master .tm-btn-light {
    color: #3f35cc;
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.82);
    box-shadow: 0 10px 18px rgba(25, 37, 84, 0.17);
}

body.landing-master .tm-btn-light:hover {
    filter: brightness(0.98);
}

body.landing-master .tm-btn-ghost {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.58);
    background: rgba(255, 255, 255, 0.12);
}

body.landing-master .tm-btn-ghost:hover {
    background: rgba(255, 255, 255, 0.2);
}

body.landing-master .tm-btn-primary {
    color: #ffffff;
    background: linear-gradient(145deg, #338FD0, #7BC2F2);
    border-color: rgba(109, 107, 243, 0.76);
    box-shadow: 0 12px 22px rgba(79, 70, 229, 0.36);
}

body.landing-master .tm-btn-primary:hover {
    filter: saturate(1.05);
}

body.landing-master .tm-auth-submit {
    width: 100%;
}

body.landing-master.tm-lock-scroll {
    overflow: hidden;
}

body.landing-master .tm-login-overlay {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: clamp(0.72rem, 2.6vw, 1rem);
    overflow-y: auto;
    background: rgba(14, 22, 44, 0.62);
    backdrop-filter: blur(7px);
}

body.landing-master .tm-login-overlay[hidden] {
    display: none !important;
}

body.landing-master .tm-login-dialog {
    width: min(27rem, 90vw);
    border-radius: 18px;
    border: 1px solid rgba(221, 232, 255, 0.66);
    background: linear-gradient(160deg, #ffffff, #eff4ff);
    box-shadow: 0 22px 40px rgba(10, 18, 42, 0.34);
    padding: 0.88rem;
    position: relative;
    animation: tmLoginIn 0.2s ease both;
}

@keyframes tmLoginIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.landing-master .tm-login-close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(184, 197, 233, 0.82);
    border-radius: 10px;
    background: #f6f9ff;
    color: #40517f;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

body.landing-master .tm-login-dialog h2 {
    margin: 0;
    color: #1f2b51;
    font-size: 1.24rem;
}

body.landing-master .tm-login-dialog p {
    margin: 0.24rem 0 0.52rem;
    color: #5a688f;
}

body.landing-master .tm-login-inline-error {
    margin: 0 0 0.18rem;
    border-radius: 11px;
    border: 1px solid rgba(239, 68, 68, 0.45);
    background: linear-gradient(145deg, rgba(254, 226, 226, 0.94), rgba(254, 242, 242, 0.98));
    color: #991b1b;
    padding: 0.52rem 0.64rem;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.35;
}

body.landing-master .tm-input-label {
    color: #364772;
    font-weight: 600;
}

body.landing-master .tm-input-heading {
    margin-bottom: 0.24rem;
    display: inline-block;
}

body.landing-master .tm-input-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid rgba(180, 193, 233, 0.8);
    background: #f6f8ff;
    border-radius: 12px;
    padding: 0.38rem 0.5rem;
}

body.landing-master .tm-input-wrap.is-invalid {
    border-color: rgba(220, 38, 38, 0.6);
    background: #fff5f5;
    box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.14);
}

body.landing-master .tm-input-emoji {
    font-size: 1rem;
    line-height: 1;
}

body.landing-master .tm-input-wrap input {
    border: 0;
    background: transparent;
    padding: 0.2rem 0.1rem;
    margin: 0;
    box-shadow: none;
    color: #1f2d55;
    width: 100%;
}

body.landing-master .tm-input-wrap input::placeholder {
    color: #7b87b0;
    opacity: 1;
}

body.landing-master .tm-input-wrap input:focus {
    outline: none;
    box-shadow: none;
}

body.landing-master .tm-password-toggle {
    border: 0;
    background: transparent;
    color: #5f6f95;
    font-size: 1rem;
    cursor: pointer;
    padding: 0.15rem;
    line-height: 1;
}

body.landing-master .tm-login-card {
    border-radius: 22px;
    border: 1px solid rgba(222, 233, 255, 0.45);
    background: rgba(255, 255, 255, 0.95);
    color: #253156;
    padding: 1rem 1rem;
    box-shadow: 0 18px 30px rgba(23, 34, 79, 0.2);
}

body.landing-master .tm-login-card h2 {
    margin: 0;
    color: #1f2b51;
    font-size: 1.46rem;
}

body.landing-master .tm-login-card p {
    margin: 0.35rem 0 0.72rem;
    color: #5a688f;
}

body.landing-master .tm-login-card label {
    color: #364772;
    font-weight: 600;
}

body.landing-master .tm-login-card input,
body.landing-master .tm-login-card select,
body.landing-master .tm-login-card textarea {
    border: 1px solid rgba(180, 193, 233, 0.72);
    background: #f6f8ff;
    color: #1f2d55;
    box-shadow: none;
}

body.landing-master .tm-login-card input::placeholder,
body.landing-master .tm-login-card textarea::placeholder {
    color: #7a8ab2;
}

body.landing-master .tm-login-card .role-switch {
    border-radius: 11px;
    border-color: rgba(191, 202, 236, 0.7);
    margin-bottom: 0.7rem;
    box-shadow: none;
}

body.landing-master .tm-login-card .role-btn {
    background: #eef3ff;
    color: #556488;
    font-weight: 600;
}

body.landing-master .tm-login-card .role-btn.is-active {
    background: linear-gradient(145deg, #338FD0, #7BC2F2);
    color: #ffffff;
}

body.landing-master .tm-section {
    border-radius: 26px;
    border: 1px solid rgba(191, 203, 240, 0.56);
    background: linear-gradient(158deg, rgba(255, 255, 255, 0.94), rgba(244, 248, 255, 0.94));
    box-shadow: 0 18px 34px rgba(26, 37, 84, 0.1);
    padding: 1.08rem;
}

body.landing-master .tm-section-head h2 {
    margin: 0;
    color: #1d2b53;
    font-size: clamp(1.4rem, 2vw, 2rem);
}

body.landing-master .tm-section-head p {
    margin: 0.3rem 0 0.7rem;
    color: #5d6b90;
}

body.landing-master #overview .tm-section-head h2,
body.landing-master #workflow .tm-section-head h2 {
    letter-spacing: 0.01em;
    font-size: clamp(1.55rem, 2.4vw, 2.15rem);
}

body.landing-master #overview .tm-step-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 0.85rem;
}

body.landing-master #overview .tm-step-card {
    border-radius: 18px;
    border: 1px solid rgba(178, 196, 243, 0.9);
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.84), transparent 52%),
        linear-gradient(152deg, #ffffff, #e9f1ff);
    box-shadow: 0 12px 22px rgba(29, 40, 86, 0.1);
    padding: 0.92rem 0.88rem 0.86rem;
    position: relative;
    overflow: hidden;
}

body.landing-master #overview .tm-step-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #338FD0, #2563eb, #14b8a6);
}

body.landing-master .tm-step-no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(146, 167, 230, 0.78);
    background: linear-gradient(145deg, #f8fbff, #e9f0ff);
    color: #3b4f84;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    padding: 0.24rem 0.58rem;
    margin-bottom: 0.54rem;
}

body.landing-master .tm-step-card h3 {
    margin: 0;
    color: #263964;
    font-size: 1rem;
}

body.landing-master .tm-step-card p {
    margin: 0.42rem 0 0;
    color: #5e6f98;
    font-size: 0.85rem;
    line-height: 1.45;
}

body.landing-master #workflow .tm-workflow-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

body.landing-master #workflow .tm-workflow-card {
    --workflow-dot: #39B9AE;
    --workflow-border: rgba(57, 185, 174, 0.28);
    --workflow-hover-border: rgba(57, 185, 174, 0.54);
    --workflow-hover-shadow: rgba(57, 185, 174, 0.2);
    --workflow-hover-bg: linear-gradient(180deg, #eefcfb 0%, #e5f7fb 100%);
    border-radius: 20px;
    border: 1px solid rgba(173, 190, 232, 0.78);
    background: linear-gradient(162deg, #f8fbff, #eff4f9);
    box-shadow: 0 14px 28px rgba(28, 41, 87, 0.14);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.landing-master #workflow .tm-workflow-card:hover {
    transform: translateY(-3px);
    border-color: rgba(142, 166, 227, 0.92);
    box-shadow: 0 18px 30px rgba(28, 41, 87, 0.18);
}

body.landing-master #workflow .tm-workflow-card-head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    gap: 0.74rem;
    padding: 0.86rem 0.9rem;
    background: linear-gradient(128deg, #7BC2F2, #4DCAC4);
    text-align: left;
}

body.landing-master #workflow .tm-workflow-icon {
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

body.landing-master #workflow .tm-workflow-card-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: 1.08rem;
    line-height: 1.28;
}

body.landing-master #workflow .tm-workflow-card-body {
    padding: 0.88rem 0.92rem 0.96rem;
    background: linear-gradient(180deg, #edf4f8 0%, #f4f7fb 100%);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.64rem;
    flex: 1;
    text-align: left;
}

body.landing-master #workflow .tm-workflow-card-body p {
    margin: 0;
    color: #31506f;
    font-size: 0.92rem;
    line-height: 1.5;
}

body.landing-master #workflow .tm-workflow-points {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    justify-items: stretch;
    gap: 0.42rem;
}

body.landing-master #workflow .tm-workflow-points li {
    position: relative;
    margin: 0;
    padding-left: 1.08rem;
    color: #2f4868;
    font-size: 0.9rem;
    line-height: 1.42;
    text-align: left;
}

body.landing-master #workflow .tm-workflow-points li::before {
    content: "";
    position: absolute;
    left: 0.12rem;
    top: 0.46rem;
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: var(--workflow-dot);
}

body.landing-master #workflow .tm-workflow-card-tone-1 {
    --workflow-dot: #39B9AE;
    --workflow-border: rgba(57, 185, 174, 0.28);
    --workflow-hover-border: rgba(57, 185, 174, 0.54);
    --workflow-hover-shadow: rgba(57, 185, 174, 0.2);
    --workflow-hover-bg: linear-gradient(180deg, #eefcfb 0%, #e5f7fb 100%);
}

body.landing-master #workflow .tm-workflow-card-tone-1 .tm-workflow-card-head {
    background: linear-gradient(128deg, #7BC2F2, #39B9AE);
}

body.landing-master #workflow .tm-workflow-card-tone-2 {
    --workflow-dot: #63D5C7;
    --workflow-border: rgba(99, 213, 199, 0.28);
    --workflow-hover-border: rgba(99, 213, 199, 0.56);
    --workflow-hover-shadow: rgba(99, 213, 199, 0.18);
    --workflow-hover-bg: linear-gradient(180deg, #effdfa 0%, #e1f8f1 100%);
}

body.landing-master #workflow .tm-workflow-card-tone-2 .tm-workflow-card-head {
    background: linear-gradient(128deg, #63D5C7, #7BE0D7);
}

body.landing-master #workflow .tm-workflow-card-tone-3 {
    --workflow-dot: #58AFEA;
    --workflow-border: rgba(88, 175, 234, 0.28);
    --workflow-hover-border: rgba(88, 175, 234, 0.56);
    --workflow-hover-shadow: rgba(88, 175, 234, 0.18);
    --workflow-hover-bg: linear-gradient(180deg, #eef7ff 0%, #e4f1ff 100%);
}

body.landing-master #workflow .tm-workflow-card-tone-3 .tm-workflow-card-head {
    background: linear-gradient(128deg, #7BC2F2, #58AFEA);
}

body.landing-master #workflow .tm-workflow-card-tone-4 {
    --workflow-dot: #9ADFF7;
    --workflow-border: rgba(154, 223, 247, 0.3);
    --workflow-hover-border: rgba(154, 223, 247, 0.62);
    --workflow-hover-shadow: rgba(123, 194, 242, 0.16);
    --workflow-hover-bg: linear-gradient(180deg, #f4fbff 0%, #ebf7ff 100%);
}

body.landing-master #workflow .tm-workflow-card-tone-4 .tm-workflow-card-head {
    background: linear-gradient(128deg, #A9DFFC, #7BC2F2);
}

body.landing-master #workflow .tm-workflow-card-tone-5 {
    --workflow-dot: #54CDBF;
    --workflow-border: rgba(84, 205, 191, 0.28);
    --workflow-hover-border: rgba(84, 205, 191, 0.54);
    --workflow-hover-shadow: rgba(84, 205, 191, 0.18);
    --workflow-hover-bg: linear-gradient(180deg, #eefcf8 0%, #e3f7f1 100%);
}

body.landing-master #workflow .tm-workflow-card-tone-5 .tm-workflow-card-head {
    background: linear-gradient(128deg, #54CDBF, #8BE6D8);
}

body.landing-master #workflow .tm-workflow-card-tone-6 {
    --workflow-dot: #4A9FD8;
    --workflow-border: rgba(74, 159, 216, 0.28);
    --workflow-hover-border: rgba(74, 159, 216, 0.56);
    --workflow-hover-shadow: rgba(74, 159, 216, 0.18);
    --workflow-hover-bg: linear-gradient(180deg, #f1f8ff 0%, #e3f0fb 100%);
}

body.landing-master #workflow .tm-workflow-card-tone-6 .tm-workflow-card-head {
    background: linear-gradient(128deg, #58AFEA, #4A9FD8);
}

body.landing-master .tm-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.72rem;
}

body.landing-master .tm-info-card {
    border-radius: 16px;
    border: 1px solid rgba(197, 209, 244, 0.74);
    background: linear-gradient(150deg, #ffffff, #edf2ff);
    padding: 0.8rem;
    box-shadow: 0 10px 18px rgba(29, 40, 86, 0.08);
}

body.landing-master .tm-info-card h3 {
    margin: 0;
    color: #2a3966;
    font-size: 1rem;
}

body.landing-master .tm-info-card p {
    margin: 0.38rem 0 0;
    color: #62719a;
    font-size: 0.85rem;
}

body.landing-master .tm-insights-section .tm-info-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.landing-master .tm-insights-section .tm-info-card:hover {
    transform: translateY(-3px);
    border-color: rgba(154, 173, 236, 0.8);
    box-shadow: 0 14px 24px rgba(38, 52, 101, 0.14);
}

body.landing-master .tm-insights-section .tm-info-card h3 {
    display: flex;
    align-items: center;
    gap: 0.38rem;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight {
    border-color: rgba(137, 156, 232, 0.86);
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.9), transparent 56%),
        linear-gradient(152deg, #f6f8ff, #e6edff);
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight h3 {
    color: #23346a;
}

@media (min-width: 1121px) {
    body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight {
        grid-column: span 2;
    }
}

body.landing-master .tm-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
}

body.landing-master .tm-faq-item {
    border-radius: 16px;
    border: 1px solid rgba(187, 202, 240, 0.82);
    background: linear-gradient(155deg, #ffffff, #ecf2ff);
    box-shadow: 0 12px 20px rgba(33, 47, 95, 0.08);
    padding: 0.7rem 0.82rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.landing-master .tm-faq-item[open] {
    border-color: rgba(133, 154, 227, 0.86);
    box-shadow: 0 16px 24px rgba(34, 49, 97, 0.12);
}

body.landing-master .tm-faq-item:hover {
    transform: translateY(-2px);
}

body.landing-master .tm-faq-item summary {
    cursor: pointer;
    color: #263c73;
    font-weight: 700;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

body.landing-master .tm-faq-item summary::after {
    content: "+";
    color: #46598a;
    font-size: 1rem;
    font-weight: 800;
}

body.landing-master .tm-faq-item[open] summary::after {
    content: "-";
}

body.landing-master .tm-faq-item p {
    margin: 0.5rem 0 0;
    color: #5a6c97;
    font-size: 0.84rem;
    line-height: 1.45;
}

body.landing-master .tm-routine-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
}

body.landing-master .tm-meta-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(173, 186, 229, 0.78);
    background: linear-gradient(145deg, #ffffff, #ecf2ff);
    padding: 0.28rem 0.58rem;
    color: #495881;
    font-size: 0.74rem;
    font-weight: 700;
}

body.landing-master .tm-routine-subtitle {
    margin: 0;
    color: #5e6e95;
}

body.landing-master .tm-routine-note {
    margin: 0.5rem 0 0;
    color: #c2410c;
    font-size: 0.8rem;
    font-weight: 600;
}

body.landing-master .tm-table-shell {
    margin-top: 0.76rem;
}

body.landing-master .tm-scroll-note {
    display: none;
    margin: 0 0 0.35rem;
    color: #5f6f95;
    font-size: 0.76rem;
    font-weight: 600;
}

body.landing-master .tm-table-wrap {
    border-radius: 16px;
    border: 1px solid rgba(170, 184, 227, 0.72);
    background: #f6f9ff;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #5d65d8 rgba(207, 217, 244, 0.5);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.landing-master .tm-table-wrap::-webkit-scrollbar {
    height: 11px;
}

body.landing-master .tm-table-wrap::-webkit-scrollbar-track {
    background: rgba(207, 217, 244, 0.5);
    border-radius: 999px;
}

body.landing-master .tm-table-wrap::-webkit-scrollbar-thumb {
    background: linear-gradient(145deg, #7c83f2, #5d65d8);
    border-radius: 999px;
}

body.landing-master .tm-routine-table {
    min-width: 1150px;
    border-collapse: collapse;
    border: none;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    color: #22315a;
}

body.landing-master .tm-routine-table th,
body.landing-master .tm-routine-table td {
    border: 1px solid rgba(174, 188, 230, 0.56);
    padding: 0.42rem 0.46rem;
    font-size: 0.73rem;
}

body.landing-master .tm-routine-table thead th {
    background: #dbe6ff;
    color: #334578;
    font-weight: 800;
}

body.landing-master .tm-routine-table .day-cell {
    background: #d7f1ec;
    color: #295256;
    text-align: center;
    min-width: 106px;
}

body.landing-master .tm-routine-table .time-label-cell {
    background: #e6ecfa;
    color: #41517f;
    min-width: 112px;
}

body.landing-master .tm-routine-table .tm-routine-cell {
    background: linear-gradient(150deg, var(--slot-color, #edf3ff), #f8fbff);
}

body.landing-master .tm-routine-table .tiffin-cell {
    background: linear-gradient(145deg, #fde68a, #fcd34d);
    color: #513a03;
    font-weight: 800;
    letter-spacing: 0.02em;
}

body.landing-master .tm-routine-table .cell-line {
    color: #253769;
    line-height: 1.3;
    font-weight: 600;
}

body.landing-master .tm-routine-table .cell-line small {
    color: #4f5f88;
    font-size: 0.66rem;
}

body.landing-master .tm-routine-table .empty-slot {
    color: #6f7ca2;
}

body.landing-master .tm-routine-mobile {
    display: none;
    margin-top: 0.72rem;
    gap: 0.62rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #5d65d8 rgba(207, 217, 244, 0.5);
}

body.landing-master .tm-routine-mobile::-webkit-scrollbar {
    height: 10px;
}

body.landing-master .tm-routine-mobile::-webkit-scrollbar-track {
    background: rgba(207, 217, 244, 0.5);
    border-radius: 999px;
}

body.landing-master .tm-routine-mobile::-webkit-scrollbar-thumb {
    background: linear-gradient(145deg, #7c83f2, #5d65d8);
    border-radius: 999px;
}

body.landing-master .tm-routine-day-card {
    border-radius: 15px;
    border: 1px solid rgba(184, 199, 238, 0.82);
    background: linear-gradient(150deg, #ffffff, #edf3ff);
    box-shadow: 0 10px 18px rgba(31, 45, 94, 0.1);
    padding: 0.7rem;
}

body.landing-master .tm-routine-day-card h3 {
    margin: 0 0 0.52rem;
    color: #243868;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
}

body.landing-master .tm-routine-day-list {
    display: grid;
    gap: 0.44rem;
    min-width: 0;
}

body.landing-master .tm-routine-day-item {
    border-radius: 11px;
    border: 1px solid rgba(189, 205, 242, 0.84);
    background: linear-gradient(150deg, var(--day-slot-color, #eef3ff), #f8fbff);
    padding: 0.46rem 0.52rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.landing-master .tm-routine-day-item.tm-routine-day-item-break {
    border-color: rgba(230, 192, 108, 0.7);
    background: linear-gradient(145deg, #fef0c7, #fde68a);
}

body.landing-master .tm-routine-day-slot {
    color: #445480;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    margin-bottom: 0.22rem;
}

body.landing-master .tm-routine-day-value,
body.landing-master .tm-routine-day-empty {
    color: #2c3f70;
    font-size: 0.82rem;
    font-weight: 700;
}

body.landing-master .tm-routine-day-empty {
    color: #6a7ca7;
}

body.landing-master .tm-routine-day-entry {
    border: 1px solid rgba(197, 208, 236, 0.78);
    border-radius: 10px;
    padding: 0.34rem 0.4rem;
    margin: 0.24rem 0 0;
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04)), var(--entry-color, #F2FCFF);
}

body.landing-master .tm-routine-day-entry-title {
    color: #233665;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.3;
    display: flex;
    gap: 0.24rem;
    align-items: flex-start;
}

body.landing-master .tm-routine-day-entry-meta {
    color: #566892;
    font-size: 0.7rem;
    line-height: 1.3;
    margin-top: 0.12rem;
}

body.landing-master .tm-contact-section {
    padding: 1.15rem;
}

body.landing-master .tm-contact-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(320px, 1.08fr);
    gap: 0.9rem;
    align-items: stretch;
}

body.landing-master .tm-contact-grid > :only-child {
    grid-column: 1 / -1;
}

body.landing-master .tm-contact-card,
body.landing-master .tm-side-card {
    border-radius: 18px;
    border: 1px solid rgba(193, 206, 241, 0.7);
    background: linear-gradient(155deg, #ffffff, #eef3ff);
    padding: 0.92rem;
}

body.landing-master .tm-contact-card h1,
body.landing-master .tm-side-card h2 {
    margin: 0;
    color: #253664;
}

body.landing-master .tm-contact-card p,
body.landing-master .tm-side-card p {
    color: #5f6f96;
}

body.landing-master .tm-contact-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.92), transparent 54%),
        linear-gradient(160deg, #f4f8ff, #e8f1ff);
    overflow: hidden;
}

body.landing-master .tm-contact-image {
    width: min(100%, 560px);
    height: auto;
    display: block;
    filter: drop-shadow(0 12px 20px rgba(30, 58, 138, 0.16));
}

body.landing-master .tm-contact-form-card {
    padding: 1rem;
}

body.landing-master .tm-contact-notice {
    margin: 0.36rem 0 0.72rem;
    border-radius: 12px;
    border: 1px solid transparent;
    padding: 0.62rem 0.72rem;
    font-size: 0.86rem;
    line-height: 1.4;
    font-weight: 600;
}

body.landing-master .tm-contact-notice-success {
    border-color: rgba(34, 197, 94, 0.35);
    background: linear-gradient(155deg, rgba(236, 253, 245, 0.92), rgba(220, 252, 231, 0.92));
    color: #166534;
}

body.landing-master .tm-contact-notice-error {
    border-color: rgba(239, 68, 68, 0.36);
    background: linear-gradient(155deg, rgba(254, 242, 242, 0.95), rgba(254, 226, 226, 0.95));
    color: #991b1b;
}

body.landing-master .tm-contact-notice-warning {
    border-color: rgba(245, 158, 11, 0.36);
    background: linear-gradient(155deg, rgba(255, 251, 235, 0.95), rgba(254, 243, 199, 0.95));
    color: #92400e;
}

body.landing-master .tm-contact-notice-info {
    border-color: rgba(59, 130, 246, 0.3);
    background: linear-gradient(155deg, rgba(239, 246, 255, 0.95), rgba(219, 234, 254, 0.95));
    color: #1d4ed8;
}

body.landing-master .tm-contact-card label,
body.landing-master .tm-side-card label {
    color: #354974;
}

body.landing-master .tm-contact-card input,
body.landing-master .tm-contact-card select,
body.landing-master .tm-contact-card textarea {
    border: 1px solid rgba(181, 194, 233, 0.76);
    background: #f6f8ff;
    color: #1f305b;
    box-shadow: none;
}

body.landing-master .tm-contact-card input::placeholder,
body.landing-master .tm-contact-card textarea::placeholder {
    color: #7c8fbe;
    opacity: 1;
}

body.landing-master .tm-side-actions {
    margin-top: 0.7rem;
    display: grid;
    gap: 0.5rem;
}

body.landing-master [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.55s ease, transform 0.55s ease;
    transition-delay: var(--reveal-delay, 0ms);
}

body.landing-master [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

body.landing-master .tm-section[id] {
    scroll-margin-top: 6.6rem;
}

@media (max-width: 1120px) {
    body.landing-master .tm-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.landing-master .tm-step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.landing-master #workflow .tm-workflow-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.landing-master .tm-contact-grid {
        grid-template-columns: 1fr;
    }

    body.landing-master .tm-faq-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    body.landing-master .tm-main {
        padding-top: 5.55rem;
    }

    body.landing-master .tm-nav-shell {
        min-height: 70px;
    }

    body.landing-master .tm-brand {
        min-width: 0;
        max-width: calc(100% - 3.2rem);
    }

    body.landing-master .tm-brand-text {
        min-width: 0;
        overflow: visible;
        text-overflow: clip;
        white-space: nowrap;
    }

    body.landing-master .tm-menu-toggle {
        display: inline-block;
    }

    body.landing-master .tm-nav-menu {
        position: absolute;
        top: calc(100% + 0.55rem);
        left: 0;
        right: 0;
        border: 1px solid rgba(194, 206, 241, 0.94);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 16px 32px rgba(17, 30, 73, 0.18);
        padding: 0.72rem;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0.58rem;
    }

    body.landing-master .tm-nav-menu.is-open {
        display: flex;
        animation: tmMenuDrop 0.22s ease both;
    }

    @keyframes tmMenuDrop {
        from {
            opacity: 0;
            transform: translateY(-8px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    body.landing-master .tm-nav-links {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0.2rem;
    }

    body.landing-master .tm-nav-links a {
        width: 100%;
        border: 1px solid rgba(206, 216, 244, 0.9);
        background: #f8faff;
    }

    body.landing-master .tm-nav-cta {
        width: 100%;
        text-align: center;
    }

    body.landing-master .tm-hero-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body.landing-master .tm-brand {
        gap: 0.48rem;
        max-width: calc(100% - 3rem);
    }

    body.landing-master .tm-brand-text {
        gap: 0.08rem;
        overflow: visible;
        text-overflow: clip;
    }

    body.landing-master .tm-brand-light {
        display: inline;
    }

    body.landing-master .tm-brand-light,
    body.landing-master .tm-brand-strong {
        font-size: clamp(0.92rem, 4.4vw, 1.05rem);
    }
}

@media (max-width: 780px) {
    body.landing-master .flash-stack,
    body.landing-master .container,
    body.landing-master .tm-nav-shell {
        width: calc(100vw - 1rem);
    }

    body.landing-master .tm-section {
        padding: 0.85rem;
    }

    body.landing-master .tm-card-grid {
        grid-template-columns: 1fr;
    }

    body.landing-master .tm-step-grid {
        grid-template-columns: 1fr;
    }

    body.landing-master #workflow .tm-workflow-card-grid {
        grid-template-columns: 1fr;
    }

    body.landing-master .tm-stat-grid {
        grid-template-columns: 1fr;
    }

    body.landing-master .tm-action-row {
        flex-direction: column;
    }

    body.landing-master .tm-action-row .tm-btn {
        width: 100%;
    }

    body.landing-master .tm-live-strip {
        flex-direction: column;
    }

    body.landing-master .tm-routine-table {
        min-width: 980px;
    }
}

/* Unified index-style theme for admin/faculty/student panels */
body:not(.landing-master) {
    color: #1e2a4a;
    background:
        radial-gradient(980px circle at 10% -12%, rgba(79, 70, 229, 0.2), transparent 56%),
        radial-gradient(930px circle at 90% 6%, rgba(37, 99, 235, 0.16), transparent 58%),
        radial-gradient(900px circle at 50% 112%, rgba(20, 184, 166, 0.14), transparent 58%),
        linear-gradient(170deg, #eef3ff 0%, #f4f8ff 52%, #ecf4ff 100%);
}

body:not(.landing-master) h1,
body:not(.landing-master) h2,
body:not(.landing-master) h3 {
    color: #1f2f59;
}

body:not(.landing-master) p,
body:not(.landing-master) small,
body:not(.landing-master) .muted {
    color: #5a6d99;
}

body:not(.landing-master) .topbar {
    border: 1px solid rgba(188, 202, 239, 0.78);
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 16px 30px rgba(29, 44, 92, 0.14);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

body:not(.landing-master) .brand {
    color: #338FD0;
    border: 1px solid rgba(173, 190, 238, 0.75);
    background: linear-gradient(145deg, #ffffff, #eef3ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 8px 16px rgba(40, 55, 106, 0.12);
}

body:not(.landing-master) .page-title-wrap h1 {
    color: #1f2f59;
}

body:not(.landing-master) .page-title-wrap p {
    color: #5b6f9c;
}

body:not(.landing-master) .main-nav a,
body:not(.landing-master) .main-nav a.nav-link {
    color: #445480;
    border: 1px solid rgba(186, 201, 239, 0.74);
    background: linear-gradient(145deg, #ffffff, #edf3ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86), 0 8px 14px rgba(37, 51, 98, 0.1);
}

body:not(.landing-master) .main-nav a:hover,
body:not(.landing-master) .main-nav a.nav-link:hover {
    color: #3f35cc;
    border-color: rgba(140, 162, 227, 0.84);
    background: linear-gradient(145deg, #f8fbff, #e7efff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 10px 16px rgba(34, 49, 98, 0.14);
}

body:not(.landing-master) .main-nav a.is-current,
body:not(.landing-master) .main-nav a.nav-link.is-current {
    color: #2c2775;
    border-color: rgba(120, 133, 236, 0.9);
    background: linear-gradient(145deg, #cfd8ff, #bfc9ff);
    box-shadow: 0 0 0 1px rgba(120, 133, 236, 0.28), 0 10px 18px rgba(56, 70, 141, 0.2);
}

body:not(.landing-master) .main-nav .nav-emoji,
body:not(.landing-master) .logout-link .nav-emoji {
    border-color: rgba(166, 184, 235, 0.82);
    background: linear-gradient(145deg, #dbe5ff, #ccd8ff);
    color: #35457b;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 8px 14px rgba(43, 58, 113, 0.16);
}

body:not(.landing-master) .avatar-chip {
    border-color: rgba(183, 198, 237, 0.76);
    background: linear-gradient(145deg, #ffffff, #edf3ff);
    box-shadow: 0 9px 16px rgba(35, 49, 98, 0.1);
}

body:not(.landing-master) .btn,
body:not(.landing-master) .topbar .btn.btn-outline {
    color: #ffffff;
    border-color: rgba(103, 121, 233, 0.84);
    background: linear-gradient(145deg, #338FD0, #7BC2F2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 10px 18px rgba(52, 65, 145, 0.24);
}

body:not(.landing-master) .btn:hover,
body:not(.landing-master) .topbar .btn.btn-outline:hover {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26), 0 12px 20px rgba(51, 63, 142, 0.3);
}

body:not(.landing-master) .btn.btn-danger {
    color: #ffffff;
    border-color: rgba(220, 96, 116, 0.82);
    background: linear-gradient(145deg, #dc3545, #c92a3d);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 10px 18px rgba(163, 40, 63, 0.24);
}

body:not(.landing-master) .panel {
    border: 1px solid rgba(187, 203, 241, 0.72);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.95), rgba(242, 248, 255, 0.95));
    box-shadow: 0 16px 30px rgba(34, 49, 98, 0.1);
}

body:not(.landing-master) .panel::after {
    border-color: rgba(210, 224, 255, 0.5);
}

body:not(.landing-master) .panel:hover {
    box-shadow: 0 18px 34px rgba(31, 46, 95, 0.14);
}

body:not(.landing-master) .mini-card,
body:not(.landing-master) .action-tile,
body:not(.landing-master) .metric-card,
body:not(.landing-master) .badge,
body:not(.landing-master) .pill,
body:not(.landing-master) .kicker,
body:not(.landing-master) .demo-box,
body:not(.landing-master) .suggestion-box {
    border-color: rgba(189, 204, 240, 0.74);
    background: linear-gradient(145deg, #ffffff, #edf3ff);
    color: #445785;
}

body:not(.landing-master) .routine-table {
    background: #f7faff;
    border-color: rgba(180, 196, 236, 0.72);
    color: #233560;
}

body:not(.landing-master) .routine-table thead th {
    background: #dbe6ff;
    color: #324678;
}

body:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body:not(.landing-master) select,
body:not(.landing-master) textarea {
    border-color: rgba(177, 194, 234, 0.78);
    background: linear-gradient(145deg, #f9fbff, #eef4ff);
    color: #223560;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body:not(.landing-master) input::placeholder,
body:not(.landing-master) textarea::placeholder {
    color: #7b8db9;
}

body:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):focus,
body:not(.landing-master) select:focus,
body:not(.landing-master) textarea:focus {
    border-color: rgba(109, 133, 233, 0.84);
    box-shadow: 0 0 0 2px rgba(109, 133, 233, 0.2);
}

body:not(.landing-master) .flash {
    border-color: rgba(179, 194, 233, 0.78);
    background: linear-gradient(145deg, #ffffff, #edf3ff);
    color: #324873;
}

/* Force parity with index theme on non-landing panels */
body:not(.landing-master) .topbar {
    border: 1px solid rgba(188, 202, 239, 0.78) !important;
    background: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 16px 30px rgba(29, 44, 92, 0.14) !important;
}

body:not(.landing-master) .main-nav a,
body:not(.landing-master) .main-nav a.nav-link {
    color: #445480 !important;
    border: 1px solid rgba(186, 201, 239, 0.74) !important;
    background: linear-gradient(145deg, #ffffff, #edf3ff) !important;
}

body:not(.landing-master) .main-nav a:hover,
body:not(.landing-master) .main-nav a.nav-link:hover {
    color: #3f35cc !important;
    border-color: rgba(140, 162, 227, 0.84) !important;
    background: linear-gradient(145deg, #f8fbff, #e7efff) !important;
}

body:not(.landing-master) .main-nav a.is-current,
body:not(.landing-master) .main-nav a.nav-link.is-current {
    color: #2c2775 !important;
    border-color: rgba(120, 133, 236, 0.9) !important;
    background: linear-gradient(145deg, #cfd8ff, #bfc9ff) !important;
}

body:not(.landing-master) .panel {
    border: 1px solid rgba(187, 203, 241, 0.72) !important;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.95), rgba(242, 248, 255, 0.95)) !important;
    box-shadow: 0 16px 30px rgba(34, 49, 98, 0.1) !important;
}

body:not(.landing-master) .topbar .brand.brand-rich {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    padding: 0.32rem 0.58rem !important;
    color: #338FD0 !important;
    border: 1px solid rgba(173, 190, 238, 0.75) !important;
    background: linear-gradient(145deg, #ffffff, #eef3ff) !important;
}

body:not(.landing-master) .topbar .brand.brand-rich .brand-mini-logo {
    width: 30px;
    height: 30px;
    display: inline-flex;
    flex: 0 0 auto;
}

body:not(.landing-master) .topbar .brand.brand-rich .brand-mini-logo svg {
    width: 100%;
    height: 100%;
}

body:not(.landing-master) .topbar .brand.brand-rich .brand-rich-text {
    display: inline-flex;
    align-items: baseline;
    gap: 0.1rem;
    font-style: italic;
    letter-spacing: -0.02em;
}

body:not(.landing-master) .topbar .brand.brand-rich .brand-rich-light,
body:not(.landing-master) .topbar .brand.brand-rich .brand-rich-strong {
    color: #338FD0;
    line-height: 1;
}

body:not(.landing-master) .topbar .brand.brand-rich .brand-rich-light {
    font-weight: 300;
    font-size: 1.14rem;
}

body:not(.landing-master) .topbar .brand.brand-rich .brand-rich-strong {
    font-weight: 800;
    font-size: 1.14rem;
}

/* Admin navbar links: match index navbar color and hover style */
body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link {
    color: #47557d !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link:hover {
    color: #3f35cc !important;
    border-color: rgba(147, 159, 225, 0.46) !important;
    background: rgba(241, 245, 255, 0.86) !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link.is-current {
    color: #3128ad !important;
    border-color: rgba(140, 162, 227, 0.74) !important;
    background: rgba(229, 236, 255, 0.95) !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav .nav-emoji {
    border-color: rgba(187, 203, 241, 0.74) !important;
    background: linear-gradient(145deg, #ffffff, #eef3ff) !important;
    color: #4f5f88 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 8px 14px rgba(37, 51, 98, 0.1) !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link:hover .nav-emoji {
    border-color: rgba(147, 159, 225, 0.64) !important;
    background: linear-gradient(145deg, #f8fbff, #e9f0ff) !important;
    color: #3f35cc !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link.is-current .nav-emoji {
    border-color: rgba(120, 133, 236, 0.84) !important;
    background: linear-gradient(145deg, #d6e0ff, #c8d3ff) !important;
    color: #2c2775 !important;
}

/* Admin navbar visual parity with index header */
body:not(.landing-master) .topbar.topbar-admin {
    width: 100% !important;
    margin: 0 0 1rem !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    padding: 0.82rem clamp(0.9rem, 3vw, 2rem) !important;
    position: sticky;
    top: 0;
    z-index: 70;
}

body:not(.landing-master) .topbar.topbar-admin .brand-wrap {
    gap: 0.4rem !important;
}

body:not(.landing-master) .topbar.topbar-admin .page-title-wrap {
    display: none !important;
}

body:not(.landing-master) .topbar.topbar-admin .top-actions {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav {
    gap: 0.25rem !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav .nav-emoji {
    display: none !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link {
    padding: 0.44rem 0.72rem !important;
    font-size: 0.88rem !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    box-shadow: none !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link:hover {
    color: #3f35cc !important;
    background: rgba(241, 245, 255, 0.86) !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link.is-current {
    color: #2f2aa0 !important;
    background: rgba(228, 236, 255, 0.92) !important;
}

body:not(.landing-master) .topbar.topbar-admin .role-icons,
body:not(.landing-master) .topbar.topbar-admin .avatar-chip {
    display: none !important;
}

body:not(.landing-master) .topbar.topbar-admin .logout-link {
    margin-left: 0.35rem !important;
    min-height: 43px;
    padding: 0.56rem 1.1rem !important;
    border-radius: 12px !important;
    border: 1px solid rgba(103, 121, 233, 0.84) !important;
    background: linear-gradient(145deg, #338FD0, #7BC2F2) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 18px rgba(52, 65, 145, 0.24) !important;
}

body:not(.landing-master) .topbar.topbar-admin .logout-link .nav-emoji {
    display: none !important;
}

/* Hard reset against legacy sidebar navbar rules for admin */
body:not(.landing-master) .topbar.topbar-admin {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: space-between !important;
    overflow: visible !important;
}

body:not(.landing-master) .topbar.topbar-admin .top-actions {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.6rem !important;
    flex-wrap: nowrap !important;
    margin-left: auto !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 1 auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 !important;
}

body:not(.landing-master) .topbar.topbar-admin .main-nav a.nav-link {
    width: auto !important;
    flex: 0 0 auto !important;
}

/* Final lock: keep admin nav links in one horizontal row */
html body:not(.landing-master) header.topbar.topbar-admin .top-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.6rem !important;
    justify-content: end !important;
}

html body:not(.landing-master) header.topbar.topbar-admin .main-nav {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: max-content !important;
    justify-content: end !important;
    align-items: center !important;
    column-gap: 0.28rem !important;
    row-gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: thin;
}

html body:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link {
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    margin: 0 !important;
}

/* Final admin navbar + content alignment lock */
html body:not(.landing-master) .flash-stack,
html body:not(.landing-master) .container {
    width: min(1240px, 95vw) !important;
    max-width: 1240px !important;
    margin: 1rem auto 2rem !important;
    padding: 0 !important;
}

html body:not(.landing-master) header.topbar.topbar-admin {
    position: relative !important;
    width: min(1240px, 95vw) !important;
    max-width: 1240px !important;
    margin: 1rem auto 0 !important;
    padding: 0.72rem 0.9rem !important;
    border-radius: 18px !important;
    display: grid !important;
    grid-template-columns: minmax(210px, auto) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 0.68rem !important;
    overflow: visible !important;
}

html body:not(.landing-master) header.topbar.topbar-admin .brand-wrap {
    min-width: 0 !important;
}

html body:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle {
    display: none !important;
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(191, 200, 233, 0.86);
    background: #ffffff;
    border-radius: 12px;
    width: 42px;
    height: 42px;
    padding: 9px 8px;
    cursor: pointer;
    box-shadow: 0 8px 16px rgba(28, 40, 84, 0.12);
}

html body:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: #495882;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

html body:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle span + span {
    margin-top: 6px;
}

html body:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

html body:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

html body:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

html body:not(.landing-master) header.topbar.topbar-admin .top-actions {
    width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    justify-self: end !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.58rem !important;
    justify-content: end !important;
}

html body:not(.landing-master) header.topbar.topbar-admin .main-nav {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.24rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 !important;
}

html body:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link {
    width: auto !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

html body:not(.landing-master) header.topbar.topbar-admin .logout-link {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
}

@media (max-width: 980px) {
    html body:not(.landing-master) header.topbar.topbar-admin {
        grid-template-columns: minmax(0, 1fr) auto !important;
        padding: 0.66rem 0.72rem !important;
        border-radius: 16px !important;
    }

    html body:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        margin-left: auto !important;
    }

    html body:not(.landing-master) header.topbar.topbar-admin .top-actions {
        display: none !important;
        position: absolute !important;
        top: calc(100% + 0.45rem);
        right: 0 !important;
        width: min(320px, calc(100vw - 1.3rem)) !important;
        grid-template-columns: minmax(0, 1fr) !important;
        padding: 0.5rem !important;
        border: 1px solid rgba(188, 202, 239, 0.84);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.97);
        box-shadow: 0 16px 30px rgba(29, 44, 92, 0.2);
        z-index: 120;
    }

    html body:not(.landing-master) header.topbar.topbar-admin .top-actions.is-open {
        display: grid !important;
    }

    html body:not(.landing-master) header.topbar.topbar-admin .main-nav {
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0.28rem !important;
        overflow: visible !important;
    }

    html body:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link {
        width: 100% !important;
        justify-content: flex-start !important;
        padding: 0.52rem 0.7rem !important;
    }

    html body:not(.landing-master) header.topbar.topbar-admin .logout-link {
        width: 100% !important;
        justify-content: center !important;
        margin-top: 0.16rem !important;
        min-height: 42px;
    }

    html body:not(.landing-master) .flash-stack,
    html body:not(.landing-master) .container {
        width: min(1240px, 96vw) !important;
    }
}

/* Premium admin full-screen pass */
body.role-admin:not(.landing-master) {
    color: #1a2b54 !important;
    font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif !important;
    min-height: 100vh;
    background:
        radial-gradient(1100px circle at 8% -18%, rgba(79, 70, 229, 0.2), transparent 58%),
        radial-gradient(1200px circle at 96% 0%, rgba(236, 72, 153, 0.16), transparent 60%),
        radial-gradient(950px circle at 50% 114%, rgba(20, 184, 166, 0.13), transparent 58%),
        linear-gradient(165deg, #edf3ff 0%, #f5f8ff 48%, #ecf5ff 100%) !important;
}

body.role-admin:not(.landing-master)::before {
    opacity: 0.18 !important;
}

body.role-admin:not(.landing-master) h1,
body.role-admin:not(.landing-master) h2,
body.role-admin:not(.landing-master) h3 {
    color: #182b58 !important;
    letter-spacing: -0.02em;
}

body.role-admin:not(.landing-master) p,
body.role-admin:not(.landing-master) small,
body.role-admin:not(.landing-master) .muted {
    color: #5a6e99 !important;
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin,
body.role-admin:not(.landing-master) .flash-stack,
body.role-admin:not(.landing-master) .container {
    width: calc(100vw - clamp(1rem, 3vw, 2.4rem)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin {
    margin-top: 0.8rem !important;
    margin-bottom: 1rem !important;
    padding: 0.78rem 1rem !important;
    border: 1px solid rgba(188, 202, 239, 0.84) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 14px 30px rgba(26, 40, 86, 0.14) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    position: sticky !important;
    top: 0.6rem !important;
    z-index: 85 !important;
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin .brand.brand-rich {
    border: 1px solid rgba(173, 190, 238, 0.82) !important;
    background: linear-gradient(145deg, #ffffff, #edf3ff) !important;
    border-radius: 14px !important;
    box-shadow: 0 9px 18px rgba(34, 48, 96, 0.12) !important;
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link {
    color: #43527a !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    border-radius: 10px !important;
    padding: 0.48rem 0.76rem !important;
    font-weight: 600 !important;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link:hover {
    color: #352dc0 !important;
    border-color: rgba(147, 159, 225, 0.45) !important;
    background: rgba(241, 245, 255, 0.92) !important;
    transform: translateY(-1px);
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link.is-current {
    color: #2b268f !important;
    border-color: rgba(120, 133, 236, 0.72) !important;
    background: rgba(228, 236, 255, 0.96) !important;
    box-shadow: 0 8px 16px rgba(65, 78, 151, 0.16) !important;
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin .logout-link {
    border-radius: 12px !important;
    border: 1px solid rgba(103, 121, 233, 0.84) !important;
    background: linear-gradient(145deg, #338FD0, #7BC2F2) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 18px rgba(52, 65, 145, 0.24) !important;
}

body.role-admin:not(.landing-master) .flash-stack {
    margin-top: 0.2rem !important;
    margin-bottom: 0.8rem !important;
}

body.role-admin:not(.landing-master) .container {
    margin-top: 0 !important;
    margin-bottom: 1.8rem !important;
}

body.role-admin:not(.landing-master) .page-grid {
    gap: 1rem !important;
}

body.role-admin:not(.landing-master) .panel {
    border: 1px solid rgba(187, 203, 241, 0.82) !important;
    border-radius: 24px !important;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(243, 248, 255, 0.96)) !important;
    box-shadow: 0 18px 32px rgba(34, 49, 98, 0.12) !important;
    animation: adminPanelLift 0.45s cubic-bezier(0.2, 0.62, 0.28, 1) both;
}

body.role-admin:not(.landing-master) .panel:hover {
    box-shadow: 0 20px 36px rgba(31, 46, 95, 0.16) !important;
}

body.role-admin:not(.landing-master) .metric-card,
body.role-admin:not(.landing-master) .action-tile,
body.role-admin:not(.landing-master) .mini-card,
body.role-admin:not(.landing-master) .pill,
body.role-admin:not(.landing-master) .badge,
body.role-admin:not(.landing-master) .kicker,
body.role-admin:not(.landing-master) .demo-box,
body.role-admin:not(.landing-master) .suggestion-box {
    border: 1px solid rgba(189, 204, 240, 0.76) !important;
    background: linear-gradient(145deg, #ffffff, #edf3ff) !important;
    color: #445785 !important;
}

body.role-admin:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body.role-admin:not(.landing-master) select,
body.role-admin:not(.landing-master) textarea {
    border: 1px solid rgba(177, 194, 234, 0.86) !important;
    background: linear-gradient(145deg, #f9fbff, #eef4ff) !important;
    color: #223560 !important;
}

body.role-admin:not(.landing-master) input::placeholder,
body.role-admin:not(.landing-master) textarea::placeholder {
    color: #7b8db9 !important;
}

body.role-admin:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):focus,
body.role-admin:not(.landing-master) select:focus,
body.role-admin:not(.landing-master) textarea:focus {
    border-color: rgba(109, 133, 233, 0.84) !important;
    box-shadow: 0 0 0 2px rgba(109, 133, 233, 0.2) !important;
}

@keyframes adminPanelLift {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.995);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 980px) {
    body.role-admin:not(.landing-master) header.topbar.topbar-admin,
    body.role-admin:not(.landing-master) .flash-stack,
    body.role-admin:not(.landing-master) .container {
        width: calc(100vw - 0.8rem) !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin {
        border-radius: 14px !important;
        padding: 0.64rem 0.68rem !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

/* Final admin UI tidy pass: cards, forms, summaries, tables */
body.role-admin:not(.landing-master) .metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 0.75rem !important;
}

body.role-admin:not(.landing-master) .metric-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px !important;
    border: 1px solid rgba(180, 199, 239, 0.8) !important;
    background: linear-gradient(145deg, #ffffff, #edf3ff) !important;
    box-shadow: 0 10px 18px rgba(35, 50, 98, 0.12) !important;
}

body.role-admin:not(.landing-master) .metric-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #338FD0, #2563eb);
}

body.role-admin:not(.landing-master) .metric-card:nth-child(1) {
    background: linear-gradient(145deg, #ffffff, #ecf8ff) !important;
}

body.role-admin:not(.landing-master) .metric-card:nth-child(2) {
    background: linear-gradient(145deg, #ffffff, #eef4ff) !important;
}

body.role-admin:not(.landing-master) .metric-card:nth-child(3) {
    background: linear-gradient(145deg, #ffffff, #f3f0ff) !important;
}

body.role-admin:not(.landing-master) .metric-card:nth-child(4) {
    background: linear-gradient(145deg, #ffffff, #eefcf8) !important;
}

body.role-admin:not(.landing-master) .metric-card:nth-child(5) {
    background: linear-gradient(145deg, #ffffff, #fff6ed) !important;
}

body.role-admin:not(.landing-master) .metric-card span {
    color: #445c8d !important;
    font-weight: 700 !important;
}

body.role-admin:not(.landing-master) .metric-card strong {
    color: #223a6a !important;
    font-size: 2rem !important;
    line-height: 1.05 !important;
}

body.role-admin:not(.landing-master) .action-grid {
    gap: 0.72rem !important;
}

body.role-admin:not(.landing-master) .action-tile {
    border-radius: 16px !important;
    border: 1px solid rgba(183, 201, 239, 0.78) !important;
    background: linear-gradient(155deg, #ffffff, #edf3ff) !important;
    box-shadow: 0 12px 20px rgba(35, 49, 96, 0.12) !important;
}

body.role-admin:not(.landing-master) .action-tile h3 {
    color: #223a6a !important;
    margin-bottom: 0.28rem !important;
}

body.role-admin:not(.landing-master) .action-tile p {
    color: #566b98 !important;
}

body.role-admin:not(.landing-master) .action-tile:hover {
    transform: translateY(-2px);
    border-color: rgba(124, 149, 228, 0.7) !important;
    box-shadow: 0 14px 24px rgba(31, 46, 94, 0.15) !important;
}

body.role-admin:not(.landing-master) label,
body.role-admin:not(.landing-master) .fixed-slot-selector {
    color: #334d82 !important;
    font-weight: 600 !important;
}

body.role-admin:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body.role-admin:not(.landing-master) select,
body.role-admin:not(.landing-master) textarea {
    color: #1f3564 !important;
    -webkit-text-fill-color: #1f3564 !important;
    caret-color: #2f52b2 !important;
    border-color: rgba(176, 193, 234, 0.9) !important;
    background: linear-gradient(145deg, #fafdff, #edf4ff) !important;
}

body.role-admin:not(.landing-master) input[readonly],
body.role-admin:not(.landing-master) textarea[readonly] {
    color: #2b4575 !important;
    -webkit-text-fill-color: #2b4575 !important;
    background: linear-gradient(145deg, #f2f6ff, #eaf0ff) !important;
}

body.role-admin:not(.landing-master) input::placeholder,
body.role-admin:not(.landing-master) textarea::placeholder {
    color: #7590c3 !important;
    opacity: 1;
}

body.role-admin:not(.landing-master) select option,
body.role-admin:not(.landing-master) select optgroup {
    background-color: #eef3ff !important;
    color: #203763 !important;
}

body.role-admin:not(.landing-master) details > summary {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.34rem 0.58rem;
    border-radius: 10px;
    border: 1px solid rgba(182, 198, 235, 0.78);
    background: linear-gradient(145deg, #ffffff, #edf3ff);
    color: #314c83;
    cursor: pointer;
    user-select: none;
}

body.role-admin:not(.landing-master) details[open] > summary {
    border-color: rgba(126, 149, 224, 0.72);
    color: #2a3f7b;
    background: linear-gradient(145deg, #f9fbff, #e7efff);
}

body.role-admin:not(.landing-master) .inline-row-actions {
    display: flex;
    gap: 0.46rem;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    min-width: 0;
}

body.role-admin:not(.landing-master) .inline-row-actions .danger-zone {
    margin-top: 0 !important;
}

body.role-admin:not(.landing-master) .inline-row-actions .compact-form {
    margin: 0 !important;
}

body.role-admin:not(.landing-master) .inline-row-actions .btn {
    white-space: nowrap;
}

body.role-admin:not(.landing-master) .inline-edit-row,
body.role-admin:not(.landing-master) .inline-edit-row:hover {
    background: transparent !important;
    box-shadow: none !important;
}

body.role-admin:not(.landing-master) .inline-edit-row td {
    border: 0 !important;
    background: transparent !important;
    padding: 0.2rem 0.54rem 0.78rem !important;
}

body.role-admin:not(.landing-master) .inline-edit-form {
    border: 1px solid rgba(181, 199, 239, 0.92);
    border-radius: 14px;
    padding: 0.7rem;
    background: linear-gradient(150deg, #fbfdff, #eef5ff) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 8px 16px rgba(36, 51, 100, 0.1) !important;
}

body.role-admin:not(.landing-master) .inline-edit-form .btn {
    justify-self: start;
}

body.role-admin:not(.landing-master) .table-wrap {
    border: 1px solid rgba(185, 202, 239, 0.84) !important;
    border-radius: 16px !important;
    padding: 0.46rem !important;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(242, 248, 255, 0.96)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 8px 16px rgba(34, 49, 98, 0.08) !important;
}

body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table) {
    border-collapse: separate !important;
    border-spacing: 0 0.5rem !important;
    min-width: 720px;
}

body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table) thead th {
    color: #4c6396 !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.06em !important;
    font-weight: 800 !important;
}

body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table) tbody tr {
    background: linear-gradient(155deg, #fdfefe, #edf3ff) !important;
    box-shadow: 0 8px 14px rgba(35, 50, 97, 0.09) !important;
}

body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table) tbody tr:hover {
    background: linear-gradient(155deg, #ffffff, #e8f1ff) !important;
    box-shadow: 0 10px 18px rgba(33, 48, 94, 0.13) !important;
}

body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table) tbody tr td {
    color: #243a6a !important;
    border-top: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-bottom: 1px solid rgba(177, 194, 234, 0.62) !important;
}

body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table) tbody tr td:first-child {
    border-left: 1px solid rgba(177, 194, 234, 0.62) !important;
}

body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table) tbody tr td:last-child {
    border-right: 1px solid rgba(177, 194, 234, 0.62) !important;
}

body.role-admin.page-students:not(.landing-master) .student-csv-import-layout {
    display: grid;
    grid-template-columns: minmax(260px, 0.95fr) minmax(340px, 1.25fr);
    gap: 0.95rem;
    align-items: start;
}

body.role-admin.page-students:not(.landing-master) .student-csv-upload-pane,
body.role-admin.page-students:not(.landing-master) .student-csv-example-pane {
    border: 1px solid rgba(201, 163, 170, 0.5);
    border-radius: 14px;
    padding: 0.75rem;
    box-shadow: 0 10px 20px rgba(81, 36, 50, 0.08);
}

body.role-admin.page-students:not(.landing-master) .student-csv-upload-pane {
    background: linear-gradient(165deg, #fffefe, #fff6f8);
}

body.role-admin.page-students:not(.landing-master) .student-csv-upload-form {
    gap: 0.62rem;
}

body.role-admin.page-students:not(.landing-master) .student-csv-upload-btn {
    width: auto;
    min-width: 10rem;
}

body.role-admin.page-students:not(.landing-master) .student-csv-example-pane {
    background:
        radial-gradient(850px circle at 98% -40%, rgba(248, 113, 113, 0.2), transparent 52%),
        linear-gradient(165deg, #fff8f9, #fff2f4);
    border-color: rgba(232, 126, 143, 0.54);
}

body.role-admin.page-students:not(.landing-master) .student-csv-example-title {
    margin: 0.08rem 0 0.45rem;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    color: #9f1239;
    text-transform: uppercase;
}

body.role-admin.page-students:not(.landing-master) .student-csv-column-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-bottom: 0.78rem;
}

body.role-admin.page-students:not(.landing-master) .student-csv-column-tags code {
    display: inline-flex;
    align-items: center;
    padding: 0.26rem 0.5rem;
    border-radius: 999px;
    border: 1px solid rgba(190, 24, 93, 0.22);
    background: linear-gradient(160deg, #fffafb, #ffeef2);
    color: #b1123f;
    font-weight: 700;
}

body.role-admin.page-students:not(.landing-master) .student-csv-sample {
    margin: 0;
    padding: 0.64rem 0.7rem;
    border-radius: 12px;
    border: 1px solid rgba(190, 24, 93, 0.28);
    background: linear-gradient(165deg, #fffdfd, #fff1f4);
    color: #b1123f;
    font-size: 0.78rem;
    line-height: 1.48;
    overflow-x: auto;
    white-space: pre;
}

@media (max-width: 980px) {
    body.role-admin.page-students:not(.landing-master) .student-csv-import-layout {
        grid-template-columns: 1fr;
    }
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-import-layout {
    display: grid;
    grid-template-columns: minmax(260px, 0.95fr) minmax(340px, 1.25fr);
    gap: 0.9rem;
    align-items: start;
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-upload-pane,
body.role-admin.page-faculty:not(.landing-master) .faculty-csv-example-pane {
    border: 1px solid rgba(148, 184, 175, 0.56);
    border-radius: 14px;
    padding: 0.76rem;
    box-shadow: 0 10px 18px rgba(24, 58, 50, 0.08);
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-upload-pane {
    background:
        radial-gradient(860px circle at 100% -34%, rgba(239, 68, 68, 0.14), transparent 56%),
        linear-gradient(165deg, #fefefe, #f7fbf9);
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-example-pane {
    background:
        radial-gradient(860px circle at 98% -40%, rgba(248, 113, 113, 0.18), transparent 52%),
        linear-gradient(165deg, #fff8f9, #fff2f4);
    border-color: rgba(232, 126, 143, 0.54);
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-import-form {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto;
    gap: 0.55rem;
    align-items: end;
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-import-form label {
    margin: 0;
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-import-form .btn {
    width: auto;
    min-width: 9.75rem;
    white-space: nowrap;
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-upload-btn {
    min-width: 10rem;
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-example-title {
    margin: 0.35rem 0 0.42rem;
    font-size: 0.83rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    color: #9f1239;
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-column-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-bottom: 0.72rem;
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-column-tags code {
    display: inline-flex;
    align-items: center;
    padding: 0.26rem 0.5rem;
    border-radius: 999px;
    border: 1px solid rgba(190, 24, 93, 0.22);
    background: linear-gradient(160deg, #fffafb, #ffeef2);
    color: #b1123f;
    font-weight: 700;
}

body.role-admin.page-faculty:not(.landing-master) .faculty-csv-sample {
    margin: 0;
    padding: 0.64rem 0.7rem;
    border-radius: 12px;
    border: 1px solid rgba(190, 24, 93, 0.28);
    background: linear-gradient(165deg, #fffdfd, #fff1f4);
    color: #b1123f;
    font-size: 0.78rem;
    line-height: 1.48;
    overflow-x: auto;
    white-space: pre;
}

@media (max-width: 980px) {
    body.role-admin.page-faculty:not(.landing-master) .faculty-csv-import-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    body.role-admin.page-faculty:not(.landing-master) .faculty-csv-import-form {
        grid-template-columns: 1fr;
    }

    body.role-admin.page-faculty:not(.landing-master) .faculty-csv-import-form .btn {
        justify-self: start;
    }
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-import-layout,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-import-layout,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-import-layout {
    display: grid;
    grid-template-columns: minmax(260px, 0.95fr) minmax(340px, 1.25fr);
    gap: 0.9rem;
    align-items: start;
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-upload-pane,
body.role-admin.page-bulk-import:not(.landing-master) .master-csv-example-pane,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-upload-pane,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-example-pane,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-upload-pane,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-example-pane {
    border: 1px solid rgba(173, 191, 232, 0.68);
    border-radius: 14px;
    padding: 0.76rem;
    box-shadow: 0 10px 18px rgba(24, 58, 50, 0.08);
    min-width: 0;
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-upload-pane,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-upload-pane,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-upload-pane {
    background: linear-gradient(165deg, #ffffff, #f7fbff);
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-example-pane,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-example-pane,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-example-pane {
    background:
        radial-gradient(860px circle at 98% -40%, rgba(248, 113, 113, 0.18), transparent 52%),
        linear-gradient(165deg, #fff8f9, #fff2f4);
    border-color: rgba(232, 126, 143, 0.54);
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-reference-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-reference-card {
    border: 1px solid rgba(232, 126, 143, 0.54);
    border-radius: 14px;
    padding: 0.76rem;
    box-shadow: 0 10px 18px rgba(24, 58, 50, 0.08);
    background:
        radial-gradient(860px circle at 98% -40%, rgba(248, 113, 113, 0.18), transparent 52%),
        linear-gradient(165deg, #fff8f9, #fff2f4);
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-column-tags,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-column-tags,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-column-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-bottom: 0.72rem;
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-column-tags code,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-column-tags code,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-column-tags code {
    display: inline-flex;
    align-items: center;
    padding: 0.26rem 0.5rem;
    border-radius: 999px;
    border: 1px solid rgba(190, 24, 93, 0.22);
    background: linear-gradient(160deg, #fffafb, #ffeef2);
    color: #b1123f;
    font-weight: 700;
}

body.role-admin.page-bulk-import:not(.landing-master) .student-csv-upload-form,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-import-form {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

body.role-admin.page-bulk-import:not(.landing-master) .student-csv-upload-btn,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-upload-btn {
    width: 100%;
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    justify-self: stretch;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: center;
}

body.role-admin.page-bulk-import:not(.landing-master) .student-csv-upload-form label,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-import-form label {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

body.role-admin.page-bulk-import:not(.landing-master) .student-csv-upload-form input[type="file"],
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-import-form input[type="file"] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: block;
}

body.role-admin.page-bulk-import:not(.landing-master) .student-csv-upload-form input[type="file"]::file-selector-button,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-import-form input[type="file"]::file-selector-button {
    margin-right: 0.6rem;
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-example-title,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-example-title,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-example-title {
    margin: 0.35rem 0 0.42rem;
    font-size: 0.83rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    color: #9f1239;
}

body.role-admin.page-bulk-import:not(.landing-master) .master-csv-sample,
body.role-admin.page-bulk-import:not(.landing-master) .student-csv-sample,
body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-sample {
    margin: 0;
    padding: 0.64rem 0.7rem;
    border-radius: 12px;
    border: 1px solid rgba(190, 24, 93, 0.28);
    background: linear-gradient(165deg, #fffdfd, #fff1f4);
    color: #b1123f;
    font-size: 0.78rem;
    line-height: 1.48;
    overflow-x: auto;
    white-space: pre;
}

@media (max-width: 980px) {
    body.role-admin.page-bulk-import:not(.landing-master) .master-csv-import-layout,
    body.role-admin.page-bulk-import:not(.landing-master) .student-csv-import-layout,
    body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-import-layout {
        grid-template-columns: 1fr;
    }

    body.role-admin.page-bulk-import:not(.landing-master) .master-csv-reference-grid {
        grid-template-columns: 1fr;
    }

    body.role-admin.page-bulk-import:not(.landing-master) .master-csv-reference-card {
        min-width: 0;
        max-width: 100%;
    }

    body.role-admin.page-bulk-import:not(.landing-master) .master-csv-column-tags code,
    body.role-admin.page-bulk-import:not(.landing-master) .student-csv-column-tags code,
    body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-column-tags code {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-align: center;
    }

    body.role-admin.page-bulk-import:not(.landing-master) .master-csv-sample,
    body.role-admin.page-bulk-import:not(.landing-master) .student-csv-sample,
    body.role-admin.page-bulk-import:not(.landing-master) .faculty-csv-sample {
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        word-break: break-word;
        overflow-x: hidden;
    }
}

body.role-admin:not(.landing-master) .badge,
body.role-admin:not(.landing-master) .pill,
body.role-admin:not(.landing-master) .inline-actions a {
    color: #2f4a82 !important;
    border-color: rgba(173, 191, 232, 0.82) !important;
    background: linear-gradient(145deg, #ffffff, #edf3ff) !important;
    box-shadow: 0 6px 12px rgba(34, 49, 98, 0.1) !important;
}

@media (max-width: 980px) {
    body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table) {
        min-width: 620px;
    }
}

/* Student profile: professional layout */
body.role-student.page-profile:not(.landing-master) .student-profile-pro {
    display: grid;
    gap: 0.9rem;
}

body.role-student.page-profile:not(.landing-master) .student-profile-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.86rem;
    border-radius: 20px;
    border: 1px solid rgba(126, 155, 215, 0.38);
    background:
        radial-gradient(circle at 82% -10%, rgba(160, 196, 255, 0.34), transparent 56%),
        linear-gradient(155deg, #eff5ff, #dfeafb 58%, #d5e5fa);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        0 16px 30px rgba(25, 52, 104, 0.16);
    padding: 0.95rem 1rem;
}

body.role-student.page-profile:not(.landing-master) .student-profile-avatar {
    width: 66px;
    height: 66px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #f4f8ff;
    border: 1px solid rgba(83, 118, 198, 0.54);
    background:
        linear-gradient(150deg, #365da8, #4d6fc0 55%, #7c87de),
        radial-gradient(circle at 24% 22%, rgba(255, 255, 255, 0.28), transparent 58%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.32),
        0 10px 20px rgba(34, 61, 114, 0.26);
}

body.role-student.page-profile:not(.landing-master) .student-profile-identity h3 {
    margin: 0;
    color: #22315b;
    font-size: clamp(1.08rem, 2.2vw, 1.48rem);
}

body.role-student.page-profile:not(.landing-master) .student-profile-kicker {
    margin: 0 0 0.22rem;
    color: #53618a;
    font-size: 0.73rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
}

body.role-student.page-profile:not(.landing-master) .student-profile-subtitle {
    margin: 0.24rem 0 0;
    color: #42517b;
    font-size: 0.86rem;
}

body.role-student.page-profile:not(.landing-master) .student-profile-tag-row {
    margin-top: 0.58rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.44rem;
}

body.role-student.page-profile:not(.landing-master) .student-profile-tag {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(120, 146, 201, 0.56);
    background: linear-gradient(145deg, #f8fbff, #e8f0ff);
    color: #2f4373;
    padding: 0.19rem 0.58rem;
    font-size: 0.72rem;
    font-weight: 700;
}

body.role-student.page-profile:not(.landing-master) .student-profile-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.74rem;
}

body.role-student.page-profile:not(.landing-master) .student-profile-card {
    border-radius: 16px;
    border: 1px solid rgba(142, 167, 219, 0.42);
    background:
        linear-gradient(155deg, #f9fcff, #edf4ff 60%, #e6f0ff);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 12px 24px rgba(36, 64, 121, 0.12);
    padding: 0.82rem 0.88rem;
}

body.role-student.page-profile:not(.landing-master) .student-profile-card h4 {
    margin: 0 0 0.56rem;
    font-size: 0.95rem;
    color: #20335f;
    letter-spacing: 0.01em;
}

body.role-student.page-profile:not(.landing-master) .student-profile-card-wide {
    grid-column: 1 / -1;
}

body.role-student.page-profile:not(.landing-master) .student-profile-dl {
    margin: 0;
    display: grid;
    gap: 0.42rem;
}

body.role-student.page-profile:not(.landing-master) .student-profile-dl > div {
    display: grid;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr);
    align-items: start;
    gap: 0.48rem;
    padding-bottom: 0.34rem;
    border-bottom: 1px dashed rgba(149, 170, 218, 0.42);
}

body.role-student.page-profile:not(.landing-master) .student-profile-dl > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

body.role-student.page-profile:not(.landing-master) .student-profile-dl dt {
    margin: 0;
    color: #5a6991;
    font-size: 0.74rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 700;
}

body.role-student.page-profile:not(.landing-master) .student-profile-dl dd {
    margin: 0;
    color: #273a67;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

body.role-student.page-profile:not(.landing-master) .student-profile-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.62rem;
    flex-wrap: wrap;
}

body.role-student.page-profile:not(.landing-master) .student-profile-inline-btn {
    white-space: nowrap;
}

@media (max-width: 880px) {
    body.role-student.page-profile:not(.landing-master) .student-profile-hero-card {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    body.role-student.page-profile:not(.landing-master) .student-profile-cards {
        grid-template-columns: 1fr;
    }
}

/* Faculty profile: luxe layout */
body.role-faculty.page-profile:not(.landing-master) .faculty-profile-luxe {
    display: grid;
    gap: 1.12rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1.02rem;
    border-radius: 24px;
    border: 1px solid rgba(204, 166, 84, 0.62);
    background:
        radial-gradient(circle at 88% -12%, rgba(242, 203, 112, 0.32), transparent 56%),
        linear-gradient(155deg, #1f1711, #2a1d14 55%, #18120e);
    box-shadow:
        inset 0 1px 0 rgba(255, 232, 177, 0.14),
        0 16px 34px rgba(9, 6, 4, 0.44),
        0 0 24px rgba(201, 154, 68, 0.2);
    padding: 1.18rem 1.24rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-avatar {
    width: 78px;
    height: 78px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    font-size: 1.68rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #2a1b04;
    border: 1px solid rgba(250, 223, 158, 0.64);
    background:
        radial-gradient(circle at 24% 20%, rgba(255, 247, 228, 0.44), transparent 56%),
        linear-gradient(150deg, #f2cf8c, #ddb66a 52%, #ba8740);
    box-shadow:
        inset 0 1px 0 rgba(255, 246, 222, 0.7),
        0 12px 24px rgba(20, 14, 10, 0.48);
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-identity h3 {
    margin: 0;
    color: #f7deb0;
    font-size: clamp(1.08rem, 2.2vw, 1.5rem);
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-kicker {
    margin: 0 0 0.24rem;
    color: #cfb27b;
    font-size: 0.73rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subtitle {
    margin: 0.26rem 0 0;
    color: #ecd6ad;
    font-size: 0.86rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-tag-row {
    margin-top: 0.6rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.46rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-tag {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(235, 198, 126, 0.5);
    background: linear-gradient(145deg, rgba(255, 233, 183, 0.16), rgba(188, 143, 69, 0.14));
    color: #f4d9a7;
    padding: 0.2rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 700;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.92rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-card {
    border-radius: 19px;
    border: 1px solid rgba(201, 162, 86, 0.48);
    background:
        radial-gradient(circle at 100% -20%, rgba(226, 179, 92, 0.16), transparent 54%),
        linear-gradient(160deg, #20170f, #19120c 56%, #140f0b);
    box-shadow:
        inset 0 1px 0 rgba(255, 232, 185, 0.1),
        0 12px 24px rgba(8, 6, 4, 0.34);
    padding: 1rem 1.04rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-card-wide {
    grid-column: 1 / -1;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-card h4 {
    margin: 0 0 0.58rem;
    font-size: 0.95rem;
    color: #f1d39b;
    letter-spacing: 0.01em;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.46rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(235, 198, 126, 0.42);
    background: linear-gradient(145deg, rgba(255, 236, 198, 0.14), rgba(186, 140, 66, 0.14));
    color: #f3dbb1;
    padding: 0.2rem 0.58rem;
    font-size: 0.73rem;
    font-weight: 700;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subject-group {
    display: grid;
    gap: 0.4rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subject-group + .faculty-profile-subject-group {
    margin-top: 0.5rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subject-head {
    margin: 0;
    color: #d6bb86;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subject-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.38rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subject-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 10px;
    border: 1px solid rgba(206, 172, 102, 0.38);
    background: linear-gradient(145deg, rgba(37, 28, 20, 0.84), rgba(24, 18, 12, 0.86));
    color: #f1d8a8;
    padding: 0.2rem 0.48rem;
    font-size: 0.72rem;
    font-weight: 600;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-dl {
    margin: 0;
    display: grid;
    gap: 0.44rem;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-dl > div {
    display: grid;
    grid-template-columns: minmax(106px, 36%) minmax(0, 1fr);
    align-items: start;
    gap: 0.5rem;
    padding-bottom: 0.36rem;
    border-bottom: 1px dashed rgba(207, 171, 104, 0.32);
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-dl > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-dl dt {
    margin: 0;
    color: #c8ae7b;
    font-size: 0.74rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 700;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-dl dd {
    margin: 0;
    color: #f2ddb7;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.62rem;
    flex-wrap: wrap;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-inline-btn {
    white-space: nowrap;
}

@media (max-width: 900px) {
    body.role-faculty.page-profile:not(.landing-master) .faculty-profile-hero-card {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    body.role-faculty.page-profile:not(.landing-master) .faculty-profile-cards {
        grid-template-columns: 1fr;
    }
}

/* Profile page: entry panel buttons + row-wise role edit form */
body.role-admin.page-profile:not(.landing-master) .profile-entry-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 0.6rem 0 0.4rem;
}

body.role-admin.page-profile:not(.landing-master) .profile-entry-link {
    border: 1px solid rgba(103, 121, 233, 0.82) !important;
    background: linear-gradient(145deg, #338FD0, #7BC2F2) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 18px rgba(52, 65, 145, 0.24) !important;
}

body.role-admin.page-profile:not(.landing-master) .profile-entry-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 20px rgba(51, 63, 142, 0.3) !important;
}

body.role-admin.page-profile:not(.landing-master) .role-edit-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.66rem !important;
    align-items: start;
}

body.role-admin.page-profile:not(.landing-master) .role-edit-form .role-edit-wide {
    grid-column: 1 / -1;
}

body.role-admin.page-profile:not(.landing-master) .role-edit-form .btn.role-edit-wide {
    justify-self: start;
}

@media (max-width: 900px) {
    body.role-admin.page-profile:not(.landing-master) .role-edit-form {
        grid-template-columns: 1fr !important;
    }
}

/* Unified premium routine design across all routine screens */
body:not(.landing-master) .routine-table,
body.landing-master .tm-routine-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid rgba(201, 173, 106, 0.72) !important;
    background:
        radial-gradient(circle at 14% -12%, rgba(255, 255, 255, 0.24), transparent 44%),
        linear-gradient(160deg, #1f352d 0%, #172a23 52%, #12201b 100%) !important;
    color: #f2ead5 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow:
        0 18px 36px rgba(10, 18, 16, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 0 1px rgba(208, 178, 108, 0.14) !important;
}

body:not(.landing-master) .routine-table th,
body:not(.landing-master) .routine-table td,
body.landing-master .tm-routine-table th,
body.landing-master .tm-routine-table td {
    border: 1px solid rgba(184, 161, 106, 0.42) !important;
    padding: 0.5rem !important;
}

body:not(.landing-master) .routine-table thead th,
body.landing-master .tm-routine-table thead th {
    background: linear-gradient(145deg, #4d6d53, #3c5a43) !important;
    color: #f7e8bd !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    text-shadow: 0 1px 0 rgba(15, 24, 20, 0.35) !important;
}

body:not(.landing-master) .routine-table .routine-title,
body.landing-master .tm-routine-table .routine-title {
    background: linear-gradient(145deg, #6f2ea0, #48216f) !important;
    color: #f8ecff !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-shadow: 0 1px 0 rgba(17, 8, 28, 0.42) !important;
}

body:not(.landing-master) .routine-table .day-cell,
body.landing-master .tm-routine-table .day-cell {
    background: linear-gradient(145deg, #567257, #445e48) !important;
    color: #f5ebcc !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 0 rgba(19, 28, 21, 0.35) !important;
    white-space: nowrap !important;
}

body:not(.landing-master) .routine-table .time-label-cell,
body.landing-master .tm-routine-table .time-label-cell {
    background: linear-gradient(145deg, #35493f, #2d4037) !important;
    color: #efd9a2 !important;
    font-weight: 800 !important;
}

body:not(.landing-master) .routine-table .routine-cell,
body.landing-master .tm-routine-table .routine-cell,
body.landing-master .tm-routine-table .tm-routine-cell {
    background: linear-gradient(165deg, var(--slot-color, #f2ead4), #fffdf8) !important;
    color: #2d2a20 !important;
    vertical-align: top !important;
    min-width: 144px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76) !important;
}

body:not(.landing-master) .routine-table .tiffin-cell,
body.landing-master .tm-routine-table .tiffin-cell {
    background: linear-gradient(145deg, #f0dba1, #e2c47a) !important;
    color: #624f1f !important;
    font-weight: 800 !important;
    text-align: center !important;
}

body:not(.landing-master) .routine-table .admin-cell,
body.landing-master .tm-routine-table .admin-cell {
    background: linear-gradient(145deg, #d5cec3, #c2b7a8) !important;
    color: #584d40 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

body:not(.landing-master) .routine-table .cell-line,
body.landing-master .tm-routine-table .cell-line {
    line-height: 1.3 !important;
    color: inherit !important;
    margin: 0 !important;
}

body:not(.landing-master) .routine-table .routine-entry-card,
body.landing-master .tm-routine-table .routine-entry-card {
    border: 1px solid rgba(201, 166, 91, 0.72) !important;
    background:
        linear-gradient(165deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.04) 100%),
        var(--entry-color, #f8edd2) !important;
    border-radius: 12px !important;
    padding: 0.38rem 0.42rem !important;
    margin: 0.18rem 0 !important;
    box-shadow:
        0 6px 12px rgba(98, 73, 26, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
    position: relative !important;
    overflow: hidden !important;
}

body:not(.landing-master) .routine-table .routine-entry-card::before,
body.landing-master .tm-routine-table .routine-entry-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    width: 100% !important;
    height: 2px !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.86), var(--entry-color, #f8edd2)) !important;
}

body:not(.landing-master) .routine-table .routine-entry-emoji,
body.landing-master .tm-routine-table .routine-entry-emoji {
    margin-right: 0.2rem !important;
    font-size: 0.78rem !important;
    filter: saturate(1.08) !important;
}

body:not(.landing-master) .routine-table .routine-entry-title,
body.landing-master .tm-routine-table .routine-entry-title {
    font-size: 0.71rem !important;
    font-weight: 800 !important;
    color: #2f311f !important;
    letter-spacing: 0.01em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

body:not(.landing-master) .routine-table .routine-entry-meta,
body.landing-master .tm-routine-table .routine-entry-meta {
    font-size: 0.62rem !important;
    color: #5f6248 !important;
}

body:not(.landing-master) .routine-table .empty-slot,
body.landing-master .tm-routine-table .empty-slot {
    color: #6c7863 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    text-align: center !important;
}

@media (max-width: 980px) {
    body:not(.landing-master) .routine-table,
    body.landing-master .tm-routine-table {
        min-width: 760px !important;
    }
}

/* Student/faculty panel navbar: index-style + responsive behavior */
body.role-student:not(.landing-master) .panel-lite-header,
body.role-faculty:not(.landing-master) .panel-lite-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 95;
    border-bottom: 1px solid rgba(187, 199, 238, 0.7);
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(27, 40, 86, 0.09);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

body.role-student:not(.landing-master) .panel-lite-shell,
body.role-faculty:not(.landing-master) .panel-lite-shell {
    width: min(1320px, calc(100vw - 4rem));
    margin: 0 auto;
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    position: relative;
}

body.role-student:not(.landing-master) .panel-lite-toggle,
body.role-faculty:not(.landing-master) .panel-lite-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(191, 200, 233, 0.86);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 16px rgba(28, 40, 84, 0.12);
    cursor: pointer;
    padding: 9px 8px;
    appearance: none;
    -webkit-appearance: none;
}

body.role-student:not(.landing-master) .panel-lite-toggle span,
body.role-faculty:not(.landing-master) .panel-lite-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: #495882;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

body.role-student:not(.landing-master) .panel-lite-toggle span + span,
body.role-faculty:not(.landing-master) .panel-lite-toggle span + span {
    margin-top: 6px;
}

body.role-student:not(.landing-master) .panel-lite-toggle.is-open span:nth-child(1),
body.role-faculty:not(.landing-master) .panel-lite-toggle.is-open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

body.role-student:not(.landing-master) .panel-lite-toggle.is-open span:nth-child(2),
body.role-faculty:not(.landing-master) .panel-lite-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

body.role-student:not(.landing-master) .panel-lite-toggle.is-open span:nth-child(3),
body.role-faculty:not(.landing-master) .panel-lite-toggle.is-open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

body.role-student:not(.landing-master) .panel-lite-actions,
body.role-faculty:not(.landing-master) .panel-lite-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.58rem;
}

body.role-student:not(.landing-master) .panel-lite-brand,
body.role-faculty:not(.landing-master) .panel-lite-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.68rem;
    text-decoration: none;
}

body.role-student:not(.landing-master) .panel-lite-logo,
body.role-faculty:not(.landing-master) .panel-lite-logo {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    display: inline-flex;
}

body.role-student:not(.landing-master) .panel-lite-logo svg,
body.role-faculty:not(.landing-master) .panel-lite-logo svg {
    width: 100%;
    height: 100%;
}

body.role-student:not(.landing-master) .panel-lite-brand-text,
body.role-faculty:not(.landing-master) .panel-lite-brand-text {
    display: inline-flex;
    align-items: baseline;
    gap: 0.12rem;
    font-style: italic;
    letter-spacing: -0.02em;
}

body.role-student:not(.landing-master) .panel-lite-brand-light,
body.role-student:not(.landing-master) .panel-lite-brand-strong,
body.role-faculty:not(.landing-master) .panel-lite-brand-light,
body.role-faculty:not(.landing-master) .panel-lite-brand-strong {
    font-size: clamp(1.44rem, 2.7vw, 1.95rem);
    line-height: 1;
    color: #338FD0;
}

body.role-student:not(.landing-master) .panel-lite-brand-light,
body.role-faculty:not(.landing-master) .panel-lite-brand-light {
    font-weight: 300;
}

body.role-student:not(.landing-master) .panel-lite-brand-strong,
body.role-faculty:not(.landing-master) .panel-lite-brand-strong {
    font-weight: 800;
}

body.role-student:not(.landing-master) .panel-lite-nav,
body.role-faculty:not(.landing-master) .panel-lite-nav {
    display: flex;
    align-items: center;
    gap: 0.42rem;
}

body.role-student:not(.landing-master) .panel-lite-link,
body.role-faculty:not(.landing-master) .panel-lite-link {
    text-decoration: none;
    font-size: 0.96rem;
    color: #47557d;
    padding: 0.5rem 0.78rem;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

body.role-student:not(.landing-master) .panel-lite-link:hover,
body.role-faculty:not(.landing-master) .panel-lite-link:hover {
    color: #3f35cc;
    border-color: rgba(147, 159, 225, 0.46);
    background: rgba(241, 245, 255, 0.86);
}

body.role-student:not(.landing-master) .panel-lite-link.is-current,
body.role-faculty:not(.landing-master) .panel-lite-link.is-current {
    color: #2c2775;
    border-color: rgba(120, 133, 236, 0.6);
    background: rgba(232, 238, 255, 0.86);
}

body.role-student:not(.landing-master) .panel-lite-avatar,
body.role-faculty:not(.landing-master) .panel-lite-avatar {
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(173, 190, 238, 0.74);
    border-radius: 999px;
    padding: 0.22rem 0.52rem 0.22rem 0.24rem;
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    background: linear-gradient(145deg, #ffffff, #edf3ff);
    box-shadow: 0 8px 14px rgba(34, 48, 96, 0.12);
    max-width: 260px;
}

body.role-student:not(.landing-master) .panel-lite-avatar-dot,
body.role-faculty:not(.landing-master) .panel-lite-avatar-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 0.78rem;
    color: #24325a;
    background: linear-gradient(145deg, var(--panel-avatar-color, #9cb8a5), #c5d6cf);
}

body.role-student:not(.landing-master) .panel-lite-avatar-meta,
body.role-faculty:not(.landing-master) .panel-lite-avatar-meta {
    min-width: 0;
    display: grid;
}

body.role-student:not(.landing-master) .panel-lite-avatar-meta strong,
body.role-faculty:not(.landing-master) .panel-lite-avatar-meta strong {
    font-size: 0.73rem;
    line-height: 1.12;
    color: #2f406c;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.role-student:not(.landing-master) .panel-lite-avatar-meta small,
body.role-faculty:not(.landing-master) .panel-lite-avatar-meta small {
    font-size: 0.62rem;
    color: #5f729f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.role-student:not(.landing-master) .panel-lite-cta,
body.role-faculty:not(.landing-master) .panel-lite-cta {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    cursor: pointer;
    text-decoration: none;
    color: #ffffff;
    padding: 0.58rem 1.12rem;
    border-radius: 13px;
    background: linear-gradient(145deg, #338FD0, #7BC2F2);
    box-shadow: 0 10px 20px rgba(78, 70, 228, 0.34);
    font-weight: 700;
    border: 1px solid rgba(110, 104, 243, 0.7);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body.role-student:not(.landing-master) .panel-lite-cta:hover,
body.role-faculty:not(.landing-master) .panel-lite-cta:hover {
    transform: translateY(-1px);
    filter: saturate(1.04);
    box-shadow: 0 14px 24px rgba(78, 70, 228, 0.4);
}

@media (max-width: 1080px) {
    body.role-student:not(.landing-master) .page-grid,
    body.role-faculty:not(.landing-master) .page-grid {
        grid-template-columns: 1fr !important;
    }

    body.role-student:not(.landing-master) .panel-wide,
    body.role-faculty:not(.landing-master) .panel-wide {
        grid-column: span 1 !important;
    }
}

@media (max-width: 980px) {
    body.role-student:not(.landing-master) .panel-lite-shell,
    body.role-faculty:not(.landing-master) .panel-lite-shell {
        width: calc(100vw - 1rem);
        min-height: 70px;
    }

    body.role-student:not(.landing-master) .panel-lite-toggle,
    body.role-faculty:not(.landing-master) .panel-lite-toggle {
        display: inline-block;
    }

    body.role-student:not(.landing-master) .panel-lite-actions,
    body.role-faculty:not(.landing-master) .panel-lite-actions {
        position: absolute;
        top: calc(100% + 0.45rem);
        right: 0;
        left: auto;
        width: min(320px, calc(100vw - 1.3rem));
        border: 1px solid rgba(188, 202, 239, 0.84);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.97);
        box-shadow: 0 16px 30px rgba(29, 44, 92, 0.2);
        padding: 0.5rem;
        display: none;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: 0.58rem;
        z-index: 120;
    }

    body.role-student:not(.landing-master) .panel-lite-actions.is-open,
    body.role-faculty:not(.landing-master) .panel-lite-actions.is-open {
        display: grid;
        animation: panelLiteDrop 0.22s ease both;
    }

    body.role-student:not(.landing-master) .panel-lite-nav,
    body.role-faculty:not(.landing-master) .panel-lite-nav {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0.2rem;
    }

    body.role-student:not(.landing-master) .panel-lite-link,
    body.role-faculty:not(.landing-master) .panel-lite-link {
        width: 100%;
        justify-content: flex-start;
        padding: 0.52rem 0.7rem;
        border: 1px solid rgba(206, 216, 244, 0.9);
        background: #f8faff;
        white-space: nowrap;
    }

    body.role-student:not(.landing-master) .panel-lite-avatar,
    body.role-faculty:not(.landing-master) .panel-lite-avatar {
        max-width: none;
        width: 100%;
    }

    body.role-student:not(.landing-master) .panel-lite-cta,
    body.role-faculty:not(.landing-master) .panel-lite-cta {
        width: 100%;
        text-align: center;
    }
}

@keyframes panelLiteDrop {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 760px) {
    body.role-student:not(.landing-master) .flash-stack,
    body.role-student:not(.landing-master) .container,
    body.role-faculty:not(.landing-master) .flash-stack,
    body.role-faculty:not(.landing-master) .container {
        width: calc(100vw - 1rem) !important;
        margin: 0.75rem auto 1.35rem !important;
    }

    body.role-student:not(.landing-master) .panel,
    body.role-faculty:not(.landing-master) .panel {
        border-radius: 18px !important;
        padding: 0.85rem !important;
    }

    body.role-student:not(.landing-master) .metric-grid,
    body.role-faculty:not(.landing-master) .metric-grid {
        grid-template-columns: 1fr !important;
    }

    body.role-student:not(.landing-master) .btn,
    body.role-faculty:not(.landing-master) .btn {
        width: 100%;
        justify-content: center;
    }
}

/* Operational snapshot readability for student/faculty dashboards */
body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card,
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(176, 194, 232, 0.88) !important;
    border-radius: 16px !important;
    background: linear-gradient(148deg, #ffffff, #eef4ff) !important;
    box-shadow: 0 10px 18px rgba(36, 52, 97, 0.12) !important;
}

body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card::before,
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #3b82f6, #2563eb);
}

body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card span,
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card span {
    color: #2f4b7d !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
}

body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card strong,
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card strong {
    color: #173766 !important;
    font-size: 2rem !important;
    line-height: 1.04 !important;
}

body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(1),
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(1) {
    background: linear-gradient(148deg, #ffffff, #ecf7ff) !important;
}

body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(2),
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(2) {
    background: linear-gradient(148deg, #ffffff, #eef3ff) !important;
}

body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(3),
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(3) {
    background: linear-gradient(148deg, #ffffff, #f4f1ff) !important;
}

body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(4),
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(4) {
    background: linear-gradient(148deg, #ffffff, #edfcf6) !important;
}

body.role-student.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(5),
body.role-faculty.page-dashboard:not(.landing-master) .metric-grid:not(.snapshot-grid) .metric-card:nth-child(5) {
    background: linear-gradient(148deg, #ffffff, #fff6ec) !important;
}

/* Student dashboard: Today Pulse + personal timetable builder */
body.role-student.page-dashboard:not(.landing-master) .student-pulse-panel {
    display: contents;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-shell {
    --student-pulse-panel-accent: #2f7de0;
    --student-pulse-panel-soft: rgba(47, 125, 224, 0.12);
    display: contents;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-shell.student-pulse-tone-live {
    --student-pulse-panel-accent: #1f9e65;
    --student-pulse-panel-soft: rgba(31, 158, 101, 0.12);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-shell.student-pulse-tone-free {
    --student-pulse-panel-accent: #2f7de0;
    --student-pulse-panel-soft: rgba(47, 125, 224, 0.12);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-shell.student-pulse-tone-done {
    --student-pulse-panel-accent: #7a5ce0;
    --student-pulse-panel-soft: rgba(122, 92, 224, 0.12);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-shell.student-pulse-tone-idle,
body.role-student.page-dashboard:not(.landing-master) .student-pulse-shell.student-pulse-tone-sync {
    --student-pulse-panel-accent: #0f8b8d;
    --student-pulse-panel-soft: rgba(15, 139, 141, 0.11);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-main,
body.role-student.page-dashboard:not(.landing-master) .student-pulse-side {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(183, 200, 233, 0.8);
    border-radius: 18px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 14px 24px rgba(44, 63, 111, 0.1);
    min-width: 0;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-main {
    padding: 1rem 1.04rem;
    background:
        radial-gradient(160% 130% at 100% 0%, var(--student-pulse-panel-soft), transparent 48%),
        linear-gradient(145deg, #ffffff, #eef4ff);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-main::before,
body.role-student.page-dashboard:not(.landing-master) .student-pulse-side::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--student-pulse-panel-accent), rgba(255, 255, 255, 0));
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-side {
    padding: 0.92rem;
    display: grid;
    gap: 0.86rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.76rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-heading h2 {
    margin: 0.08rem 0 0;
    color: #173766;
    font-size: clamp(1.2rem, 1.05vw + 0.96rem, 1.74rem);
    line-height: 1.1;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-kicker {
    margin: 0;
    color: var(--student-pulse-panel-accent);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-status {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.3rem 0.78rem;
    border-radius: 999px;
    border: 1px solid rgba(176, 197, 231, 0.82);
    background: rgba(255, 255, 255, 0.88);
    color: #214472;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-status-live {
    color: #1f7d53;
    border-color: rgba(74, 184, 120, 0.46);
    background: #edf9f2;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-status-free {
    color: #255aa8;
    border-color: rgba(90, 145, 232, 0.42);
    background: #edf4ff;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-status-done {
    color: #6543bf;
    border-color: rgba(140, 112, 226, 0.36);
    background: #f3efff;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-status-idle,
body.role-student.page-dashboard:not(.landing-master) .student-pulse-status-sync {
    color: #146b78;
    border-color: rgba(87, 167, 177, 0.36);
    background: #eefafa;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-summary {
    margin: 0.72rem 0 0;
    color: #52698f;
    font-size: 0.9rem;
    line-height: 1.65;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.46rem;
    margin-top: 0.82rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-meta-row span {
    display: inline-flex;
    align-items: center;
    min-height: 1.86rem;
    padding: 0.22rem 0.66rem;
    border-radius: 999px;
    border: 1px solid rgba(185, 200, 229, 0.84);
    background: rgba(255, 255, 255, 0.86);
    color: #33547f;
    font-size: 0.73rem;
    font-weight: 700;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-detail-grid {
    margin-top: 0.9rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-detail-card {
    display: grid;
    gap: 0.34rem;
    padding: 0.84rem 0.9rem;
    border: 1px solid rgba(188, 203, 233, 0.82);
    border-radius: 16px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 8px 14px rgba(56, 81, 140, 0.08);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-detail-card strong {
    color: #1b3f6d;
    font-size: 1rem;
    line-height: 1.32;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-detail-card p {
    margin: 0;
    color: #5a7097;
    font-size: 0.8rem;
    line-height: 1.48;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-detail-eyebrow {
    color: var(--student-pulse-panel-accent);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-detail-card-note strong {
    font-size: 1.22rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-detail-note {
    color: #355b8d !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-run-title {
    color: #65799b !important;
    font-size: 0.74rem !important;
    font-weight: 700;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-action-row {
    margin-top: 0.88rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.56rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-action-row .btn {
    min-width: 156px;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-card {
    display: grid;
    gap: 0.18rem;
    padding: 0.74rem 0.78rem;
    border: 1px solid rgba(188, 203, 233, 0.8);
    border-radius: 15px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-card span,
body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-card small {
    color: #5e7297;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-card span {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-card strong {
    color: #173766;
    font-size: 1.5rem;
    line-height: 1.02;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-card small {
    font-size: 0.72rem;
    font-weight: 600;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline {
    display: grid;
    gap: 0.64rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.6rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-head h3,
body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-head p {
    margin: 0;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-head h3 {
    color: #274574;
    font-size: 0.94rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-head p {
    color: #6980a4;
    font-size: 0.78rem;
    font-weight: 700;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.54rem;
    align-items: start;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-item {
    --student-pulse-accent: #7aa4ea;
    position: relative;
    display: grid;
    gap: 0.2rem;
    padding: 0.76rem 0.8rem 0.76rem 1rem;
    border: 1px solid rgba(187, 202, 233, 0.82);
    border-radius: 15px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 7px 13px rgba(56, 81, 140, 0.08);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-item::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 15px 0 0 15px;
    background: linear-gradient(180deg, var(--student-pulse-accent), rgba(255, 255, 255, 0));
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-item.is-live {
    border-color: rgba(78, 181, 122, 0.5);
    background: linear-gradient(145deg, #f8fff9, #eaf8ef);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-item.is-next {
    border-color: rgba(98, 146, 230, 0.52);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-item.is-past {
    opacity: 0.76;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-slot {
    color: #345988;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-item strong {
    color: #1b3f6d;
    font-size: 0.88rem;
    line-height: 1.35;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-item p {
    margin: 0;
    color: #5c7197;
    font-size: 0.76rem;
    line-height: 1.45;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-empty {
    padding: 0.82rem 0.86rem;
    border: 1px dashed rgba(188, 203, 233, 0.86);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.78);
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-empty strong,
body.role-student.page-dashboard:not(.landing-master) .student-pulse-empty p {
    margin: 0;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-empty strong {
    display: block;
    color: #274574;
    margin-bottom: 0.24rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-pulse-empty p {
    color: #5f7397;
    font-size: 0.78rem;
    line-height: 1.48;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-panel {
    margin-top: 0.88rem;
    background: linear-gradient(148deg, #f8fbff, #edf4ff);
    border-color: rgba(183, 199, 232, 0.72);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-grid-single {
    grid-template-columns: 1fr;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 0.72rem;
    padding: 0.96rem 1rem;
    border: 1px solid rgba(185, 201, 232, 0.82);
    border-radius: 18px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 14px 24px rgba(44, 63, 111, 0.1);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, rgba(47, 125, 224, 0.95), rgba(255, 255, 255, 0));
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-card-diff::before {
    background: linear-gradient(180deg, rgba(209, 102, 48, 0.95), rgba(255, 255, 255, 0));
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-card-overlay::before {
    background: linear-gradient(180deg, rgba(32, 122, 111, 0.96), rgba(255, 255, 255, 0));
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-card-gap::before {
    background: linear-gradient(180deg, rgba(31, 158, 101, 0.95), rgba(255, 255, 255, 0));
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.7rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-title-block h3 {
    margin: 0.08rem 0 0;
    color: #1d3e6c;
    font-size: 1rem;
    line-height: 1.28;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-kicker {
    margin: 0;
    color: #456693;
    font-size: 0.71rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.96rem;
    padding: 0.28rem 0.74rem;
    border-radius: 999px;
    border: 1px solid rgba(181, 197, 230, 0.84);
    background: rgba(255, 255, 255, 0.88);
    color: #274c7c;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-status-changes .student-insight-pill {
    color: #9b4a28;
    border-color: rgba(219, 141, 93, 0.4);
    background: #fff1e7;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-status-ready .student-insight-pill,
body.role-student.page-dashboard:not(.landing-master) .student-insight-status-wrap .student-insight-pill {
    color: #1f7f55;
    border-color: rgba(77, 183, 122, 0.4);
    background: #edf9f2;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-status-stable .student-insight-pill,
body.role-student.page-dashboard:not(.landing-master) .student-insight-status-tight .student-insight-pill {
    color: #245ba8;
    border-color: rgba(88, 144, 232, 0.4);
    background: #edf4ff;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-status-first .student-insight-pill,
body.role-student.page-dashboard:not(.landing-master) .student-insight-status-open .student-insight-pill,
body.role-student.page-dashboard:not(.landing-master) .student-insight-status-idle .student-insight-pill,
body.role-student.page-dashboard:not(.landing-master) .student-insight-status-pending .student-insight-pill,
body.role-student.page-dashboard:not(.landing-master) .student-insight-status-unlinked .student-insight-pill {
    color: #156c79;
    border-color: rgba(90, 167, 177, 0.38);
    background: #eefafa;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-summary {
    margin: 0;
    color: #586f96;
    font-size: 0.82rem;
    line-height: 1.55;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.56rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-action-row .btn {
    min-width: 156px;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.44rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-meta-row span {
    display: inline-flex;
    align-items: center;
    min-height: 1.76rem;
    padding: 0.18rem 0.62rem;
    border-radius: 999px;
    border: 1px solid rgba(186, 201, 230, 0.82);
    background: rgba(255, 255, 255, 0.84);
    color: #3b5b88;
    font-size: 0.71rem;
    font-weight: 700;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-signal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.56rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-signal {
    display: grid;
    gap: 0.22rem;
    padding: 0.72rem 0.76rem;
    border: 1px solid rgba(189, 203, 232, 0.82);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.8);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-signal span {
    color: #6a7fa3;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-signal strong {
    color: #1a3f6d;
    font-size: 0.91rem;
    line-height: 1.28;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-signal p {
    margin: 0;
    color: #60759a;
    font-size: 0.74rem;
    line-height: 1.45;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-signal-focus {
    border-color: rgba(94, 141, 224, 0.38);
    background: linear-gradient(145deg, #fbfdff, #edf4ff);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-signal-watch {
    border-color: rgba(223, 145, 85, 0.42);
    background: linear-gradient(145deg, #fffaf4, #fff0df);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-signal-calm {
    border-color: rgba(92, 180, 125, 0.36);
    background: linear-gradient(145deg, #fbfffc, #edf8f1);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.56rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-stat-card {
    display: grid;
    gap: 0.14rem;
    padding: 0.68rem 0.72rem;
    border: 1px solid rgba(189, 203, 232, 0.82);
    border-radius: 14px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-stat-card span {
    color: #64799f;
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-stat-card strong {
    color: #1b3f6d;
    font-size: 1.08rem;
    line-height: 1.05;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-list {
    display: grid;
    gap: 0.62rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item {
    display: grid;
    gap: 0.26rem;
    padding: 0.8rem 0.84rem;
    border: 1px solid rgba(188, 203, 233, 0.82);
    border-radius: 15px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 7px 13px rgba(56, 81, 140, 0.08);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-updated {
    border-color: rgba(138, 121, 227, 0.4);
    background: linear-gradient(145deg, #fbf9ff, #f1edff);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-collision {
    border-color: rgba(214, 122, 82, 0.42);
    background: linear-gradient(145deg, #fff9f6, #fff0e9);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-watch {
    border-color: rgba(230, 174, 83, 0.44);
    background: linear-gradient(145deg, #fffdf6, #fff5df);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-moved,
body.role-student.page-dashboard:not(.landing-master) .student-insight-item-bridge {
    border-color: rgba(92, 145, 228, 0.42);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-added,
body.role-student.page-dashboard:not(.landing-master) .student-insight-item-prep,
body.role-student.page-dashboard:not(.landing-master) .student-insight-item-deep,
body.role-student.page-dashboard:not(.landing-master) .student-insight-item-wrap {
    border-color: rgba(79, 181, 121, 0.4);
    background: linear-gradient(145deg, #f8fff9, #ebf8f0);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-removed,
body.role-student.page-dashboard:not(.landing-master) .student-insight-item-reset,
body.role-student.page-dashboard:not(.landing-master) .student-insight-item-plan {
    border-color: rgba(231, 184, 93, 0.44);
    background: linear-gradient(145deg, #fffdf6, #fff6df);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.48rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.46rem;
    padding: 0.12rem 0.52rem;
    border-radius: 999px;
    background: rgba(37, 90, 168, 0.12);
    color: #2a58a1;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item strong {
    color: #1b3f6d;
    font-size: 0.9rem;
    line-height: 1.34;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item p {
    margin: 0;
    color: #5d7297;
    font-size: 0.77rem;
    line-height: 1.48;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-window {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
    color: #355b8d !important;
    font-weight: 700;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-window span {
    display: inline-flex;
    align-items: center;
    min-height: 1.34rem;
    padding: 0.08rem 0.46rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #4b668f;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-item-meta {
    color: #7287aa !important;
    font-size: 0.72rem !important;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-empty {
    padding: 0.82rem 0.86rem;
    border: 1px dashed rgba(188, 203, 233, 0.86);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.78);
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-empty strong,
body.role-student.page-dashboard:not(.landing-master) .student-insight-empty p,
body.role-student.page-dashboard:not(.landing-master) .student-insight-footnote {
    margin: 0;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-empty strong {
    display: block;
    color: #274574;
    margin-bottom: 0.24rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-empty p,
body.role-student.page-dashboard:not(.landing-master) .student-insight-footnote {
    color: #5f7397;
    font-size: 0.78rem;
    line-height: 1.48;
}

body.role-student.page-dashboard:not(.landing-master) .student-insight-footnote {
    color: #60759d;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-panel {
    margin-top: 0.88rem;
    background: linear-gradient(148deg, #f8fbff, #edf4ff);
    border-color: rgba(183, 199, 232, 0.72);
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-lead {
    margin: 0.26rem 0 0.84rem;
    color: #576d99;
    font-size: 0.85rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-config {
    margin-bottom: 0.9rem;
    border: 1px solid rgba(188, 202, 233, 0.78);
    border-radius: 14px;
    background: linear-gradient(145deg, #ffffff, #eef5ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 8px 14px rgba(52, 76, 132, 0.08);
    padding: 0.72rem 0.78rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-config h3 {
    margin: 0;
    color: #2d4473;
    font-size: 0.9rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-note {
    margin: 0.3rem 0 0.66rem;
    color: #5d729f;
    font-size: 0.78rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-count-form {
    margin: 0 0 0.44rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.58rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-count-field {
    display: grid;
    gap: 0.28rem;
    color: #3a5486;
    font-size: 0.76rem;
    max-width: 280px;
    flex: 1 1 220px;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-count-field input[type="number"] {
    border: 1px solid rgba(183, 198, 232, 0.88);
    background: linear-gradient(150deg, #ffffff, #eff5ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 6px 11px rgba(62, 89, 153, 0.08);
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-count-form .btn {
    min-width: 170px;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-count-hint {
    margin: 0 0 0.66rem;
    color: #5d739f;
    font-size: 0.73rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-form {
    gap: 0.6rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-row {
    border: 1px solid rgba(192, 206, 235, 0.78);
    border-radius: 12px;
    background: linear-gradient(145deg, #ffffff, #f0f6ff);
    padding: 0.56rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.44rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-title {
    margin: 0;
    grid-column: 1 / -1;
    color: #344f80;
    font-size: 0.76rem;
    font-weight: 700;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-row label {
    color: #3f5888;
    font-size: 0.75rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-row input[type="time"] {
    border: 1px solid rgba(183, 198, 232, 0.88);
    background: linear-gradient(150deg, #ffffff, #eff5ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 6px 11px rgba(62, 89, 153, 0.08);
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-actions {
    margin-top: 0.16rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-form {
    gap: 0.72rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-form.three-col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-form label {
    color: #334d7e;
    font-size: 0.8rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-form input,
body.role-student.page-dashboard:not(.landing-master) .student-builder-form select,
body.role-student.page-dashboard:not(.landing-master) .student-builder-form textarea {
    border: 1px solid rgba(184, 198, 230, 0.88);
    background: linear-gradient(150deg, #ffffff, #eff5ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 6px 11px rgba(62, 89, 153, 0.08);
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-form textarea {
    resize: vertical;
    min-height: 56px;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-title-field {
    grid-column: span 2;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-notes-field,
body.role-student.page-dashboard:not(.landing-master) .student-builder-actions {
    grid-column: 1 / -1;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.52rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-actions .btn {
    min-width: 160px;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-actions .btn.btn-clear-activities {
    border-color: rgba(205, 125, 125, 0.58);
    color: #9e3449;
    background: linear-gradient(145deg, #fff2f4, #ffe8ec);
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-checks {
    margin-top: 0.92rem;
    padding: 0.75rem 0.82rem;
    border: 1px solid rgba(188, 203, 234, 0.75);
    border-radius: 14px;
    background: linear-gradient(145deg, #ffffff, #edf4ff);
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-checks h3,
body.role-student.page-dashboard:not(.landing-master) .student-builder-week h3,
body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-list h3 {
    margin: 0;
    color: #2d4270;
    font-size: 0.92rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-week-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.68rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-week-tools {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 0;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-week-tool-actions {
    display: flex;
    flex-direction: row;
    gap: 0.48rem;
    align-items: flex-end;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-emoji-btn {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(169, 186, 226, 0.92);
    border-radius: 12px;
    background: linear-gradient(145deg, #ffffff, #edf4ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 7px 13px rgba(57, 82, 144, 0.14);
    color: #2f4f83;
    font-size: 1.24rem;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-emoji-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(140, 164, 217, 0.96);
    background: linear-gradient(145deg, #ffffff, #e7f0ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.98), 0 10px 16px rgba(57, 82, 144, 0.18);
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-emoji-btn:focus-visible {
    outline: 2px solid rgba(66, 133, 244, 0.65);
    outline-offset: 2px;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-emoji-btn:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: inset 0 2px 5px rgba(77, 103, 170, 0.16), 0 4px 8px rgba(57, 82, 144, 0.12);
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-emoji-btn:disabled {
    opacity: 0.48;
    cursor: not-allowed;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-check-list {
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.42rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-check-list li {
    border: 1px solid rgba(201, 213, 238, 0.75);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.84);
    color: #4f648f;
    font-size: 0.78rem;
    line-height: 1.38;
    padding: 0.5rem 0.6rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-check-list li.is-good {
    border-color: rgba(124, 194, 145, 0.52);
    color: #2f6b45;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-check-list li.is-neutral {
    border-color: rgba(176, 189, 219, 0.66);
    color: #50638b;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-week {
    margin-top: 0.88rem;
    position: relative;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-table-wrap {
    margin-top: 0.58rem;
    overflow-x: auto;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-table {
    min-width: 900px;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-entry {
    display: grid;
    gap: 0.22rem;
    border: 1px solid rgba(185, 203, 236, 0.76);
    border-radius: 10px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
    padding: 0.44rem 0.5rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 4px 9px rgba(60, 86, 145, 0.1);
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-entry-title {
    color: #2d426f;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.28;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-entry-type {
    color: #5870a1;
    font-size: 0.69rem;
    font-weight: 600;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-entry-notes {
    color: #5f739f;
    font-size: 0.67rem;
    line-height: 1.36;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-delete-form {
    margin-top: 0.22rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-delete-btn {
    border: 1px solid rgba(204, 133, 133, 0.56);
    border-radius: 999px;
    background: linear-gradient(140deg, #ffecef, #ffe1e6);
    color: #a24053;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.2rem 0.55rem;
    cursor: pointer;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-delete-btn:hover {
    background: linear-gradient(140deg, #ffe2e9, #ffd3dc);
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-list {
    display: none;
    margin-top: 0.86rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-grid {
    margin-top: 0.52rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.58rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-item {
    border: 1px solid rgba(188, 204, 236, 0.72);
    border-radius: 13px;
    background: linear-gradient(145deg, #ffffff, #eef4ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 8px 15px rgba(53, 76, 132, 0.1);
    padding: 0.62rem 0.7rem;
    display: grid;
    gap: 0.22rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-item strong {
    color: #2f4574;
    font-size: 0.78rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-item span {
    color: #5a6fa0;
    font-size: 0.71rem;
    font-weight: 600;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-item p {
    margin: 0;
    color: #5a6f9e;
    font-size: 0.73rem;
    line-height: 1.35;
}

@media (max-width: 1100px) {
    body.role-student.page-dashboard:not(.landing-master) .student-pulse-shell {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-insight-grid {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-pulse-detail-grid {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-slot-time-form.two-col {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-builder-form.three-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.role-student.page-dashboard:not(.landing-master) .student-builder-title-field,
    body.role-student.page-dashboard:not(.landing-master) .student-builder-notes-field,
    body.role-student.page-dashboard:not(.landing-master) .student-builder-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    body.role-student.page-dashboard:not(.landing-master) .student-pulse-top,
    body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-head,
    body.role-student.page-dashboard:not(.landing-master) .student-insight-head {
        flex-direction: column;
        align-items: flex-start;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-pulse-action-row .btn {
        width: 100%;
        justify-content: center;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-grid {
        grid-template-columns: 1fr 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-insight-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.role-student.page-dashboard:not(.landing-master) .student-insight-signal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.role-student.page-dashboard:not(.landing-master) .student-slot-time-row {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-builder-week-head {
        align-items: flex-start;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-slot-count-field {
        max-width: none;
        flex-basis: 100%;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-slot-count-form .btn {
        width: 100%;
        justify-content: center;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-builder-form.three-col {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-builder-actions .btn {
        width: 100%;
        justify-content: center;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-builder-table-wrap {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-list {
        display: none;
    }
}

@media (max-width: 560px) {
    body.role-student.page-dashboard:not(.landing-master) .student-pulse-main,
    body.role-student.page-dashboard:not(.landing-master) .student-pulse-side,
    body.role-student.page-dashboard:not(.landing-master) .student-insight-card {
        padding: 0.84rem;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-pulse-stat-grid {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-insight-stat-grid {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-insight-signal-grid {
        grid-template-columns: 1fr;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-pulse-timeline-list {
        grid-template-columns: 1fr;
    }
}

/* Landing page responsive hardening (tablet + mobile) */
body.landing-master .tm-live-pill,
body.landing-master .tm-meta-pill {
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
}

body.landing-master .tm-step-card p,
body.landing-master #workflow .tm-workflow-card-body p,
body.landing-master #workflow .tm-workflow-points li,
body.landing-master .tm-info-card p,
body.landing-master .tm-contact-card p,
body.landing-master .tm-side-card p {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 1200px) {
    body.landing-master .flash-stack,
    body.landing-master .container,
    body.landing-master .tm-nav-shell {
        width: calc(100vw - 2.2rem);
    }

    body.landing-master .tm-main {
        padding-top: 5.7rem;
    }

    body.landing-master .tm-routine-table {
        min-width: 980px !important;
    }

    body.landing-master .tm-routine-table .routine-cell,
    body.landing-master .tm-routine-table .tm-routine-cell {
        min-width: 132px !important;
    }
}

@media (max-width: 980px) {
    body.landing-master .flash-stack,
    body.landing-master .container,
    body.landing-master .tm-nav-shell {
        width: calc(100vw - 1.4rem);
    }

    body.landing-master .tm-nav-shell {
        min-height: 68px;
        gap: 0.65rem;
    }

    body.landing-master .tm-brand {
        gap: 0.52rem;
    }

    body.landing-master .tm-logo {
        width: 34px;
        height: 34px;
    }

    body.landing-master .tm-brand-light,
    body.landing-master .tm-brand-strong {
        font-size: clamp(1.18rem, 4.8vw, 1.5rem);
    }

    body.landing-master .tm-main {
        padding-top: 5.35rem;
    }

    body.landing-master .tm-section[id] {
        scroll-margin-top: 6rem;
    }

    body.landing-master .tm-hero {
        border-radius: 24px;
    }

    body.landing-master .tm-hero-grid {
        padding: clamp(0.95rem, 3.2vw, 1.3rem);
    }

    body.landing-master .tm-hero-copy h1 {
        font-size: clamp(1.72rem, 6vw, 2.4rem);
        max-width: 18ch;
    }

    body.landing-master .tm-hero-copy p {
        font-size: 0.95rem;
        max-width: 100%;
    }

    body.landing-master .tm-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.landing-master .tm-live-pill {
        width: 100%;
        justify-content: flex-start;
    }

    body.landing-master .tm-faq-item summary {
        font-size: 0.94rem;
    }

    body.landing-master .tm-routine-table {
        min-width: 860px !important;
    }

    body.landing-master .tm-routine-table th,
    body.landing-master .tm-routine-table td {
        padding: 0.38rem 0.36rem !important;
    }
}

@media (max-width: 640px) {
    body.landing-master .flash-stack,
    body.landing-master .container,
    body.landing-master .tm-nav-shell {
        width: calc(100vw - 0.8rem);
    }

    body.landing-master .flash-stack {
        margin-top: 4.8rem;
    }

    body.landing-master .tm-main {
        padding-top: 4.95rem;
        gap: 0.9rem;
    }

    body.landing-master .tm-nav-shell {
        min-height: 62px;
        gap: 0.58rem;
    }

    body.landing-master .tm-logo {
        width: 30px;
        height: 30px;
    }

    body.landing-master .tm-brand-light,
    body.landing-master .tm-brand-strong {
        font-size: clamp(1rem, 5vw, 1.22rem);
    }

    body.landing-master .tm-nav-menu {
        top: calc(100% + 0.4rem);
        border-radius: 14px;
        padding: 0.56rem;
    }

    body.landing-master .tm-nav-links a {
        font-size: 0.9rem;
        padding: 0.48rem 0.6rem;
    }

    body.landing-master .tm-nav-cta {
        padding: 0.52rem 0.84rem;
        border-radius: 10px;
    }

    body.landing-master .tm-hero {
        border-radius: 20px;
    }

    body.landing-master .tm-hero-blob-a {
        width: 290px;
        height: 290px;
        top: -140px;
        left: -90px;
    }

    body.landing-master .tm-hero-blob-b {
        width: 250px;
        height: 250px;
        bottom: -130px;
        right: -95px;
    }

    body.landing-master .tm-hero-copy h1 {
        font-size: clamp(1.5rem, 8.2vw, 1.95rem);
        max-width: none;
    }

    body.landing-master .tm-hero-copy p {
        font-size: 0.9rem;
    }

    body.landing-master .tm-hero-badge {
        font-size: 0.7rem;
        padding: 0.32rem 0.56rem;
    }

    body.landing-master .tm-section {
        border-radius: 20px;
        padding: 0.76rem;
    }

    body.landing-master .tm-section-head h2 {
        font-size: clamp(1.18rem, 6vw, 1.45rem);
    }

    body.landing-master .tm-step-card,
    body.landing-master #workflow .tm-workflow-card,
    body.landing-master .tm-info-card,
    body.landing-master .tm-faq-item,
    body.landing-master .tm-contact-card,
    body.landing-master .tm-side-card {
        border-radius: 14px;
    }

    body.landing-master .tm-step-no {
        font-size: 0.68rem;
        padding: 0.2rem 0.5rem;
    }

    body.landing-master #workflow .tm-workflow-icon {
        width: 2.34rem;
        height: 2.34rem;
        border-radius: 10px;
        font-size: 0.74rem;
    }

    body.landing-master #workflow .tm-workflow-card-head h3 {
        font-size: 0.95rem;
    }

    body.landing-master #workflow .tm-workflow-card-body p {
        font-size: 0.88rem;
    }

    body.landing-master #workflow .tm-workflow-points li {
        font-size: 0.83rem;
    }

    body.landing-master .tm-btn {
        width: 100%;
        min-height: 42px;
    }

    body.landing-master .tm-action-row {
        gap: 0.42rem;
    }

    body.landing-master .tm-routine-meta {
        flex-direction: column;
        gap: 0.35rem;
    }

    body.landing-master .tm-meta-pill {
        width: 100%;
    }

    body.landing-master .tm-routine-table {
        min-width: 720px !important;
    }

    body.landing-master .tm-routine-table .routine-cell,
    body.landing-master .tm-routine-table .tm-routine-cell {
        min-width: 110px !important;
    }

    body.landing-master .tm-routine-table .routine-entry-card {
        padding: 0.32rem 0.36rem !important;
    }

    body.landing-master .tm-contact-section {
        padding: 0.86rem;
    }
}

@media (max-width: 420px) {
    body.landing-master .flash-stack,
    body.landing-master .container,
    body.landing-master .tm-nav-shell {
        width: calc(100vw - 0.5rem);
    }

    body.landing-master .tm-nav-shell {
        min-height: 58px;
    }

    body.landing-master .tm-brand {
        gap: 0.42rem;
    }

    body.landing-master .tm-logo {
        width: 28px;
        height: 28px;
    }

    body.landing-master .tm-brand-light,
    body.landing-master .tm-brand-strong {
        font-size: clamp(0.95rem, 5.1vw, 1.13rem);
    }

    body.landing-master .tm-menu-toggle {
        width: 38px;
        height: 38px;
        padding: 8px 7px;
    }

    body.landing-master .tm-login-dialog {
        border-radius: 16px;
        padding: 0.82rem;
    }

    body.landing-master .tm-routine-table {
        min-width: 640px !important;
    }

    body.landing-master .tm-routine-table .routine-cell,
    body.landing-master .tm-routine-table .tm-routine-cell {
        min-width: 96px !important;
    }
}

@media (max-width: 900px) {
    body.landing-master .tm-table-shell {
        display: block;
        width: 100%;
    }

    body.landing-master .tm-scroll-note {
        display: block;
        margin: 0 0 0.42rem;
        text-align: center !important;
        font-size: 0.72rem;
        line-height: 1.35;
    }

    body.landing-master .tm-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: scroll;
        overflow-y: hidden;
        touch-action: pan-x;
        overscroll-behavior-x: contain;
        scrollbar-gutter: stable both-edges;
        padding-bottom: 0.18rem;
    }

    body.landing-master .tm-routine-table {
        width: max-content;
        min-width: 760px !important;
    }

    body.landing-master .tm-routine-table th,
    body.landing-master .tm-routine-table td {
        white-space: nowrap;
    }

    body.landing-master .tm-routine-mobile {
        display: none;
    }
}

/* Universal responsive consistency pass across all pages */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

img,
video,
canvas {
    max-width: 100%;
    height: auto;
}

.hero-grid > *,
.page-grid > *,
.split-cards > *,
.metric-grid > *,
.action-grid > *,
.option-grid > * {
    min-width: 0;
}

.table-wrap,
.tm-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

body:not(.landing-master) .panel h1,
body:not(.landing-master) .panel h2,
body:not(.landing-master) .panel h3,
body:not(.landing-master) .panel p,
body:not(.landing-master) .panel small,
body:not(.landing-master) .panel label,
body:not(.landing-master) th,
body:not(.landing-master) td {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 980px) {
    body:not(.landing-master) .flash-stack,
    body:not(.landing-master) .container,
    body:not(.landing-master) header.topbar,
    body.role-student:not(.landing-master) .panel-lite-shell,
    body.role-faculty:not(.landing-master) .panel-lite-shell {
        width: calc(100vw - 1.5rem) !important;
        max-width: 1280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 1024px) {
    body:not(.landing-master) .flash-stack,
    body:not(.landing-master) .container,
    body:not(.landing-master) header.topbar,
    body.role-student:not(.landing-master) .panel-lite-shell,
    body.role-faculty:not(.landing-master) .panel-lite-shell {
        width: calc(100vw - 1rem) !important;
    }

    body:not(.landing-master) .page-grid {
        grid-template-columns: 1fr !important;
        gap: 0.82rem !important;
    }

    body:not(.landing-master) .panel-wide {
        grid-column: span 1 !important;
    }

    body:not(.landing-master) .panel {
        border-radius: 16px !important;
        padding: 0.84rem 0.8rem !important;
    }

    body:not(.landing-master) .hero-grid,
    body:not(.landing-master) .split-cards {
        grid-template-columns: 1fr !important;
    }

    body:not(.landing-master) header.topbar:not(.topbar-admin) {
        border-radius: 16px !important;
        padding: 0.68rem 0.72rem !important;
    }

    body:not(.landing-master) header.topbar:not(.topbar-admin) .brand-wrap {
        width: 100% !important;
        min-width: 0 !important;
    }

    body:not(.landing-master) header.topbar:not(.topbar-admin) .top-actions {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
        gap: 0.45rem !important;
    }

    body:not(.landing-master) header.topbar:not(.topbar-admin) .main-nav {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
    }

    body:not(.landing-master) header.topbar:not(.topbar-admin) .main-nav a,
    body:not(.landing-master) header.topbar:not(.topbar-admin) .main-nav a.nav-link {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    body:not(.landing-master) .form-grid.two-col,
    body:not(.landing-master) .form-grid.three-col,
    body:not(.landing-master) .student-slot-time-form.two-col,
    body:not(.landing-master) .student-builder-form.three-col,
    body:not(.landing-master) .role-edit-form,
    body:not(.landing-master) .master-filter-bar {
        grid-template-columns: 1fr !important;
    }

    body.role-student.page-dashboard:not(.landing-master) .student-slot-time-form.two-col {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.landing-master) .student-builder-title-field,
    body:not(.landing-master) .student-builder-notes-field,
    body:not(.landing-master) .student-builder-actions {
        grid-column: 1 / -1 !important;
    }

    body:not(.landing-master) .fixed-slot-grid,
    body:not(.landing-master) .override-time-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.landing-master) table:not(.routine-table) {
        min-width: 640px !important;
    }

    body:not(.landing-master) .routine-table {
        min-width: 860px !important;
    }

    body:not(.landing-master) .routine-table .routine-cell {
        min-width: 130px !important;
    }
}

@media (max-width: 760px) {
    body:not(.landing-master) .flash-stack,
    body:not(.landing-master) .container,
    body:not(.landing-master) header.topbar,
    body.role-student:not(.landing-master) .panel-lite-shell,
    body.role-faculty:not(.landing-master) .panel-lite-shell {
        width: calc(100vw - 0.7rem) !important;
    }

    body:not(.landing-master) .panel {
        border-radius: 14px !important;
        padding: 0.74rem 0.7rem !important;
    }

    body:not(.landing-master) .metric-grid,
    body:not(.landing-master) .action-grid,
    body:not(.landing-master) .option-grid,
    body:not(.landing-master) .split-cards {
        grid-template-columns: 1fr !important;
    }

    body:not(.landing-master) .inline-actions,
    body:not(.landing-master) .inline-row-actions {
        flex-wrap: wrap !important;
        gap: 0.4rem !important;
    }

    body:not(.landing-master) .inline-actions a,
    body:not(.landing-master) .inline-row-actions .btn,
    body:not(.landing-master) .panel .btn:not(.logout-link):not(.panel-lite-cta) {
        width: 100% !important;
        justify-content: center !important;
    }

    body:not(.landing-master) .avatar-chip .avatar-meta {
        display: none !important;
    }

    body:not(.landing-master) table:not(.routine-table) {
        min-width: 560px !important;
    }

    body:not(.landing-master) .routine-table {
        min-width: 760px !important;
    }
}

@media (max-width: 520px) {
    body:not(.landing-master) .topbar .brand.brand-rich {
        padding: 0.3rem 0.5rem !important;
    }

    body:not(.landing-master) .topbar .brand.brand-rich .brand-rich-light,
    body:not(.landing-master) .topbar .brand.brand-rich .brand-rich-strong {
        font-size: 1rem !important;
    }

    body:not(.landing-master) .fixed-slot-grid,
    body:not(.landing-master) .override-time-grid {
        grid-template-columns: 1fr !important;
    }

    body:not(.landing-master) table:not(.routine-table) {
        min-width: 520px !important;
    }

    body:not(.landing-master) .routine-table {
        min-width: 680px !important;
    }
}

/* Professional top notifications (compact floating toast stack) */
html body:not(.landing-master) .flash-stack.flash-stack-professional,
html body.role-admin:not(.landing-master) .flash-stack.flash-stack-professional,
html body.role-student:not(.landing-master) .flash-stack.flash-stack-professional,
html body.role-faculty:not(.landing-master) .flash-stack.flash-stack-professional {
    position: fixed !important;
    top: 0.72rem;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(380px, calc(100vw - 1rem)) !important;
    max-width: min(380px, calc(100vw - 1rem)) !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: grid;
    gap: 0.5rem;
    z-index: 1600;
    pointer-events: none;
}

.flash-stack.flash-stack-professional:focus,
.flash-stack.flash-stack-professional:focus-visible {
    outline: none !important;
}

.flash-stack.flash-stack-professional .flash {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.58rem;
    padding: 0.66rem 0.72rem 0.64rem;
    border-radius: 18px !important;
    border: 1px solid rgba(151, 176, 236, 0.42) !important;
    background: linear-gradient(155deg, rgba(13, 30, 66, 0.96), rgba(8, 20, 46, 0.96)) !important;
    color: #eaf1ff !important;
    box-shadow: 0 10px 20px rgba(3, 10, 28, 0.32), 0 0 0 1px rgba(138, 165, 229, 0.16), inset 0 1px 0 rgba(183, 208, 255, 0.08) !important;
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.flash-stack.flash-stack-professional .flash.is-leaving {
    opacity: 0;
    transform: translateY(-6px);
}

.flash-stack.flash-stack-professional .flash::after {
    content: "";
    position: absolute;
    inset: 7px auto 7px 7px;
    width: 5px;
    border-radius: 999px;
    background: var(--flash-accent, #60a5fa);
}

.flash-stack.flash-stack-professional .flash-icon {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    font-weight: 800;
    font-size: 0.8rem;
    line-height: 1;
    color: #ffffff;
    background: var(--flash-accent, #60a5fa);
    box-shadow: 0 8px 14px rgba(5, 14, 34, 0.36);
}

.flash-stack.flash-stack-professional .flash-content {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
}

.flash-stack.flash-stack-professional .flash-title {
    margin: 0;
    color: #f3f8ff;
    font-size: 0.78rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.flash-stack.flash-stack-professional .flash-message {
    margin: 0;
    color: #d2defa;
    font-size: 0.76rem;
    line-height: 1.38;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.flash-stack.flash-stack-professional .flash-success {
    --flash-accent: #22c55e;
}

.flash-stack.flash-stack-professional .flash-error {
    --flash-accent: #ef4444;
}

.flash-stack.flash-stack-professional .flash-warning {
    --flash-accent: #f59e0b;
}

.flash-stack.flash-stack-professional .flash-info {
    --flash-accent: #3b82f6;
}

.flash-stack.flash-stack-confirm {
    z-index: 1700 !important;
}

.flash-stack.flash-stack-professional .flash-confirm .flash-content {
    gap: 0.24rem;
}

.flash-stack.flash-stack-professional .flash-confirm-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.42rem;
    margin-top: 0.34rem;
}

.flash-stack.flash-stack-professional .flash-confirm-btn {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(161, 182, 233, 0.45);
    border-radius: 10px;
    padding: 0.34rem 0.72rem;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.1;
    cursor: pointer;
    transition: transform 0.2s ease, filter 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.flash-stack.flash-stack-professional .flash-confirm-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
}

.flash-stack.flash-stack-professional .flash-confirm-cancel {
    color: #dbe7ff;
    background: rgba(66, 88, 140, 0.5);
}

.flash-stack.flash-stack-professional .flash-confirm-danger {
    color: #ffffff;
    border-color: rgba(248, 113, 113, 0.66);
    background: linear-gradient(145deg, rgba(248, 113, 113, 0.92), rgba(239, 68, 68, 0.92));
}

@media (max-width: 760px) {
    html body:not(.landing-master) .flash-stack.flash-stack-professional,
    html body.role-admin:not(.landing-master) .flash-stack.flash-stack-professional,
    html body.role-student:not(.landing-master) .flash-stack.flash-stack-professional,
    html body.role-faculty:not(.landing-master) .flash-stack.flash-stack-professional {
        top: 0.56rem;
        width: min(360px, calc(100vw - 0.7rem)) !important;
        max-width: min(360px, calc(100vw - 0.7rem)) !important;
    }

    .flash-stack.flash-stack-professional .flash {
        border-radius: 15px !important;
        padding: 0.58rem 0.62rem 0.56rem;
    }

    .flash-stack.flash-stack-professional .flash-icon {
        width: 24px;
        height: 24px;
        font-size: 0.76rem;
    }

    .flash-stack.flash-stack-professional .flash-confirm-actions {
        justify-content: stretch;
    }

    .flash-stack.flash-stack-professional .flash-confirm-btn {
        flex: 1 1 0;
    }
}

body.landing-master .tm-role-panel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

body.landing-master .tm-role-panel-card {
    border: 1px solid rgba(134, 177, 255, 0.3);
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(18, 34, 70, 0.9), rgba(12, 25, 54, 0.94));
    box-shadow: 0 18px 30px rgba(2, 8, 24, 0.34), inset 0 1px 0 rgba(173, 211, 255, 0.12);
    padding: 1rem;
    display: grid;
    gap: 0.6rem;
    align-content: start;
    transition: transform 0.26s ease, box-shadow 0.26s ease, border-color 0.26s ease;
}

body.landing-master .tm-role-panel-card:hover {
    transform: translateY(-3px);
    border-color: rgba(147, 210, 255, 0.56);
    box-shadow: 0 24px 34px rgba(3, 10, 26, 0.44), inset 0 1px 0 rgba(182, 219, 255, 0.2);
}

body.landing-master .tm-role-panel-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    border-radius: 999px;
    border: 1px solid rgba(153, 203, 255, 0.42);
    background: linear-gradient(134deg, rgba(99, 211, 255, 0.26), rgba(80, 123, 255, 0.28));
    color: #ddedff;
    padding: 0.18rem 0.56rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.landing-master .tm-role-panel-card h3 {
    color: #f2f8ff;
    margin: 0;
}

body.landing-master .tm-role-panel-card p {
    color: #afc4e8;
    margin: 0;
}

body.landing-master .tm-role-panel-points {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.34rem;
}

body.landing-master .tm-role-panel-points li {
    position: relative;
    color: #b6caed;
    padding-left: 1rem;
    font-size: 0.88rem;
}

body.landing-master .tm-role-panel-points li::before {
    content: "";
    position: absolute;
    left: 0.12rem;
    top: 0.52rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #5ee0ff, #5a88ff);
    box-shadow: 0 0 0 4px rgba(92, 185, 255, 0.14);
}

body.landing-master .tm-role-panel-card .tm-btn {
    margin-top: 0.3rem;
}

body.landing-master [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: transform 0.58s cubic-bezier(0.2, 0.65, 0.22, 1), opacity 0.48s ease;
    transition-delay: var(--reveal-delay, 0ms);
}

body.landing-master [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes tmPulseDot {
    0% {
        box-shadow: 0 0 0 0 rgba(85, 240, 199, 0.55);
    }
    100% {
        box-shadow: 0 0 0 9px rgba(85, 240, 199, 0);
    }
}

@keyframes tmOrbFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }
    50% {
        transform: translate3d(8px, -12px, 0);
    }
}

body.role-admin:not(.landing-master),
body.role-faculty:not(.landing-master),
body.role-student:not(.landing-master) {
    --panel-unified-bg-1: rgba(17, 30, 60, 0.9);
    --panel-unified-bg-2: rgba(12, 23, 48, 0.95);
    --panel-unified-line: rgba(128, 170, 245, 0.34);
    --panel-unified-text: #e8f0ff;
    --panel-unified-soft: #b3c5e8;
    background:
        radial-gradient(980px circle at 6% -8%, rgba(104, 175, 255, 0.24) 0%, transparent 56%),
        radial-gradient(820px circle at 100% -4%, rgba(79, 120, 255, 0.2) 0%, transparent 50%),
        linear-gradient(152deg, #050917 0%, #0b1330 40%, #0b1f40 100%);
    color: var(--panel-unified-text);
}

body.role-admin:not(.landing-master)::before,
body.role-faculty:not(.landing-master)::before,
body.role-student:not(.landing-master)::before {
    opacity: 0.08;
}

body.role-admin:not(.landing-master) .flash-stack,
body.role-admin:not(.landing-master) .container,
body.role-admin:not(.landing-master) header.topbar,
body.role-faculty:not(.landing-master) .flash-stack,
body.role-faculty:not(.landing-master) .container,
body.role-faculty:not(.landing-master) .panel-lite-shell,
body.role-student:not(.landing-master) .flash-stack,
body.role-student:not(.landing-master) .container,
body.role-student:not(.landing-master) .panel-lite-shell {
    width: min(1240px, 94vw) !important;
}

body.role-admin:not(.landing-master) header.topbar,
body.role-faculty:not(.landing-master) .panel-lite-shell,
body.role-student:not(.landing-master) .panel-lite-shell {
    border: 1px solid var(--panel-unified-line) !important;
    border-radius: 20px !important;
    background: linear-gradient(150deg, var(--panel-unified-bg-1), var(--panel-unified-bg-2)) !important;
    box-shadow: 0 18px 34px rgba(2, 8, 22, 0.42), inset 0 1px 0 rgba(170, 206, 255, 0.12) !important;
}

body.role-admin:not(.landing-master) .brand.brand-rich,
body.role-faculty:not(.landing-master) .panel-lite-brand,
body.role-student:not(.landing-master) .panel-lite-brand {
    color: #eef4ff !important;
}

body.role-admin:not(.landing-master) .brand-rich-light,
body.role-faculty:not(.landing-master) .panel-lite-brand-light,
body.role-student:not(.landing-master) .panel-lite-brand-light {
    color: #a8c7ff !important;
}

body.role-admin:not(.landing-master) .brand-rich-strong,
body.role-faculty:not(.landing-master) .panel-lite-brand-strong,
body.role-student:not(.landing-master) .panel-lite-brand-strong {
    color: #f4f8ff !important;
}

body.role-admin:not(.landing-master) .main-nav a.nav-link,
body.role-faculty:not(.landing-master) .panel-lite-link,
body.role-student:not(.landing-master) .panel-lite-link {
    border: 1px solid rgba(128, 167, 237, 0.22) !important;
    background: rgba(17, 33, 70, 0.72) !important;
    color: #c8d8f8 !important;
}

body.role-admin:not(.landing-master) .main-nav,
body.role-faculty:not(.landing-master) .panel-lite-nav,
body.role-student:not(.landing-master) .panel-lite-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.44rem;
}

body.role-admin:not(.landing-master) .main-nav a.nav-link:hover,
body.role-admin:not(.landing-master) .main-nav a.nav-link:focus-visible,
body.role-admin:not(.landing-master) .main-nav a.nav-link.is-current,
body.role-faculty:not(.landing-master) .panel-lite-link:hover,
body.role-faculty:not(.landing-master) .panel-lite-link.is-current,
body.role-student:not(.landing-master) .panel-lite-link:hover,
body.role-student:not(.landing-master) .panel-lite-link.is-current {
    border-color: rgba(157, 206, 255, 0.5) !important;
    background: linear-gradient(135deg, rgba(95, 203, 255, 0.28), rgba(82, 120, 255, 0.3)) !important;
    color: #eff6ff !important;
}

body.role-admin:not(.landing-master) .role-logo {
    border: 1px solid rgba(128, 166, 237, 0.36) !important;
    background: rgba(16, 31, 63, 0.8) !important;
    color: #d7e7ff !important;
}

body.role-admin:not(.landing-master) .role-logo.is-active {
    border-color: rgba(156, 210, 255, 0.56) !important;
    background: linear-gradient(135deg, rgba(95, 202, 255, 0.28), rgba(82, 120, 255, 0.3)) !important;
    color: #f2f8ff !important;
}

body.role-admin:not(.landing-master) .avatar-chip,
body.role-faculty:not(.landing-master) .panel-lite-avatar,
body.role-student:not(.landing-master) .panel-lite-avatar {
    border: 1px solid rgba(129, 170, 241, 0.36) !important;
    background: rgba(13, 28, 58, 0.84) !important;
}

body.role-admin:not(.landing-master) .logout-link,
body.role-faculty:not(.landing-master) .panel-lite-cta,
body.role-student:not(.landing-master) .panel-lite-cta {
    border: 1px solid rgba(152, 207, 255, 0.42) !important;
    color: #041025 !important;
    background: linear-gradient(135deg, #67dcff, #5f8dff) !important;
    box-shadow: 0 12px 22px rgba(10, 42, 102, 0.3) !important;
}

body.role-admin:not(.landing-master) .panel,
body.role-faculty:not(.landing-master) .panel,
body.role-student:not(.landing-master) .panel,
body.role-admin:not(.landing-master) .metric-card,
body.role-faculty:not(.landing-master) .metric-card,
body.role-student:not(.landing-master) .metric-card,
body.role-admin:not(.landing-master) .action-tile,
body.role-faculty:not(.landing-master) .action-tile,
body.role-student:not(.landing-master) .action-tile,
body.role-admin:not(.landing-master) .mini-card,
body.role-faculty:not(.landing-master) .mini-card,
body.role-student:not(.landing-master) .mini-card,
body.role-admin:not(.landing-master) .pill,
body.role-faculty:not(.landing-master) .pill,
body.role-student:not(.landing-master) .pill,
body.role-admin:not(.landing-master) .badge,
body.role-faculty:not(.landing-master) .badge,
body.role-student:not(.landing-master) .badge,
body.role-admin:not(.landing-master) .kicker,
body.role-faculty:not(.landing-master) .kicker,
body.role-student:not(.landing-master) .kicker {
    border: 1px solid var(--panel-unified-line) !important;
    background: linear-gradient(156deg, rgba(17, 32, 66, 0.88), rgba(11, 23, 48, 0.93)) !important;
    box-shadow: 0 18px 30px rgba(2, 8, 24, 0.34), inset 0 1px 0 rgba(166, 203, 255, 0.1) !important;
}

body.role-admin:not(.landing-master) h1,
body.role-admin:not(.landing-master) h2,
body.role-admin:not(.landing-master) h3,
body.role-faculty:not(.landing-master) h1,
body.role-faculty:not(.landing-master) h2,
body.role-faculty:not(.landing-master) h3,
body.role-student:not(.landing-master) h1,
body.role-student:not(.landing-master) h2,
body.role-student:not(.landing-master) h3 {
    color: #eef5ff !important;
}

body.role-admin:not(.landing-master) p,
body.role-admin:not(.landing-master) small,
body.role-admin:not(.landing-master) label,
body.role-admin:not(.landing-master) th,
body.role-admin:not(.landing-master) td,
body.role-faculty:not(.landing-master) p,
body.role-faculty:not(.landing-master) small,
body.role-faculty:not(.landing-master) label,
body.role-faculty:not(.landing-master) th,
body.role-faculty:not(.landing-master) td,
body.role-student:not(.landing-master) p,
body.role-student:not(.landing-master) small,
body.role-student:not(.landing-master) label,
body.role-student:not(.landing-master) th,
body.role-student:not(.landing-master) td {
    color: var(--panel-unified-soft) !important;
}

body.role-admin:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body.role-admin:not(.landing-master) select,
body.role-admin:not(.landing-master) textarea,
body.role-faculty:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body.role-faculty:not(.landing-master) select,
body.role-faculty:not(.landing-master) textarea,
body.role-student:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body.role-student:not(.landing-master) select,
body.role-student:not(.landing-master) textarea {
    border: 1px solid rgba(126, 166, 238, 0.42) !important;
    background: rgba(10, 21, 46, 0.88) !important;
    color: #e8f0ff !important;
}

body.role-admin:not(.landing-master) input::placeholder,
body.role-admin:not(.landing-master) textarea::placeholder,
body.role-faculty:not(.landing-master) input::placeholder,
body.role-faculty:not(.landing-master) textarea::placeholder,
body.role-student:not(.landing-master) input::placeholder,
body.role-student:not(.landing-master) textarea::placeholder {
    color: #8fa9d3 !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table),
body.role-faculty:not(.landing-master) table:not(.routine-table),
body.role-student:not(.landing-master) table:not(.routine-table) {
    border-color: rgba(123, 162, 234, 0.36) !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table) thead th,
body.role-faculty:not(.landing-master) table:not(.routine-table) thead th,
body.role-student:not(.landing-master) table:not(.routine-table) thead th {
    background: linear-gradient(138deg, rgba(47, 87, 171, 0.92), rgba(29, 56, 114, 0.92)) !important;
    color: #ebf4ff !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table) tbody tr,
body.role-faculty:not(.landing-master) table:not(.routine-table) tbody tr,
body.role-student:not(.landing-master) table:not(.routine-table) tbody tr {
    background: rgba(12, 23, 48, 0.72) !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table) tbody tr:hover,
body.role-faculty:not(.landing-master) table:not(.routine-table) tbody tr:hover,
body.role-student:not(.landing-master) table:not(.routine-table) tbody tr:hover {
    background: rgba(23, 41, 80, 0.9) !important;
}

body.role-admin:not(.landing-master) .btn,
body.role-faculty:not(.landing-master) .btn,
body.role-student:not(.landing-master) .btn {
    border: 1px solid rgba(149, 204, 255, 0.44) !important;
    color: #051127 !important;
    background: linear-gradient(136deg, #65dbff, #5e8dff) !important;
    box-shadow: 0 10px 18px rgba(11, 39, 94, 0.28) !important;
}

body.role-admin:not(.landing-master) .btn.btn-outline,
body.role-faculty:not(.landing-master) .btn.btn-outline,
body.role-student:not(.landing-master) .btn.btn-outline {
    color: #dbeaff !important;
    background: rgba(16, 31, 64, 0.82) !important;
}

body.role-admin:not(.landing-master) .btn.btn-danger {
    color: #ffeef0 !important;
    background: linear-gradient(136deg, #f7788b, #ef4763) !important;
}

body:not(.landing-master) [data-surface-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
}

body:not(.landing-master) [data-surface-reveal].is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 1160px) {
    body.landing-master .tm-role-panel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    body.landing-master .tm-hero {
        border-radius: 26px;
    }

    body.landing-master .tm-role-panel-grid {
        grid-template-columns: 1fr;
    }

    body.role-admin:not(.landing-master) header.topbar,
    body.role-faculty:not(.landing-master) .panel-lite-shell,
    body.role-student:not(.landing-master) .panel-lite-shell {
        border-radius: 16px !important;
    }

    body.role-admin:not(.landing-master) header.topbar .top-actions,
    body.role-faculty:not(.landing-master) .panel-lite-actions,
    body.role-student:not(.landing-master) .panel-lite-actions {
        border: 1px solid rgba(127, 168, 239, 0.42) !important;
        border-radius: 14px !important;
        background: linear-gradient(150deg, rgba(16, 31, 64, 0.96), rgba(10, 22, 46, 0.97)) !important;
        box-shadow: 0 20px 30px rgba(2, 8, 24, 0.44), inset 0 1px 0 rgba(165, 204, 255, 0.11) !important;
    }
}

@media (max-width: 760px) {
    body.landing-master .tm-nav-shell {
        border-radius: 14px;
        width: min(1720px, calc(100vw - 1rem));
        padding: 0.66rem 0.76rem;
    }

    body.landing-master .tm-hero-copy h1 {
        font-size: clamp(1.7rem, 8vw, 2.5rem);
    }

    body.landing-master .tm-role-panel-card {
        padding: 0.82rem;
    }
}

/* Landing motion accents */
body.landing-master .tm-hero-blob-a {
    animation: opironFloatA 4.8s ease-in-out infinite;
}

body.landing-master .tm-hero-blob-b {
    animation: opironFloatB 5.8s ease-in-out infinite;
}

body.landing-master .tm-opiron-seq {
    --hero-seq-duration: 0.82s;
    --hero-seq-y: 22px;
    --hero-seq-scale: 0.986;
    --hero-seq-blur: 10px;
    opacity: 0;
    transform: translate3d(0, var(--hero-seq-y), 0) scale(var(--hero-seq-scale));
    transform-origin: 50% 72%;
    filter: blur(var(--hero-seq-blur));
    will-change: opacity, transform, filter;
}

body.landing-master .tm-opiron-seq.is-opiron-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: none;
    animation: tmHeroSequenceIn var(--hero-seq-duration) cubic-bezier(0.17, 0.8, 0.24, 1) both;
}

body.landing-master [data-reveal] {
    --reveal-duration: 0.86s;
    --reveal-x: 0px;
    --reveal-y: 32px;
    --reveal-scale: 0.982;
    --reveal-tilt: 1.4deg;
    --reveal-blur: 12px;
    opacity: 0;
    transform:
        perspective(1200px)
        translate3d(var(--reveal-x), var(--reveal-y), 0)
        scale(var(--reveal-scale))
        rotateX(var(--reveal-tilt));
    transform-origin: 50% 76%;
    filter: blur(var(--reveal-blur)) saturate(0.94);
    will-change: opacity, transform, filter;
}

body.landing-master [data-reveal].is-visible {
    opacity: 1;
    transform: perspective(1200px) translate3d(0, 0, 0) scale(1) rotateX(0deg);
    filter: none;
    animation: tmSectionRevealIn var(--reveal-duration) cubic-bezier(0.18, 0.82, 0.24, 1) both;
    animation-delay: var(--reveal-delay, 0ms);
}

body.landing-master .tm-hero-badge.tm-opiron-seq {
    --hero-seq-y: 18px;
    --hero-seq-scale: 0.992;
    --hero-seq-duration: 0.72s;
    --hero-seq-blur: 8px;
}

body.landing-master .tm-hero-copy h1.tm-opiron-seq {
    --hero-seq-y: 28px;
    --hero-seq-scale: 0.972;
    --hero-seq-duration: 0.9s;
    --hero-seq-blur: 12px;
}

body.landing-master .tm-hero-copy p.tm-opiron-seq {
    --hero-seq-y: 24px;
    --hero-seq-scale: 0.982;
    --hero-seq-duration: 0.78s;
}

body.landing-master .tm-stat-grid.tm-opiron-seq,
body.landing-master .tm-action-row.tm-opiron-seq,
body.landing-master .tm-live-strip.tm-opiron-seq {
    --hero-seq-y: 20px;
    --hero-seq-scale: 0.988;
    --hero-seq-duration: 0.74s;
    --hero-seq-blur: 9px;
}

body.landing-master .tm-hero[data-reveal] {
    --reveal-y: 38px;
    --reveal-scale: 0.976;
    --reveal-duration: 0.98s;
    --reveal-blur: 14px;
}

body.landing-master #overview[data-reveal] {
    --reveal-y: 28px;
    --reveal-duration: 0.84s;
}

body.landing-master #workflow[data-reveal] {
    --reveal-x: -16px;
    --reveal-y: 34px;
    --reveal-scale: 0.978;
    --reveal-duration: 0.9s;
}

body.landing-master #platform-modules[data-reveal] {
    --reveal-x: 16px;
    --reveal-y: 30px;
    --reveal-scale: 0.98;
    --reveal-duration: 0.9s;
}

body.landing-master #why-nap-timetable[data-reveal] {
    --reveal-y: 26px;
    --reveal-scale: 0.986;
    --reveal-duration: 0.82s;
}

body.landing-master #routine-preview[data-reveal] {
    --reveal-y: 40px;
    --reveal-scale: 0.974;
    --reveal-duration: 0.96s;
    --reveal-blur: 14px;
}

body.landing-master .tm-quick-answers-section[data-reveal] {
    --reveal-x: -12px;
    --reveal-y: 24px;
    --reveal-scale: 0.986;
    --reveal-duration: 0.82s;
}

body.landing-master #contact[data-reveal] {
    --reveal-x: 14px;
    --reveal-y: 34px;
    --reveal-scale: 0.978;
    --reveal-duration: 0.92s;
}

@keyframes tmHeroSequenceIn {
    0% {
        opacity: 0;
        transform: translate3d(0, var(--hero-seq-y), 0) scale(var(--hero-seq-scale));
        filter: blur(var(--hero-seq-blur));
    }
    68% {
        opacity: 1;
        transform: translate3d(0, -4px, 0) scale(1.01);
        filter: blur(0);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: none;
    }
}

@keyframes tmSectionRevealIn {
    0% {
        opacity: 0;
        transform:
            perspective(1200px)
            translate3d(var(--reveal-x), var(--reveal-y), 0)
            scale(var(--reveal-scale))
            rotateX(var(--reveal-tilt));
        filter: blur(var(--reveal-blur)) saturate(0.94);
    }
    70% {
        opacity: 1;
        transform: perspective(1200px) translate3d(0, -5px, 0) scale(1.008) rotateX(0deg);
        filter: blur(0) saturate(1);
    }
    100% {
        opacity: 1;
        transform: perspective(1200px) translate3d(0, 0, 0) scale(1) rotateX(0deg);
        filter: none;
    }
}

@media (max-width: 900px) {
    body.landing-master .tm-opiron-seq {
        --hero-seq-duration: 0.68s;
        --hero-seq-y: 16px;
        --hero-seq-scale: 0.992;
        --hero-seq-blur: 7px;
    }

    body.landing-master [data-reveal] {
        --reveal-duration: 0.72s;
        --reveal-x: 0px;
        --reveal-y: 20px;
        --reveal-scale: 0.988;
        --reveal-tilt: 0.9deg;
        --reveal-blur: 8px;
    }

    body.landing-master #workflow[data-reveal],
    body.landing-master #platform-modules[data-reveal],
    body.landing-master #contact[data-reveal],
    body.landing-master .tm-quick-answers-section[data-reveal] {
        --reveal-x: 0px;
    }

    body.landing-master [data-card-reveal] {
        --card-reveal-duration: 0.68s;
        --card-reveal-y: 20px;
        --card-reveal-scale: 0.988;
        --card-reveal-tilt: 0.9deg;
        --card-reveal-blur: 7px;
        --card-reveal-settle-y: -3px;
        --card-reveal-settle-scale: 1.004;
        --card-reveal-settle-rotate: 0deg;
    }
}

@keyframes opironFloatA {
    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }
    50% {
        transform: translate3d(0, -10px, 0);
    }
}

@keyframes opironFloatB {
    0%,
    100% {
        transform: rotate(13deg) translate3d(0, 0, 0);
    }
    50% {
        transform: rotate(13deg) translate3d(0, -12px, 0);
    }
}

/* Landing theme */
body.landing-master {
    background: #fafafa !important;
    color: #000 !important;
    font-family: "Manrope", sans-serif !important;
}

body.landing-master::before,
body.landing-master .ambient-bg {
    display: none !important;
}

body.landing-master .container {
    width: min(90rem, calc(100% - 3rem));
}

body.landing-master .tm-main {
    padding-top: 7rem !important;
    gap: 2.4rem;
}

body.landing-master .tm-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 110 !important;
    border-bottom: 0 !important;
    background: rgba(248, 252, 255, 0.82) !important;
    box-shadow: 0 14px 32px rgba(12, 34, 57, 0.08) !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
}

body.landing-master .tm-nav-shell {
    width: 100% !important;
    max-width: none !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 0.9rem clamp(1.2rem, 3.2vw, 2.7rem) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(241, 250, 253, 0.92)) !important;
    box-shadow: inset 0 -1px 0 rgba(138, 197, 214, 0.38) !important;
    box-sizing: border-box !important;
}

body.landing-master .tm-header.is-scrolled {
    box-shadow: 0 18px 36px rgba(10, 29, 48, 0.12) !important;
}

body.landing-master .tm-nav-menu {
    gap: 1.1rem !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.landing-master .tm-brand-light,
body.landing-master .tm-brand-strong {
    color: #101317 !important;
}

body.landing-master .tm-nav-links {
    gap: 0.22rem !important;
}

body.landing-master .tm-nav-links a,
body.landing-master .tm-nav-links a:link,
body.landing-master .tm-nav-links a:visited {
    display: inline-flex;
    align-items: center;
    min-height: 2.7rem !important;
    padding: 0.62rem 0.95rem !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #214061 !important;
    font-weight: 600 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.landing-master .tm-nav-links a:hover,
body.landing-master .tm-nav-links a:focus-visible,
body.landing-master .tm-nav-links a.is-active {
    border-color: rgba(86, 181, 197, 0.24) !important;
    background: linear-gradient(145deg, rgba(239, 252, 251, 0.95), rgba(234, 246, 255, 0.95)) !important;
    color: #17818d !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

body.landing-master .tm-nav-cta,
body.landing-master .tm-nav-cta:hover,
body.landing-master .tm-btn-login,
body.landing-master .tm-btn-login:hover {
    min-height: 2.7rem !important;
    padding: 0.62rem 1.35rem !important;
    border: 1px solid rgba(20, 108, 130, 0.28) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #0f6075 0%, #198ba1 54%, #4eaed5 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(20, 108, 130, 0.2) !important;
}

body.landing-master .tm-nav-cta:hover,
body.landing-master .tm-btn-login:hover {
    transform: translateY(-2px) !important;
    filter: none !important;
    box-shadow: 0 18px 32px rgba(20, 108, 130, 0.24) !important;
}

body.landing-master .tm-btn-login {
    min-width: 7.5rem;
}

body.landing-master .tm-menu-toggle {
    border: 1px solid #ebebeb !important;
    background: #fff !important;
}

body.landing-master .tm-menu-toggle span {
    background: #111 !important;
}

body.landing-master .tm-hero {
    background: #DDF7FA !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 1rem !important;
    box-shadow: none !important;
    padding: 3rem 2rem 2.5rem !important;
}

body.landing-master .tm-hero::after {
    content: none !important;
}

body.landing-master .tm-hero-copy h1,
body.landing-master .tm-hero-copy h1 span {
    color: #000 !important;
}

body.landing-master .tm-hero-copy h1 {
    font-size: clamp(2rem, 6vw, 4rem) !important;
    line-height: 1.15 !important;
}

body.landing-master .tm-hero-copy p {
    color: #0009 !important;
    font-size: 1.125rem !important;
}

body.landing-master .tm-hero-badge {
    border: 1px solid #f0f0f0 !important;
    background: #fff !important;
    color: #000 !important;
}

body.landing-master .tm-stat-card {
    border: 1px solid #ececec !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.landing-master .tm-stat-card strong {
    color: #000 !important;
}

body.landing-master .tm-stat-card span {
    color: #0009 !important;
}

body.landing-master .tm-live-strip {
    border: 1px solid #ececec !important;
    background: #fff !important;
}

body.landing-master .tm-live-pill,
body.landing-master .tm-meta-pill {
    border: 1px solid #ececec !important;
    background: #fff !important;
    color: #0009 !important;
}

body.landing-master .tm-btn-light,
body.landing-master .tm-btn-primary {
    border: 0 !important;
    background: linear-gradient(135deg, #39B9AE, #58AFEA) !important;
    color: #fff !important;
    box-shadow: none !important;
}

body.landing-master .tm-btn-light:hover,
body.landing-master .tm-btn-primary:hover {
    background: linear-gradient(135deg, #2FAFA8, #4DAFDE) !important;
}

body.landing-master .tm-btn-ghost {
    border: 1px solid #dedede !important;
    background: #fff !important;
    color: #000 !important;
}

body.landing-master .tm-section {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.landing-master .tm-section-head h2,
body.landing-master .tm-step-card h3,
body.landing-master #workflow .tm-workflow-card-head h3,
body.landing-master .tm-info-card h3,
body.landing-master .tm-faq-item summary,
body.landing-master .tm-contact-card h1,
body.landing-master .tm-routine-day-card h3,
body.landing-master .tm-routine-day-slot {
    color: #000 !important;
}

body.landing-master #overview .tm-section-head,
body.landing-master #routine-preview .tm-section-head {
    text-align: center !important;
}

body.landing-master .tm-section-head p,
body.landing-master .tm-step-card p,
body.landing-master #workflow .tm-workflow-card-body p,
body.landing-master #workflow .tm-workflow-points li,
body.landing-master .tm-info-card p,
body.landing-master .tm-faq-item p,
body.landing-master .tm-contact-card p,
body.landing-master .tm-side-card p,
body.landing-master .tm-routine-day-value,
body.landing-master .tm-routine-day-entry-meta {
    color: #0009 !important;
}

body.landing-master .tm-step-card,
body.landing-master #workflow .tm-workflow-card,
body.landing-master .tm-info-card,
body.landing-master .tm-faq-item,
body.landing-master .tm-contact-card,
body.landing-master .tm-side-card,
body.landing-master .tm-routine-day-card,
body.landing-master .tm-routine-day-item {
    border: 1px solid #ececec !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.landing-master #overview .tm-step-card,
body.landing-master .tm-routine-note,
body.landing-master .tm-scroll-note {
    text-align: center !important;
}

body.landing-master #workflow .tm-workflow-card-body {
    background: #fff !important;
    transition: background 0.22s ease !important;
}

body.landing-master #workflow .tm-workflow-card:hover .tm-workflow-card-body {
    background: var(--workflow-hover-bg) !important;
}

body.landing-master #workflow .tm-workflow-card {
    border-color: var(--workflow-border) !important;
    box-shadow: 0 14px 24px rgba(18, 38, 67, 0.08) !important;
}

body.landing-master .tm-step-no,
body.landing-master #workflow .tm-workflow-icon {
    border: 1px solid #ececec !important;
    color: #fff !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight {
    border-color: #39B9AE !important;
    background: #fff !important;
}

body.landing-master .tm-table-wrap {
    border: 1px solid #ececec !important;
    background: #fff !important;
}

body.landing-master .tm-routine-table thead th,
body.landing-master .tm-routine-table .day-cell,
body.landing-master .tm-routine-table .time-label-cell {
    background: #fff !important;
    color: #000 !important;
}

body.landing-master .tm-routine-table th,
body.landing-master .tm-routine-table td {
    border-color: #ececec !important;
    color: #000 !important;
}

body.landing-master .tm-routine-table .tm-routine-cell {
    background: #fff !important;
}

body.landing-master .tm-contact-card label,
body.landing-master .tm-side-card label,
body.landing-master .tm-input-label,
body.landing-master .tm-input-heading {
    color: #000 !important;
}

body.landing-master .tm-contact-card input,
body.landing-master .tm-contact-card select,
body.landing-master .tm-contact-card textarea,
body.landing-master .tm-input-wrap {
    border: 1px solid #d9d9d9 !important;
    background: #fff !important;
    color: #000 !important;
}

body.landing-master .tm-contact-card input::placeholder,
body.landing-master .tm-contact-card textarea::placeholder,
body.landing-master .tm-input-wrap input::placeholder {
    color: #0008 !important;
}

body.landing-master .tm-login-overlay {
    background: rgba(8, 16, 28, 0.46) !important;
    backdrop-filter: blur(10px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.08) !important;
    padding: clamp(0.72rem, 2.6vw, 1rem) !important;
}

body.landing-master .tm-login-dialog {
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    width: min(27rem, calc(100vw - 1.4rem)) !important;
    max-height: min(86vh, 36rem);
    border: 1px solid rgba(124, 218, 208, 0.5) !important;
    border-radius: 21px !important;
    background:
        radial-gradient(420px circle at 100% 0%, rgba(120, 214, 241, 0.24), transparent 42%),
        radial-gradient(360px circle at 0% 100%, rgba(106, 236, 225, 0.12), transparent 40%),
        linear-gradient(180deg, #fbffff 0%, #eff8fc 100%) !important;
    box-shadow: 0 24px 46px rgba(7, 24, 41, 0.2) !important;
    padding: 0.94rem 0.9rem 0.84rem !important;
    scrollbar-gutter: stable;
}

body.landing-master .tm-login-dialog::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #39b9ae, #7bc2f2, #a9dffc);
}

body.landing-master .tm-login-head {
    display: grid;
    gap: 0.14rem;
    justify-items: center !important;
    text-align: center !important;
    padding-right: 0 !important;
    margin-bottom: 0.14rem;
}

body.landing-master .tm-login-kicker {
    display: inline-flex;
    justify-self: center !important;
    align-items: center;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    border: 1px solid rgba(57, 185, 174, 0.18);
    background: linear-gradient(145deg, #eefdfa, #eef7ff);
    color: #1c7a83;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.landing-master .tm-login-dialog h2 {
    color: #0f223a !important;
}

body.landing-master .tm-login-subcopy {
    margin: 0 auto !important;
    max-width: 32ch !important;
    color: #5f7286 !important;
    font-size: 0.84rem;
    line-height: 1.42;
}

body.landing-master .tm-login-form {
    gap: 0.66rem !important;
    margin-top: 0.58rem;
}

body.landing-master .tm-login-credit {
    margin: 0.08rem 0 0;
    text-align: center;
    color: #6f8092;
    font-size: clamp(0.58rem, 0.26vw + 0.54rem, 0.7rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.35;
    text-wrap: balance;
}

body.landing-master .tm-login-credit-brand {
    color: #13839a;
}

body.landing-master .tm-login-dialog .tm-input-label,
body.landing-master .tm-login-dialog .tm-input-heading {
    color: #24445f !important;
    font-weight: 700 !important;
}

body.landing-master .tm-login-dialog .tm-input-heading {
    margin-bottom: 0.24rem !important;
}

body.landing-master .tm-login-dialog .tm-input-wrap {
    min-height: 2.9rem !important;
    padding: 0.32rem 0.48rem !important;
    border: 1px solid rgba(173, 208, 226, 0.9) !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
}

body.landing-master .tm-login-dialog .tm-input-wrap:focus-within {
    border-color: rgba(57, 185, 174, 0.74) !important;
    box-shadow:
        0 0 0 4px rgba(57, 185, 174, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
}

body.landing-master .tm-login-dialog .tm-input-wrap.is-invalid {
    border-color: rgba(215, 104, 118, 0.48) !important;
    background: linear-gradient(180deg, #fffafb, #fff4f4) !important;
    box-shadow: 0 0 0 3px rgba(215, 104, 118, 0.08) !important;
}

body.landing-master .tm-login-dialog .tm-input-emoji {
    width: 1.68rem !important;
    height: 1.68rem !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 9px !important;
    background: linear-gradient(135deg, #ecefff, #dff7ff) !important;
    font-size: 0.88rem !important;
}

body.landing-master .tm-login-dialog .tm-input-wrap input {
    color: #173047 !important;
    font-size: 0.92rem !important;
}

body.landing-master .tm-login-dialog .tm-input-wrap input::placeholder {
    color: #8496a7 !important;
}

body.landing-master .tm-login-dialog .tm-password-toggle {
    width: 1.72rem;
    height: 1.72rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #f2fbff, #e7f3fb);
    color: #3f7a98 !important;
}

body.landing-master .tm-login-close {
    top: 0.72rem !important;
    right: 0.72rem !important;
    width: 38px !important;
    height: 38px !important;
    border: 1px solid rgba(173, 208, 226, 0.8) !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, #ffffff, #edf6fb) !important;
    color: #6c7f92 !important;
    box-shadow: 0 10px 18px rgba(17, 44, 67, 0.11) !important;
}

body.landing-master .tm-login-close:hover {
    transform: translateY(-1px);
    color: #284a65 !important;
}

body.landing-master .tm-login-inline-error {
    border-radius: 16px !important;
    border-color: rgba(214, 109, 119, 0.24) !important;
    background: linear-gradient(180deg, #fff8f8, #fff1f1) !important;
    color: #b24250 !important;
    box-shadow: none !important;
}

body.landing-master .tm-login-dialog .tm-auth-submit {
    min-height: 2.92rem !important;
    margin-top: 0 !important;
    border: 1px solid rgba(20, 108, 130, 0.28) !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #0f6075 0%, #198ba1 54%, #4eaed5 100%) !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 20px rgba(20, 108, 130, 0.2) !important;
}

body.landing-master .tm-login-dialog .tm-auth-submit:hover {
    background: linear-gradient(135deg, #12718a 0%, #2096ae 54%, #62bbe0 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 1180px) {
    body.landing-master .tm-nav-shell {
        position: relative !important;
        min-height: 72px !important;
        align-items: center !important;
        padding-top: 0.55rem !important;
        padding-bottom: 0.55rem !important;
        padding-right: 4rem !important;
        padding-left: 1rem !important;
    }

    body.landing-master .tm-nav-menu {
        top: calc(100% + 0.35rem) !important;
        right: 0.6rem !important;
        left: auto !important;
        width: min(360px, calc(100vw - 1.2rem)) !important;
        border: 1px solid rgba(124, 218, 208, 0.46) !important;
        border-radius: 18px !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 250, 253, 0.98)) !important;
        box-shadow: 0 18px 32px rgba(10, 29, 48, 0.14) !important;
        padding: 0.58rem !important;
        gap: 0.34rem !important;
    }

    body.landing-master .tm-brand {
        display: inline-flex !important;
        align-items: center !important;
        align-self: center !important;
        margin-top: 0 !important;
    }

    body.landing-master .tm-brand-text {
        align-items: center !important;
    }

    body.landing-master .tm-menu-toggle {
        position: absolute !important;
        top: 50% !important;
        right: 0.56rem !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        align-self: center !important;
    }

    body.landing-master .tm-nav-links {
        gap: 0.14rem !important;
    }

    body.landing-master .tm-nav-links a {
        width: 100% !important;
        min-height: 2.45rem !important;
        justify-content: flex-start !important;
        padding: 0 0.8rem !important;
        border: 0 !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }

    body.landing-master .tm-nav-links a:hover,
    body.landing-master .tm-nav-links a:focus-visible,
    body.landing-master .tm-nav-links a.is-active {
        background: linear-gradient(145deg, #f5fefd, #e0f6f9) !important;
        box-shadow: none !important;
    }

    body.landing-master .tm-nav-cta,
    body.landing-master .tm-nav-cta:hover {
        width: 100% !important;
        min-height: 2.65rem !important;
        padding: 0.62rem 1rem !important;
    }
}

body.landing-master .tm-header *::selection {
    background: transparent;
    color: inherit;
}

body.landing-master .tm-header *::-moz-selection {
    background: transparent;
    color: inherit;
}

body.landing-master .tm-main {
    padding-top: 8rem !important;
}

body.landing-master .tm-hero {
    min-height: auto !important;
    padding: 2.6rem 2rem 2.2rem !important;
}

body.landing-master .tm-hero-grid {
    padding: 0 !important;
}

body.landing-master .tm-hero-copy {
    max-width: 72rem;
}

body.landing-master .tm-live-strip {
    margin-top: 1.1rem !important;
}

body.landing-master .tm-live-pill {
    font-size: 0.95rem !important;
    border-radius: 999px !important;
}

/* Top live strip cleanup (remove long white bar look) */
body.landing-master .tm-live-strip {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: auto !important;
}

body.landing-master .tm-live-pill {
    border: 1px solid #d9dce3 !important;
    background: #f3f5f9 !important;
    color: #4d5f7e !important;
}

/* Overview panel redesign */
body.landing-master #overview .tm-step-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 1rem !important;
}

body.landing-master #overview .tm-step-card {
    --ov-accent-start: #4DAFDE;
    --ov-accent-end: #7BE0D7;
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid #d6def0 !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%) !important;
    box-shadow: 0 12px 24px rgba(13, 34, 78, 0.08) !important;
    padding: 1.05rem 1.1rem 1.02rem !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
    text-align: center !important;
}

body.landing-master #overview .tm-step-card::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--ov-accent-start), var(--ov-accent-end)) !important;
}

body.landing-master #overview .tm-step-card::after {
    content: "" !important;
    position: absolute !important;
    width: 160px !important;
    height: 160px !important;
    right: -78px !important;
    top: -96px !important;
    border-radius: 999px !important;
    background: radial-gradient(circle, rgba(92, 132, 255, 0.14), rgba(92, 132, 255, 0)) !important;
    pointer-events: none !important;
}

body.landing-master #overview .tm-step-card:nth-child(2) {
    --ov-accent-start: #63B8E8;
    --ov-accent-end: #78DDD6;
}

body.landing-master #overview .tm-step-card:nth-child(3) {
    --ov-accent-start: #66AEE7;
    --ov-accent-end: #68D7C5;
}

body.landing-master #overview .tm-step-card:nth-child(4) {
    --ov-accent-start: #63BCEB;
    --ov-accent-end: #74DED8;
}

body.landing-master #overview .tm-step-card:hover {
    transform: translateY(-3px) !important;
    border-color: #9eb5e8 !important;
    box-shadow: 0 18px 30px rgba(13, 34, 78, 0.12) !important;
}

body.landing-master #overview .tm-step-no {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    border: 1px solid #cfdcf4 !important;
    border-radius: 999px !important;
    background: linear-gradient(145deg, #f7fbff, #eaf1ff) !important;
    color: #7f93b8 !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    padding: 0.36rem 0.78rem !important;
    margin-bottom: 0.8rem !important;
}

body.landing-master #overview .tm-step-card h3 {
    margin: 0 !important;
    color: #131d30 !important;
    font-size: clamp(1.2rem, 1.6vw, 1.5rem) !important;
    line-height: 1.22 !important;
}

body.landing-master #overview .tm-step-card p {
    margin: 0.66rem 0 0 !important;
    color: #5f6f89 !important;
    font-size: 0.96rem !important;
    line-height: 1.52 !important;
}

body.landing-master .tm-routine-table .routine-title,
body.landing-master .tm-routine-table th,
body.landing-master .tm-routine-table td,
body.landing-master .tm-routine-table .cell-line,
body.landing-master .tm-routine-table .routine-entry-card,
body.landing-master .tm-routine-table .routine-entry-title,
body.landing-master .tm-routine-table .routine-entry-meta,
body.landing-master .tm-routine-day-entry,
body.landing-master .tm-routine-day-entry-title,
body.landing-master .tm-routine-day-entry-meta {
    text-align: center !important;
}

body.landing-master .tm-routine-table .routine-entry-title,
body.landing-master .tm-routine-day-entry-title {
    justify-content: center !important;
}

@media (max-width: 900px) {
    body.landing-master #overview .tm-step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    body.landing-master #overview .tm-step-grid {
        grid-template-columns: 1fr !important;
    }

    body.landing-master #overview .tm-step-card {
        padding: 1rem !important;
    }
}

/* Unified role UI refresh: admin, faculty, student + landing login modal */
body.role-admin:not(.landing-master),
body.role-faculty:not(.landing-master),
body.role-student:not(.landing-master) {
    --role-ui-border: #7BDAD0;
    --role-ui-border-soft: #CAEDE6;
    --role-ui-surface-1: #ffffff;
    --role-ui-surface-2: #E6FBF6;
    --role-ui-surface-3: #95D7EF;
    --role-ui-text: #141414;
    --role-ui-muted: #5e6573;
    background: #f4f2f1 !important;
    color: var(--role-ui-text) !important;
}

body.role-admin:not(.landing-master) .ambient-bg,
body.role-faculty:not(.landing-master) .ambient-bg,
body.role-student:not(.landing-master) .ambient-bg {
    display: none !important;
}

body.role-admin:not(.landing-master) header.topbar,
body.role-faculty:not(.landing-master) .panel-lite-shell,
body.role-student:not(.landing-master) .panel-lite-shell {
    position: sticky !important;
    top: 0 !important;
    z-index: 105 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 0.9rem clamp(1rem, 2.8vw, 2.25rem) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(241, 250, 253, 0.92)) !important;
    box-shadow:
        0 14px 32px rgba(12, 34, 57, 0.08),
        inset 0 -1px 0 rgba(138, 197, 214, 0.38) !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
    box-sizing: border-box !important;
}


body.role-admin:not(.landing-master) header.topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

body.role-admin:not(.landing-master) header.topbar .brand-wrap {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.68rem !important;
    min-width: max-content !important;
}

body.role-admin:not(.landing-master) header.topbar .page-title-wrap {
    display: none !important;
}

body.role-admin:not(.landing-master) .brand-rich-light,
body.role-admin:not(.landing-master) .brand-rich-strong,
body.role-faculty:not(.landing-master) .panel-lite-brand-light,
body.role-faculty:not(.landing-master) .panel-lite-brand-strong,
body.role-student:not(.landing-master) .panel-lite-brand-light,
body.role-student:not(.landing-master) .panel-lite-brand-strong {
    color: #101317 !important;
}

body.role-admin:not(.landing-master) header.topbar .top-actions,
body.role-faculty:not(.landing-master) .panel-lite-actions,
body.role-student:not(.landing-master) .panel-lite-actions {
    position: static !important;
    margin-left: auto !important;
    width: auto !important;
    min-width: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 1.1rem !important;
}

body.role-admin:not(.landing-master) .main-nav .nav-emoji {
    display: none !important;
}

body.role-admin:not(.landing-master) .main-nav,
body.role-faculty:not(.landing-master) .panel-lite-nav,
body.role-student:not(.landing-master) .panel-lite-nav {
    display: flex !important;
    align-items: center !important;
    gap: 0.22rem !important;
    flex-wrap: nowrap !important;
}

body.role-admin:not(.landing-master) .main-nav a.nav-link,
body.role-faculty:not(.landing-master) .panel-lite-link,
body.role-student:not(.landing-master) .panel-lite-link {
    min-height: 2.7rem !important;
    padding: 0.62rem 0.95rem !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #214061 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}

body.role-admin:not(.landing-master) .main-nav a.nav-link:hover,
body.role-admin:not(.landing-master) .main-nav a.nav-link.is-current,
body.role-faculty:not(.landing-master) .panel-lite-link:hover,
body.role-faculty:not(.landing-master) .panel-lite-link.is-current,
body.role-student:not(.landing-master) .panel-lite-link:hover,
body.role-student:not(.landing-master) .panel-lite-link.is-current {
    border-color: rgba(86, 181, 197, 0.24) !important;
    background: linear-gradient(145deg, rgba(239, 252, 251, 0.95), rgba(234, 246, 255, 0.95)) !important;
    color: #17818d !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

body.role-admin:not(.landing-master) .role-icons {
    display: none !important;
}

body.role-admin:not(.landing-master) .avatar-chip,
body.role-faculty:not(.landing-master) .panel-lite-avatar,
body.role-student:not(.landing-master) .panel-lite-avatar {
    display: none !important;
}

body.role-admin:not(.landing-master) .avatar-meta,
body.role-faculty:not(.landing-master) .panel-lite-avatar-meta,
body.role-student:not(.landing-master) .panel-lite-avatar-meta {
    display: none !important;
}

body.role-admin:not(.landing-master) .logout-link,
body.role-faculty:not(.landing-master) .panel-lite-cta,
body.role-student:not(.landing-master) .panel-lite-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.7rem !important;
    padding: 0.62rem 1.35rem !important;
    border: 1px solid rgba(20, 108, 130, 0.28) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #0f6075 0%, #198ba1 54%, #4eaed5 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(20, 108, 130, 0.2) !important;
    text-decoration: none !important;
}

body.role-admin:not(.landing-master) .logout-link:hover,
body.role-faculty:not(.landing-master) .panel-lite-cta:hover,
body.role-student:not(.landing-master) .panel-lite-cta:hover {
    transform: translateY(-2px) !important;
    filter: none !important;
    color: #ffffff !important;
    box-shadow: 0 18px 32px rgba(20, 108, 130, 0.24) !important;
}

body.role-admin:not(.landing-master) .logout-link .nav-emoji {
    display: none !important;
}

body.role-admin:not(.landing-master) .panel,
body.role-faculty:not(.landing-master) .panel,
body.role-student:not(.landing-master) .panel,
body.role-admin:not(.landing-master) .metric-card,
body.role-faculty:not(.landing-master) .metric-card,
body.role-student:not(.landing-master) .metric-card,
body.role-admin:not(.landing-master) .action-tile,
body.role-faculty:not(.landing-master) .action-tile,
body.role-student:not(.landing-master) .action-tile,
body.role-admin:not(.landing-master) .mini-card,
body.role-faculty:not(.landing-master) .mini-card,
body.role-student:not(.landing-master) .mini-card,
body.role-admin:not(.landing-master) .student-profile-card,
body.role-admin:not(.landing-master) .faculty-profile-card,
body.role-admin:not(.landing-master) .student-profile-hero-card,
body.role-admin:not(.landing-master) .faculty-profile-hero-card,
body.role-faculty:not(.landing-master) .student-profile-card,
body.role-faculty:not(.landing-master) .faculty-profile-card,
body.role-faculty:not(.landing-master) .student-profile-hero-card,
body.role-faculty:not(.landing-master) .faculty-profile-hero-card,
body.role-student:not(.landing-master) .student-profile-card,
body.role-student:not(.landing-master) .faculty-profile-card,
body.role-student:not(.landing-master) .student-profile-hero-card,
body.role-student:not(.landing-master) .faculty-profile-hero-card {
    border: 1px solid var(--role-ui-border) !important;
    border-radius: 22px !important;
    background: linear-gradient(140deg, var(--role-ui-surface-1) 0%, var(--role-ui-surface-2) 54%, var(--role-ui-surface-3) 100%) !important;
    box-shadow: 0 14px 28px rgba(57, 185, 174, 0.17) !important;
}

body.role-admin:not(.landing-master) h1,
body.role-admin:not(.landing-master) h2,
body.role-admin:not(.landing-master) h3,
body.role-faculty:not(.landing-master) h1,
body.role-faculty:not(.landing-master) h2,
body.role-faculty:not(.landing-master) h3,
body.role-student:not(.landing-master) h1,
body.role-student:not(.landing-master) h2,
body.role-student:not(.landing-master) h3 {
    color: var(--role-ui-text) !important;
}

body.role-admin:not(.landing-master) p,
body.role-admin:not(.landing-master) small,
body.role-admin:not(.landing-master) label,
body.role-admin:not(.landing-master) th,
body.role-admin:not(.landing-master) td,
body.role-faculty:not(.landing-master) p,
body.role-faculty:not(.landing-master) small,
body.role-faculty:not(.landing-master) label,
body.role-faculty:not(.landing-master) th,
body.role-faculty:not(.landing-master) td,
body.role-student:not(.landing-master) p,
body.role-student:not(.landing-master) small,
body.role-student:not(.landing-master) label,
body.role-student:not(.landing-master) th,
body.role-student:not(.landing-master) td {
    color: var(--role-ui-muted) !important;
}

body.role-admin:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body.role-admin:not(.landing-master) select,
body.role-admin:not(.landing-master) textarea,
body.role-faculty:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body.role-faculty:not(.landing-master) select,
body.role-faculty:not(.landing-master) textarea,
body.role-student:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]),
body.role-student:not(.landing-master) select,
body.role-student:not(.landing-master) textarea {
    border: 1px solid #efb6a8 !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #ffffff, #F4FDFC) !important;
    color: #141414 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}

body.role-admin:not(.landing-master) input::placeholder,
body.role-admin:not(.landing-master) textarea::placeholder,
body.role-faculty:not(.landing-master) input::placeholder,
body.role-faculty:not(.landing-master) textarea::placeholder,
body.role-student:not(.landing-master) input::placeholder,
body.role-student:not(.landing-master) textarea::placeholder {
    color: #8c8b92 !important;
}

body.role-admin:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):focus,
body.role-admin:not(.landing-master) select:focus,
body.role-admin:not(.landing-master) textarea:focus,
body.role-faculty:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):focus,
body.role-faculty:not(.landing-master) select:focus,
body.role-faculty:not(.landing-master) textarea:focus,
body.role-student:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):focus,
body.role-student:not(.landing-master) select:focus,
body.role-student:not(.landing-master) textarea:focus {
    border-color: #39B9AE !important;
    box-shadow: 0 0 0 3px rgba(57, 185, 174, 0.18) !important;
    outline: none !important;
}

body.role-admin:not(.landing-master) .btn,
body.role-faculty:not(.landing-master) .btn,
body.role-student:not(.landing-master) .btn {
    border: 1px solid #111111 !important;
    border-radius: 999px !important;
    background: #111111 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.role-admin:not(.landing-master) .btn:hover,
body.role-faculty:not(.landing-master) .btn:hover,
body.role-student:not(.landing-master) .btn:hover {
    border-color: #000000 !important;
    background: #000000 !important;
    color: #ffffff !important;
}

body.role-admin:not(.landing-master) .btn.btn-outline,
body.role-faculty:not(.landing-master) .btn.btn-outline,
body.role-student:not(.landing-master) .btn.btn-outline {
    border-color: #d8d8d8 !important;
    background: #ffffff !important;
    color: #141414 !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table),
body.role-faculty:not(.landing-master) table:not(.routine-table),
body.role-student:not(.landing-master) table:not(.routine-table) {
    border-color: #ecd4cc !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table) thead th,
body.role-faculty:not(.landing-master) table:not(.routine-table) thead th,
body.role-student:not(.landing-master) table:not(.routine-table) thead th {
    background: linear-gradient(140deg, #E7FAF5, #D7F4ED) !important;
    color: #1d1d1f !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table) tbody tr,
body.role-faculty:not(.landing-master) table:not(.routine-table) tbody tr,
body.role-student:not(.landing-master) table:not(.routine-table) tbody tr {
    background: #fffdfc !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table) tbody tr:hover,
body.role-faculty:not(.landing-master) table:not(.routine-table) tbody tr:hover,
body.role-student:not(.landing-master) table:not(.routine-table) tbody tr:hover {
    background: #F1FCFA !important;
}

@media (max-width: 980px) {
    body.role-admin:not(.landing-master) header.topbar,
    body.role-faculty:not(.landing-master) .panel-lite-shell,
    body.role-student:not(.landing-master) .panel-lite-shell {
        position: relative !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 72px !important;
        height: auto !important;
        padding-top: 0.55rem !important;
        padding-bottom: 0.55rem !important;
        padding-right: 4rem !important;
        padding-left: 1rem !important;
        overflow: visible !important;
    }

    body.role-admin:not(.landing-master) header.topbar .panel-menu-toggle,
    body.role-faculty:not(.landing-master) .panel-lite-toggle,
    body.role-student:not(.landing-master) .panel-lite-toggle {
        position: absolute !important;
        top: 50% !important;
        right: 0.5rem !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        align-self: center !important;
        border: 1px solid #e7d1cb !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    body.role-faculty:not(.landing-master) .panel-lite-brand,
    body.role-student:not(.landing-master) .panel-lite-brand {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        align-self: center !important;
        margin-right: auto !important;
    }

    body.role-faculty:not(.landing-master) .panel-lite-brand-text,
    body.role-student:not(.landing-master) .panel-lite-brand-text {
        align-items: center !important;
    }

    body.role-admin:not(.landing-master) header.topbar .top-actions,
    body.role-faculty:not(.landing-master) .panel-lite-actions,
    body.role-student:not(.landing-master) .panel-lite-actions {
        display: none !important;
        position: absolute !important;
        top: calc(100% + 0.35rem) !important;
        right: 0.32rem !important;
        left: auto !important;
        width: min(304px, calc(100vw - 0.7rem)) !important;
        border: 1px solid rgba(124, 218, 208, 0.46) !important;
        border-radius: 18px !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 250, 253, 0.98)) !important;
        box-shadow: 0 18px 32px rgba(10, 29, 48, 0.14) !important;
        padding: 0.52rem !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.34rem !important;
        z-index: 120 !important;
    }

    body.role-admin:not(.landing-master) header.topbar .top-actions.is-open,
    body.role-faculty:not(.landing-master) .panel-lite-actions.is-open,
    body.role-student:not(.landing-master) .panel-lite-actions.is-open {
        display: flex !important;
    }

    body.role-admin:not(.landing-master) .main-nav,
    body.role-faculty:not(.landing-master) .panel-lite-nav,
    body.role-student:not(.landing-master) .panel-lite-nav {
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.24rem !important;
    }

    body.role-admin:not(.landing-master) .main-nav a.nav-link,
    body.role-faculty:not(.landing-master) .panel-lite-link,
    body.role-student:not(.landing-master) .panel-lite-link {
        width: 100% !important;
        min-height: 3rem !important;
        justify-content: flex-start !important;
        padding: 0.2rem 1rem !important;
        border: 1px solid transparent !important;
        border-radius: 14px !important;
        box-shadow: none !important;
    }

    body.role-admin:not(.landing-master) .logout-link,
    body.role-faculty:not(.landing-master) .panel-lite-cta,
    body.role-student:not(.landing-master) .panel-lite-cta {
        width: 100% !important;
        min-height: 3rem !important;
    }

    body.role-admin:not(.landing-master) .panel .btn:not(.logout-link) {
        min-height: 3.15rem !important;
        padding: 0.82rem 1.12rem !important;
    }
}

/* Landing typography polish for section titles, subcopy, and preview pills */
body.landing-master #overview .tm-section-head,
body.landing-master #workflow .tm-section-head,
body.landing-master #platform-modules .tm-section-head,
body.landing-master #routine-preview .tm-section-head,
body.landing-master .tm-faq-section .tm-section-head,
body.landing-master .tm-contact-card,
body.landing-master .tm-login-head {
    --title-accent: #2b90b3;
    --title-glow: rgba(43, 144, 179, 0.16);
}

body.landing-master #overview .tm-section-head {
    --title-accent: #3b6ee9;
    --title-glow: rgba(59, 110, 233, 0.18);
}

body.landing-master #workflow .tm-section-head {
    --title-accent: #1f9c95;
    --title-glow: rgba(31, 156, 149, 0.18);
}

body.landing-master #platform-modules .tm-section-head {
    --title-accent: #278eac;
    --title-glow: rgba(39, 142, 172, 0.18);
}

body.landing-master #routine-preview .tm-section-head {
    --title-accent: #2b83c8;
    --title-glow: rgba(43, 131, 200, 0.18);
}

body.landing-master .tm-faq-section .tm-section-head {
    --title-accent: #1e938d;
    --title-glow: rgba(30, 147, 141, 0.18);
}

body.landing-master .tm-contact-card {
    --title-accent: #217f96;
    --title-glow: rgba(33, 127, 150, 0.18);
}

body.landing-master .tm-login-head {
    --title-accent: #198ba1;
    --title-glow: rgba(25, 139, 161, 0.2);
}

body.landing-master #overview .tm-section-head h2,
body.landing-master #workflow .tm-section-head h2,
body.landing-master #platform-modules .tm-section-head h2,
body.landing-master .tm-why-section .tm-section-head h2,
body.landing-master #routine-preview .tm-section-head h2,
body.landing-master .tm-faq-section .tm-section-head h2,
body.landing-master .tm-contact-card h1,
body.landing-master .tm-login-dialog h2 {
    display: inline-block;
    position: relative;
    margin: 0 !important;
    font-family: "Trebuchet MS", "Gill Sans", "Segoe UI", sans-serif !important;
    font-size: clamp(1.9rem, 3vw, 2.7rem) !important;
    font-weight: 800 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
    color: #102336 !important;
    text-wrap: balance;
}

body.landing-master #overview .tm-section-head h2::after,
body.landing-master #workflow .tm-section-head h2::after,
body.landing-master #platform-modules .tm-section-head h2::after,
body.landing-master .tm-why-section .tm-section-head h2::after,
body.landing-master #routine-preview .tm-section-head h2::after,
body.landing-master .tm-faq-section .tm-section-head h2::after,
body.landing-master .tm-contact-card h1::after,
body.landing-master .tm-login-dialog h2::after {
    content: "";
    display: block;
    width: clamp(4.4rem, 11vw, 6.5rem);
    height: 0.28rem;
    margin-top: 0.55rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--title-accent), rgba(255, 255, 255, 0));
    box-shadow: 0 10px 20px var(--title-glow);
}

body.landing-master #overview .tm-section-head p,
body.landing-master #workflow .tm-section-head p,
body.landing-master #platform-modules .tm-section-head p,
body.landing-master .tm-faq-section .tm-section-head p,
body.landing-master .tm-login-subcopy {
    font-family: "Cambria", Georgia, serif !important;
    font-size: clamp(1rem, 1.35vw, 1.1rem) !important;
    font-style: italic;
    letter-spacing: 0.01em;
    line-height: 1.72 !important;
    color: #617487 !important;
    text-wrap: pretty;
}

body.landing-master .tm-contact-card p {
    font-family: "Cambria", Georgia, serif;
    letter-spacing: 0.01em;
}

body.landing-master #routine-preview .tm-routine-meta {
    gap: 0.6rem !important;
    margin-top: 0.35rem;
    margin-bottom: 0.6rem !important;
}

body.landing-master #routine-preview .tm-meta-pill {
    border-radius: 999px !important;
    border: 1px solid rgba(130, 187, 217, 0.42) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(236, 247, 255, 0.96)) !important;
    color: #43627d !important;
    font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
    letter-spacing: 0.02em;
    box-shadow: 0 10px 18px rgba(26, 64, 97, 0.06) !important;
}

body.landing-master #routine-preview .tm-meta-pill:first-child {
    padding: 0.48rem 0.92rem !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
    color: #227d91 !important;
}

body.landing-master #routine-preview .tm-meta-pill:nth-child(2) {
    padding: 0.62rem 1.06rem !important;
    font-family: "Trebuchet MS", "Gill Sans", "Segoe UI", sans-serif !important;
    font-size: clamp(0.96rem, 1.7vw, 1.14rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    color: #12344d !important;
}

body.landing-master #routine-preview .tm-meta-pill:nth-child(3) {
    padding: 0.52rem 0.98rem !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: #2e5f84 !important;
}

body.landing-master .tm-contact-card h1 {
    font-size: clamp(2rem, 3.1vw, 2.75rem) !important;
}

body.landing-master .tm-login-dialog h2 {
    font-size: clamp(1.76rem, 3vw, 2.28rem) !important;
}

@media (max-width: 760px) {
    body.landing-master #overview .tm-section-head h2,
    body.landing-master #workflow .tm-section-head h2,
    body.landing-master #platform-modules .tm-section-head h2,
    body.landing-master .tm-why-section .tm-section-head h2,
    body.landing-master #routine-preview .tm-section-head h2,
    body.landing-master .tm-faq-section .tm-section-head h2,
    body.landing-master .tm-contact-card h1,
    body.landing-master .tm-login-dialog h2 {
        font-size: clamp(1.46rem, 6.6vw, 1.86rem) !important;
    }

    body.landing-master #overview .tm-section-head p,
    body.landing-master #workflow .tm-section-head p,
    body.landing-master #platform-modules .tm-section-head p,
    body.landing-master .tm-faq-section .tm-section-head p,
    body.landing-master .tm-login-subcopy {
        font-size: 0.84rem !important;
        line-height: 1.38 !important;
    }

    body.landing-master #routine-preview .tm-meta-pill:nth-child(2) {
        font-size: 0.92rem !important;
    }

    body.landing-master .tm-login-overlay {
        padding: 0.46rem !important;
    }

    body.landing-master .tm-login-dialog {
        width: min(100%, calc(100vw - 0.6rem)) !important;
        max-height: calc(100dvh - 0.6rem);
        border-radius: 20px !important;
        padding: 0.82rem 0.74rem 0.72rem !important;
    }

    body.landing-master .tm-login-head {
        gap: 0.12rem;
        margin-bottom: 0.1rem;
    }

    body.landing-master .tm-login-dialog .tm-input-heading {
        margin-bottom: 0.2rem !important;
    }

    body.landing-master .tm-login-form {
        gap: 0.58rem !important;
        margin-top: 0.52rem;
    }

    body.landing-master .tm-login-dialog .tm-input-wrap {
        min-height: 2.76rem !important;
        padding: 0.3rem 0.42rem !important;
        border-radius: 14px !important;
    }

    body.landing-master .tm-login-dialog .tm-auth-submit {
        min-height: 2.8rem !important;
        font-size: 0.88rem !important;
    }

    body.landing-master .tm-login-close {
        top: 0.6rem !important;
        right: 0.6rem !important;
        width: 36px !important;
        height: 36px !important;
    }
}

/* Table header/text wrap fix for admin/faculty/student grids */
body.role-admin:not(.landing-master) .table-wrap table:not(.routine-table),
body.role-faculty:not(.landing-master) .table-wrap table:not(.routine-table),
body.role-student:not(.landing-master) .table-wrap table:not(.routine-table) {
    width: max-content !important;
    min-width: 100% !important;
    table-layout: auto !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table) th,
body.role-faculty:not(.landing-master) table:not(.routine-table) th,
body.role-student:not(.landing-master) table:not(.routine-table) th,
body.role-admin:not(.landing-master) table:not(.routine-table) td,
body.role-faculty:not(.landing-master) table:not(.routine-table) td,
body.role-student:not(.landing-master) table:not(.routine-table) td {
    overflow-wrap: normal !important;
    word-break: normal !important;
}

body.role-admin:not(.landing-master) table:not(.routine-table) thead th,
body.role-faculty:not(.landing-master) table:not(.routine-table) thead th,
body.role-student:not(.landing-master) table:not(.routine-table) thead th {
    white-space: nowrap !important;
    line-height: 1.2 !important;
    letter-spacing: 0.03em !important;
}

/* Master Data: keep panel tone, update inner element backgrounds */
body.role-admin.page-manage-master:not(.landing-master) .key-scheduling-panel {
    border: 1px solid rgba(126, 207, 222, 0.62) !important;
    background:
        radial-gradient(940px circle at 12% -22%, rgba(215, 244, 237, 0.32), transparent 58%),
        linear-gradient(145deg, #F2FCFA 0%, #E9FAF7 54%, #DFF3FB 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 12px 22px rgba(97, 58, 42, 0.08) !important;
}

body.role-admin.page-manage-master:not(.landing-master) .key-scheduling-panel .pill {
    border: 1px solid rgba(122, 204, 220, 0.64) !important;
    background: linear-gradient(145deg, #ffffff, #EEF9F7) !important;
    color: #1f355f !important;
    box-shadow: 0 6px 12px rgba(84, 52, 40, 0.09) !important;
}

/* Mobile hamburger menu styling */
@media (max-width: 980px) {
    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle,
    html body.role-faculty:not(.landing-master) .panel-lite-toggle,
    html body.role-student:not(.landing-master) .panel-lite-toggle,
    body.landing-master .tm-menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        width: 3.15rem !important;
        min-width: 3.15rem !important;
        height: 3.15rem !important;
        min-height: 3.15rem !important;
        border-radius: 16px !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle span,
    html body.role-faculty:not(.landing-master) .panel-lite-toggle span,
    html body.role-student:not(.landing-master) .panel-lite-toggle span,
    body.landing-master .tm-menu-toggle span {
        width: 20px !important;
        height: 2.4px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        background: #1f355f !important;
        display: block !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle span + span,
    html body.role-faculty:not(.landing-master) .panel-lite-toggle span + span,
    html body.role-student:not(.landing-master) .panel-lite-toggle span + span,
    body.landing-master .tm-menu-toggle span + span {
        margin-top: 0 !important;
    }
}

/* Final spacing + palette tuning for review/profile tables and pills */
html body.role-admin:not(.landing-master) main.container,
html body.role-faculty:not(.landing-master) main.container,
html body.role-student:not(.landing-master) main.container {
    margin-top: 1.18rem !important;
}

@media (max-width: 980px) {
    html body.role-admin:not(.landing-master) main.container,
    html body.role-faculty:not(.landing-master) main.container,
    html body.role-student:not(.landing-master) main.container {
        margin-top: 1.32rem !important;
    }

    body.landing-master .tm-nav-menu,
    html body:not(.landing-master) header.topbar.topbar-admin .top-actions,
    html body:not(.landing-master) .panel-lite-actions {
        top: calc(100% + 0.42rem) !important;
    }
}

body.page-review.role-admin:not(.landing-master) .review-workbench,
body.page-review.role-principal:not(.landing-master) .review-workbench,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench {
    --review-ink: #18324a;
    --review-soft-ink: #61758c;
    --review-muted-ink: #8293a6;
    --review-border: rgba(100, 140, 169, 0.24);
    --review-border-strong: rgba(78, 123, 157, 0.42);
    --review-shell: linear-gradient(158deg, rgba(255, 255, 255, 0.98), rgba(238, 245, 249, 0.95));
    --review-shell-soft: linear-gradient(160deg, rgba(250, 253, 255, 0.98), rgba(236, 243, 248, 0.96));
    --review-accent: #2c7093;
    --review-accent-strong: #1d5474;
    --review-accent-soft: rgba(217, 236, 246, 0.92);
    --review-highlight: rgba(243, 188, 126, 0.22);
    --review-shadow: 0 22px 42px rgba(20, 41, 62, 0.11);
}

body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench {
    --review-accent: #2d7a68;
    --review-accent-strong: #1e5b4c;
    --review-accent-soft: rgba(220, 240, 232, 0.94);
    --review-highlight: rgba(165, 214, 190, 0.24);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-panel,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-panel,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-panel {
    border: 1px solid var(--review-border) !important;
    background:
        radial-gradient(140% 120% at 100% 0%, var(--review-highlight), transparent 46%),
        radial-gradient(110% 120% at 0% 0%, rgba(121, 184, 212, 0.14), transparent 40%),
        var(--review-shell) !important;
    box-shadow: var(--review-shadow) !important;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-queue-panel,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-queue-panel,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-queue-panel {
    grid-column: span 2;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-panel::before,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-panel::before,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--review-accent), rgba(243, 188, 126, 0.96));
    opacity: 0.95;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-panel-head,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-panel-head,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-panel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.9rem 1rem;
    align-items: start;
    margin-bottom: 1rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-panel-title-wrap,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-panel-title-wrap,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-panel-title-wrap {
    display: grid;
    gap: 0.32rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-panel-kicker,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-panel-kicker,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-panel-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    padding: 0.34rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(92, 137, 165, 0.28);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), var(--review-accent-soft));
    color: var(--review-accent-strong);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-panel-subtitle,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-panel-subtitle,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-panel-subtitle {
    margin: 0;
    max-width: 48rem;
    color: var(--review-soft-ink);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-head-stats,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-head-stats,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-head-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 0.7rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-head-stat,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-head-stat,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-head-stat {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.84rem 0.92rem;
    border-radius: 18px;
    border: 1px solid rgba(99, 138, 166, 0.22);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(236, 244, 249, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-head-stat strong,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-head-stat strong,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-head-stat strong {
    color: var(--review-ink);
    font-size: 1.02rem;
    line-height: 1.15;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-head-stat span,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-head-stat span,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-head-stat span {
    color: var(--review-muted-ink);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-filter-row,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-filter-row,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-filter-row {
    gap: 0.55rem;
    margin-bottom: 0.9rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-filter-row .pill,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-filter-row .pill,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-filter-row .pill {
    border: 1px solid rgba(103, 146, 174, 0.26) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(231, 241, 247, 0.92)) !important;
    color: var(--review-ink) !important;
    box-shadow: none !important;
    font-weight: 700;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-filter-row .pill:hover,
body.page-review.role-admin:not(.landing-master) .review-workbench .review-filter-row .pill:focus-visible,
body.page-review.role-admin:not(.landing-master) .review-workbench .review-filter-row .pill-active,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-filter-row .pill:hover,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-filter-row .pill:focus-visible,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-filter-row .pill-active,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-filter-row .pill:hover,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-filter-row .pill:focus-visible,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-filter-row .pill-active {
    border-color: rgba(74, 122, 154, 0.42) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), var(--review-accent-soft)) !important;
    color: var(--review-accent-strong) !important;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-table-wrap,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-table-wrap,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-table-wrap,
body.page-review.role-admin:not(.landing-master) .review-workbench .review-preview-table-wrap,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-preview-table-wrap,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-preview-table-wrap {
    border: 1px solid var(--review-border) !important;
    border-radius: 24px;
    background: var(--review-shell-soft) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-preview-table-wrap,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-preview-table-wrap,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-preview-table-wrap {
    padding: 0.42rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-queue-table,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-queue-table,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-queue-table {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-queue-table thead th,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-queue-table thead th,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-queue-table thead th {
    background: linear-gradient(145deg, rgba(218, 234, 243, 0.96), rgba(245, 232, 217, 0.92)) !important;
    color: #20415f !important;
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-queue-table tbody tr,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-queue-table tbody tr,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-queue-table tbody tr {
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.9), rgba(239, 246, 250, 0.82)) !important;
    transition: background 0.2s ease;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-queue-table tbody tr:hover,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-queue-table tbody tr:hover,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-queue-table tbody tr:hover {
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.98), rgba(225, 239, 247, 0.92)) !important;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-queue-table tbody tr.is-open-row,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-queue-table tbody tr.is-open-row,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-queue-table tbody tr.is-open-row {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), var(--review-accent-soft)) !important;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-id,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-id,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-id {
    color: var(--review-accent-strong) !important;
    font-weight: 800;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-title,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-title,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-title {
    color: var(--review-ink) !important;
    font-weight: 700;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .badge,
body.page-review.role-principal:not(.landing-master) .review-workbench .badge,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .badge {
    border-color: rgba(101, 136, 167, 0.28) !important;
    background: linear-gradient(145deg, rgba(232, 241, 252, 0.96), rgba(220, 233, 244, 0.96)) !important;
    color: #25456c !important;
    box-shadow: none !important;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .badge.badge-soft,
body.page-review.role-principal:not(.landing-master) .review-workbench .badge.badge-soft,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .badge.badge-soft {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(238, 245, 250, 0.94)) !important;
    color: var(--review-accent-strong) !important;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-view-link,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-view-link,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-view-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5rem;
    padding: 0.46rem 0.88rem;
    border-radius: 999px;
    border: 1px solid rgba(98, 141, 170, 0.32);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), var(--review-accent-soft));
    color: var(--review-accent-strong);
    text-decoration: none;
    font-weight: 800;
    letter-spacing: 0.02em;
    box-shadow: 0 10px 18px rgba(29, 58, 81, 0.08);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-view-link:hover,
body.page-review.role-admin:not(.landing-master) .review-workbench .review-view-link:focus-visible,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-view-link:hover,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-view-link:focus-visible,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-view-link:hover,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-view-link:focus-visible {
    color: var(--review-accent-strong);
    transform: translateY(-1px);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-view-link.is-open,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-view-link.is-open,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-view-link.is-open {
    border-color: rgba(72, 122, 154, 0.44);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(214, 232, 246, 0.98));
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-queue-table .btn,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-queue-table .btn,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-queue-table .btn {
    min-height: 2.55rem;
    padding: 0.54rem 0.92rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-overview,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-overview,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.9rem 1rem;
    align-items: center;
    padding: 1rem 1.08rem;
    margin-bottom: 0.95rem;
    border: 1px solid rgba(99, 138, 166, 0.24);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(237, 245, 249, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-context,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-context,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-context {
    margin: 0 0 0.26rem;
    color: var(--review-muted-ink);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-overview h3,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-overview h3,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-overview h3 {
    margin: 0 0 0.34rem;
    color: var(--review-ink);
    font-size: 1.2rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-meta,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-meta,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-meta {
    margin: 0;
    color: var(--review-soft-ink);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-status-stack,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-status-stack,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-status-stack {
    display: grid;
    gap: 0.5rem;
    justify-items: end;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-emblem,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-emblem,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-emblem {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    padding: 0.5rem 0.84rem;
    border-radius: 999px;
    border: 1px solid rgba(98, 140, 170, 0.26);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(226, 239, 248, 0.92));
    color: var(--review-ink);
    font-size: 0.8rem;
    font-weight: 800;
    text-align: center;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-emblem-soft,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-emblem-soft,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-emblem-soft {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), var(--review-accent-soft));
    color: var(--review-accent-strong);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .generate-ai-summary,
body.page-review.role-principal:not(.landing-master) .review-workbench .generate-ai-summary,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .generate-ai-summary {
    padding: 0.92rem 1rem;
    border: 1px solid rgba(99, 138, 166, 0.24);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(239, 246, 250, 0.9));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-suggestion-box,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-suggestion-box,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-suggestion-box {
    border-style: solid;
    border-color: rgba(100, 137, 165, 0.22);
    background: linear-gradient(145deg, rgba(250, 252, 255, 0.96), rgba(235, 242, 247, 0.92));
    color: var(--review-soft-ink);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-option-grid,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-option-grid,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-option-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.92rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-option-card,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-option-card,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-option-card {
    display: grid;
    gap: 0.7rem;
    align-content: start;
    padding: 1rem 1.02rem;
    border: 1px solid var(--review-border-strong);
    border-radius: 22px;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(243, 188, 126, 0.16), transparent 42%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(235, 243, 248, 0.94));
    box-shadow: 0 16px 30px rgba(22, 42, 63, 0.08);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-option-card-head,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-option-card-head,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-option-card-head {
    display: flex;
    gap: 0.7rem;
    align-items: start;
    justify-content: space-between;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-option-card h3,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-option-card h3,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-option-card h3 {
    margin: 0;
    color: var(--review-ink);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-option-pill,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-option-pill,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-option-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.34rem 0.68rem;
    border-radius: 999px;
    border: 1px solid rgba(92, 137, 165, 0.28);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), var(--review-accent-soft));
    color: var(--review-accent-strong);
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-option-card-meta,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-option-card-meta,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-option-card-meta,
body.page-review.role-admin:not(.landing-master) .review-workbench .review-option-card-copy,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-option-card-copy,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-option-card-copy {
    margin: 0;
    color: var(--review-soft-ink);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .generate-option-metrics,
body.page-review.role-principal:not(.landing-master) .review-workbench .generate-option-metrics,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .generate-option-metrics {
    gap: 0.45rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .generate-option-metrics span,
body.page-review.role-principal:not(.landing-master) .review-workbench .generate-option-metrics span,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .generate-option-metrics span {
    border-color: rgba(99, 138, 166, 0.22);
    background: rgba(255, 255, 255, 0.74);
    color: var(--review-ink);
    font-weight: 700;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .generate-option-highlights,
body.page-review.role-principal:not(.landing-master) .review-workbench .generate-option-highlights,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .generate-option-highlights,
body.page-review.role-admin:not(.landing-master) .review-workbench .option-summary-list,
body.page-review.role-principal:not(.landing-master) .review-workbench .option-summary-list,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .option-summary-list {
    color: var(--review-soft-ink);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .option-summary-block,
body.page-review.role-principal:not(.landing-master) .review-workbench .option-summary-block,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .option-summary-block {
    border-color: rgba(99, 138, 166, 0.22);
    background: rgba(255, 255, 255, 0.72);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-shell,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-shell,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-shell {
    margin-top: 1rem;
    padding: 1rem 1.06rem;
    border: 1px solid rgba(99, 138, 166, 0.24);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(236, 244, 249, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-head h3,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-head h3,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-head h3 {
    margin-bottom: 0.24rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-head p,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-head p,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-head p {
    margin-bottom: 0.8rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-form,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-form,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-form {
    grid-template-columns: minmax(220px, 1.05fr) minmax(240px, 1.35fr) auto;
    gap: 0.85rem 0.9rem;
    align-items: end;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-form label,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-form label,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-form label {
    display: grid;
    gap: 0.42rem;
    margin: 0;
    color: var(--review-ink);
    font-weight: 700;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-form select,
body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-form textarea,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-form select,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-form textarea,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-form select,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-form textarea {
    width: 100%;
    border: 1px solid rgba(99, 138, 166, 0.28);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--review-ink);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-form textarea,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-form textarea,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-form textarea {
    min-height: 5.7rem;
    resize: vertical;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-actions,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-actions,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-actions {
    justify-content: flex-end;
    align-self: stretch;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-actions .btn,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-actions .btn,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-actions .btn {
    min-height: 3rem;
    min-width: 9rem;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-form > .muted,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-form > .muted,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-form > .muted {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--review-soft-ink);
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-preview-panel .routine-table .routine-title,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-preview-panel .routine-table .routine-title,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-preview-panel .routine-table .routine-title {
    background: linear-gradient(145deg, rgba(216, 233, 244, 0.96), rgba(246, 234, 218, 0.95));
    color: #1d4161;
    letter-spacing: 0.08em;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-preview-panel .routine-table thead th,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-preview-panel .routine-table thead th,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-preview-panel .routine-table thead th {
    color: #1f4466;
}

body.page-review.role-admin:not(.landing-master) .review-workbench .review-preview-panel .routine-table .day-cell,
body.page-review.role-principal:not(.landing-master) .review-workbench .review-preview-panel .routine-table .day-cell,
body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-preview-panel .routine-table .day-cell {
    color: var(--review-accent-strong);
}

@media (max-width: 1080px) {
    body.page-review.role-admin:not(.landing-master) .review-workbench .review-panel-head,
    body.page-review.role-principal:not(.landing-master) .review-workbench .review-panel-head,
    body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-panel-head,
    body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-overview,
    body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-overview,
    body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-overview,
    body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-form,
    body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-form,
    body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-form {
        grid-template-columns: 1fr;
    }

    body.page-review.role-admin:not(.landing-master) .review-workbench .review-run-status-stack,
    body.page-review.role-principal:not(.landing-master) .review-workbench .review-run-status-stack,
    body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-run-status-stack,
    body.page-review.role-admin:not(.landing-master) .review-workbench .review-decision-actions,
    body.page-review.role-principal:not(.landing-master) .review-workbench .review-decision-actions,
    body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-decision-actions {
        justify-items: start;
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    body.page-review.role-admin:not(.landing-master) .review-workbench .review-head-stats,
    body.page-review.role-principal:not(.landing-master) .review-workbench .review-head-stats,
    body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-head-stats,
    body.page-review.role-admin:not(.landing-master) .review-workbench .review-option-grid,
    body.page-review.role-principal:not(.landing-master) .review-workbench .review-option-grid,
    body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-option-grid {
        grid-template-columns: 1fr;
    }

    body.page-review.role-admin:not(.landing-master) .review-workbench .review-queue-table,
    body.page-review.role-principal:not(.landing-master) .review-workbench .review-queue-table,
    body.page-review[class*="role-dept"]:not(.landing-master) .review-workbench .review-queue-table {
        min-width: 640px;
    }
}

body.role-admin.page-profile:not(.landing-master) .panel.panel-wide {
    border: 1px solid rgba(122, 204, 220, 0.56) !important;
    background: linear-gradient(156deg, #fff9f6, #EEF9FB) !important;
}

body.role-admin.page-profile:not(.landing-master) .panel.panel-wide .pill {
    border: 1px solid rgba(128, 208, 224, 0.6) !important;
    background: linear-gradient(145deg, #F4FCFB, #E7F9F5) !important;
    color: #254272 !important;
    box-shadow: none !important;
}

body.role-admin.page-profile:not(.landing-master) .panel.panel-wide .pill-active {
    border-color: rgba(57, 185, 174, 0.86) !important;
    background: linear-gradient(145deg, #D9F6EF, #CCEBF8) !important;
    color: #2B98B2 !important;
}

body.role-admin.page-profile:not(.landing-master) .panel.panel-wide .table-wrap {
    border: 1px solid rgba(122, 204, 220, 0.5) !important;
    background: linear-gradient(160deg, #FBFFFE, #EDF9F7) !important;
}

body.role-admin.page-profile:not(.landing-master) .panel.panel-wide table:not(.routine-table) thead th {
    background: linear-gradient(145deg, #ffe6db, #ffd7c9) !important;
    color: #3f5f96 !important;
}

body.role-admin.page-profile:not(.landing-master) .panel.panel-wide table:not(.routine-table) tbody tr {
    background: linear-gradient(150deg, #F8FFFE, #EEF9FB) !important;
}

body.role-admin.page-profile:not(.landing-master) .panel.panel-wide table:not(.routine-table) tbody tr:hover {
    background: linear-gradient(150deg, #F4FCFB, #E5F8F4) !important;
}

body.role-admin.page-profile:not(.landing-master) .profile-self-panel,
body.role-admin.page-profile:not(.landing-master) .profile-admin-create-panel,
body.role-admin.page-profile:not(.landing-master) .profile-admin-directory-panel {
    position: relative;
    overflow: hidden;
}

body.role-admin.page-profile:not(.landing-master) .profile-self-panel::before,
body.role-admin.page-profile:not(.landing-master) .profile-admin-create-panel::before,
body.role-admin.page-profile:not(.landing-master) .profile-admin-directory-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, rgba(244, 158, 107, 0.82), rgba(73, 188, 201, 0.9));
}

body.role-admin.page-profile:not(.landing-master) .profile-self-panel > h2 {
    margin-bottom: 0.78rem;
    color: #183550;
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-panel-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem 1.2rem;
    margin-bottom: 1rem;
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.9rem;
    padding: 0.28rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(131, 195, 212, 0.34);
    background: rgba(255, 255, 255, 0.82);
    color: #2c667c;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-panel-head h2 {
    margin: 0.72rem 0 0.28rem;
    color: #183550;
    font-size: clamp(1.3rem, 2.1vw, 1.72rem);
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-panel-head p {
    margin: 0;
    max-width: 62ch;
    color: #5b7086;
    line-height: 1.68;
}

body.role-admin.page-profile:not(.landing-master) .profile-self-form,
body.role-admin.page-profile:not(.landing-master) .profile-admin-form {
    gap: 0.92rem 1rem;
    align-items: end;
}

body.role-admin.page-profile:not(.landing-master) .profile-self-form > label:last-of-type,
body.role-admin.page-profile:not(.landing-master) .profile-admin-form > label:last-of-type {
    grid-column: 1 / -1;
}

body.role-admin.page-profile:not(.landing-master) .profile-self-form .profile-self-wide {
    grid-column: 1 / -1;
}

body.role-admin.page-profile:not(.landing-master) .profile-self-form textarea,
body.role-admin.page-profile:not(.landing-master) .profile-admin-form textarea {
    min-height: 6rem;
    resize: vertical;
}

body.role-admin.page-profile:not(.landing-master) .profile-self-form .btn,
body.role-admin.page-profile:not(.landing-master) .profile-admin-form .btn {
    grid-column: 1 / -1;
    align-self: stretch;
    justify-content: center;
}

body.role-admin.page-profile:not(.landing-master) .profile-self-danger {
    margin-top: 0.95rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.role-admin.page-profile:not(.landing-master) .profile-role-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.78rem;
    width: min(620px, 100%);
}

body.role-admin.page-profile:not(.landing-master) .profile-role-stat {
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: grid;
    gap: 0.2rem;
    min-height: 118px;
    padding: 0.9rem 0.96rem;
    border-radius: 20px;
    border: 1px solid rgba(132, 194, 211, 0.26);
    background:
        radial-gradient(140% 140% at 100% 0%, rgba(91, 186, 210, 0.14), transparent 44%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.985), rgba(241, 248, 251, 0.985));
    box-shadow: 0 16px 28px rgba(22, 44, 64, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.role-admin.page-profile:not(.landing-master) .profile-role-stat::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, #f3a56d, #5bbfd1);
    opacity: 0.24;
}

body.role-admin.page-profile:not(.landing-master) .profile-role-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 34px rgba(20, 44, 65, 0.12);
}

body.role-admin.page-profile:not(.landing-master) .profile-role-stat.is-active {
    border-color: rgba(72, 181, 198, 0.52);
    background:
        radial-gradient(145% 145% at 100% 0%, rgba(91, 186, 210, 0.2), transparent 44%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.99), rgba(233, 245, 249, 0.99));
    box-shadow: 0 22px 38px rgba(20, 48, 71, 0.14);
}

body.role-admin.page-profile:not(.landing-master) .profile-role-stat.is-active::after {
    opacity: 1;
}

body.role-admin.page-profile:not(.landing-master) .profile-role-stat-label {
    color: #60788f;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.role-admin.page-profile:not(.landing-master) .profile-role-stat strong {
    color: #17344e;
    font-size: 1.62rem;
    line-height: 1.05;
}

body.role-admin.page-profile:not(.landing-master) .profile-role-stat small {
    color: #688197;
    font-size: 0.79rem;
    font-weight: 600;
}

body.role-admin.page-profile:not(.landing-master) .profile-directory-meta {
    margin: 0 0 0.95rem;
    padding: 0.88rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(131, 195, 212, 0.22);
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.95), rgba(242, 248, 251, 0.98));
    color: #264763;
    font-weight: 600;
    line-height: 1.62;
}

body.role-admin.page-profile:not(.landing-master) .profile-directory-table-wrap {
    padding: 0.56rem !important;
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-directory-panel table:not(.routine-table) thead th {
    background: linear-gradient(145deg, #e2f1fb, #d9eef4) !important;
    color: #204865 !important;
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-directory-panel table:not(.routine-table) tbody td:first-child {
    color: #1b3957;
    font-weight: 700;
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-directory-panel .inline-edit-row td {
    padding: 0.12rem 0.32rem 0.96rem !important;
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-directory-panel .inline-edit-form {
    border-radius: 20px;
    border: 1px solid rgba(132, 194, 211, 0.24);
    background: linear-gradient(155deg, rgba(255, 255, 255, 0.985), rgba(240, 247, 250, 0.985)) !important;
    box-shadow: 0 16px 28px rgba(20, 44, 65, 0.08) !important;
}

body.role-admin.page-profile:not(.landing-master) .profile-admin-directory-panel .inline-edit-form .btn.role-edit-wide {
    justify-self: start;
}

@media (max-width: 980px) {
    body.role-admin.page-profile:not(.landing-master) .profile-role-summary {
        grid-template-columns: 1fr;
        width: 100%;
    }
}

@media (max-width: 900px) {
    body.role-admin.page-profile:not(.landing-master) .profile-self-form,
    body.role-admin.page-profile:not(.landing-master) .profile-admin-form {
        grid-template-columns: 1fr !important;
    }
}

body.role-admin.page-contact-requests:not(.landing-master) .panel.panel-wide,
body.role-dept_head.page-contact-requests:not(.landing-master) .panel.panel-wide,
body.role-principal.page-contact-requests:not(.landing-master) .panel.panel-wide {
    border: 1px solid rgba(122, 204, 220, 0.56) !important;
    background: linear-gradient(156deg, #fffaf7, #eef9fb) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill,
body.role-dept_head.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill,
body.role-principal.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill {
    border: 1px solid rgba(128, 208, 224, 0.56) !important;
    color: #214866 !important;
    box-shadow: none !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-all,
body.role-dept_head.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-all,
body.role-principal.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-all {
    background: linear-gradient(145deg, #eef7ff, #dcecff) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-new,
body.role-dept_head.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-new,
body.role-principal.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-new {
    background: linear-gradient(145deg, #fff6de, #ffe8b8) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-in_progress,
body.role-dept_head.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-in_progress,
body.role-principal.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-in_progress {
    background: linear-gradient(145deg, #eaf6ff, #d4e7ff) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-closed,
body.role-dept_head.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-closed,
body.role-principal.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill-closed {
    background: linear-gradient(145deg, #ebf9f0, #d9f1e2) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill.pill-active,
body.role-admin.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill:hover,
body.role-admin.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill:focus-visible,
body.role-dept_head.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill.pill-active,
body.role-dept_head.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill:hover,
body.role-dept_head.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill:focus-visible,
body.role-principal.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill.pill-active,
body.role-principal.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill:hover,
body.role-principal.page-contact-requests:not(.landing-master) .pill-row .contact-request-filter-pill:focus-visible {
    border-color: rgba(56, 170, 185, 0.78) !important;
    background: linear-gradient(145deg, #d8f3f0, #cce7f6) !important;
    color: #1f7f93 !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .table-wrap,
body.role-dept_head.page-contact-requests:not(.landing-master) .table-wrap,
body.role-principal.page-contact-requests:not(.landing-master) .table-wrap {
    border: 1px solid rgba(122, 204, 220, 0.5) !important;
    background: linear-gradient(160deg, #fbfffe, #edf9f7) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) table:not(.routine-table) thead th,
body.role-dept_head.page-contact-requests:not(.landing-master) table:not(.routine-table) thead th,
body.role-principal.page-contact-requests:not(.landing-master) table:not(.routine-table) thead th {
    background: linear-gradient(145deg, #d8f3f0, #cce7f6) !important;
    color: #1c4267 !important;
}

body.role-admin.page-contact-requests:not(.landing-master) table:not(.routine-table) tbody tr,
body.role-dept_head.page-contact-requests:not(.landing-master) table:not(.routine-table) tbody tr,
body.role-principal.page-contact-requests:not(.landing-master) table:not(.routine-table) tbody tr {
    background: linear-gradient(150deg, #f8fffe, #eef9fb) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) table:not(.routine-table) tbody tr:hover,
body.role-dept_head.page-contact-requests:not(.landing-master) table:not(.routine-table) tbody tr:hover,
body.role-principal.page-contact-requests:not(.landing-master) table:not(.routine-table) tbody tr:hover {
    background: linear-gradient(150deg, #f4fcfb, #e5f8f4) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-id,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-id,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-id {
    color: #1f7f93 !important;
    font-weight: 800;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-subject,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-subject,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-subject {
    color: #1d446f !important;
    font-weight: 700;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-open-link,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-open-link,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-open-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.34rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(128, 208, 224, 0.6);
    background: linear-gradient(145deg, #f4fcfb, #e7f9f5);
    color: #254272;
    text-decoration: none;
    font-weight: 700;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-row-actions,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-row-actions,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-row-actions {
    display: flex;
    align-items: center;
    gap: 0.42rem;
    flex-wrap: wrap;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-delete-form,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-delete-form,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-delete-form {
    margin: 0;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-delete-btn,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-delete-btn,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-delete-btn {
    min-height: 2rem !important;
    padding: 0.34rem 0.72rem !important;
    font-size: 0.76rem !important;
    line-height: 1.05;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-status,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-status,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.95rem;
    padding: 0.22rem 0.72rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-status-new,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-status-new,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-status-new {
    background: linear-gradient(145deg, #fff5df, #ffe8bb);
    color: #916010;
    border: 1px solid rgba(214, 164, 51, 0.4);
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-status-in_progress,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-status-in_progress,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-status-in_progress {
    background: linear-gradient(145deg, #edf4ff, #dbe9ff);
    color: #284a83;
    border: 1px solid rgba(109, 139, 194, 0.42);
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-status-closed,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-status-closed,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-status-closed {
    background: linear-gradient(145deg, #e8f9ef, #d7f0e3);
    color: #1f7556;
    border: 1px solid rgba(71, 163, 119, 0.34);
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-grid,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-grid,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-shell,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-shell,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(128, 202, 219, 0.42) !important;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(115, 197, 220, 0.18), transparent 44%),
        radial-gradient(120% 120% at 0% 100%, rgba(255, 205, 154, 0.12), transparent 42%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.985), rgba(240, 248, 251, 0.985)) !important;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-shell::before,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-shell::before,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, rgba(244, 160, 96, 0.78), rgba(85, 181, 204, 0.9));
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-empty,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-empty,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-empty {
    padding: 0.2rem 0.1rem 0;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-kicker,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-kicker,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0.34rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(112, 184, 204, 0.26);
    background: rgba(255, 255, 255, 0.78);
    color: #2a6177;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-empty h2,
body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-hero h2,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-empty h2,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-hero h2,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-empty h2,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-hero h2 {
    margin: 0.8rem 0 0.34rem;
    color: #183550;
    font-size: clamp(1.34rem, 2.3vw, 1.78rem);
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-empty p,
body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-hero p,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-empty p,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-hero p,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-empty p,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-hero p {
    margin: 0;
    color: #4d6a81;
    line-height: 1.7;
    max-width: 64ch;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-hero,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-hero,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) auto;
    gap: 1rem 1.15rem;
    align-items: start;
    margin-bottom: 1rem;
    padding: 1.15rem 1.18rem;
    border: 1px solid rgba(134, 198, 216, 0.34);
    border-radius: 24px;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(93, 183, 209, 0.14), transparent 42%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(237, 246, 250, 0.98));
    box-shadow: 0 18px 34px rgba(20, 47, 72, 0.08);
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-hero-copy,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-hero-copy,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-hero-copy {
    display: grid;
    gap: 0.2rem;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-hero-meta,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-hero-meta,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-hero-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: flex-start;
    gap: 0.48rem;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-chip,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-chip,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.28rem 0.78rem;
    border-radius: 999px;
    border: 1px solid rgba(129, 191, 208, 0.3);
    background: rgba(255, 255, 255, 0.78);
    color: #1e456a;
    font-size: 0.78rem;
    font-weight: 700;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-card,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-card,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-card,
body.role-admin.page-contact-requests:not(.landing-master) .contact-request-message-panel,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-message-panel,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-message-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(132, 202, 218, 0.32);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(241, 248, 251, 0.98));
    padding: 1.05rem 1.08rem;
    box-shadow: 0 16px 30px rgba(18, 43, 65, 0.08);
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-card::before,
body.role-admin.page-contact-requests:not(.landing-master) .contact-request-message-panel::before,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-card::before,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-message-panel::before,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-card::before,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-message-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(104, 190, 214, 0.36), rgba(255, 255, 255, 0.94));
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-card h3,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-card h3,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-card h3,
body.role-admin.page-contact-requests:not(.landing-master) .contact-request-message-panel h3,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-message-panel h3,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-message-panel h3 {
    margin: 0 0 0.78rem;
    color: #173854;
    font-size: 1rem;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-card .muted,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-card .muted,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-card .muted {
    margin: -0.16rem 0 0.92rem;
    color: #678197;
    line-height: 1.6;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-list,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-list,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-list {
    margin: 0;
    display: grid;
    gap: 0.62rem;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-list div,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-list div,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-list div {
    display: grid;
    gap: 0.22rem;
    padding: 0.72rem 0.78rem;
    border-radius: 16px;
    border: 1px solid rgba(131, 191, 208, 0.18);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(244, 250, 252, 0.98));
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-list dt,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-list dt,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-list dt {
    color: #3b6980;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-list dd,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-list dd,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-list dd {
    margin: 0;
    color: #1f3957;
    font-weight: 700;
    line-height: 1.55;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-bottom,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-bottom,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
    gap: 1rem;
    margin-top: 1rem;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-message-panel,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-message-panel,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-message-panel {
    margin-top: 0;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-message,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-message,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-message {
    min-height: 100%;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(132, 193, 210, 0.2);
    background: linear-gradient(160deg, rgba(249, 252, 253, 0.98), rgba(243, 249, 251, 0.99));
    color: #29425e;
    line-height: 1.8;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-status-form,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-status-form,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-status-form {
    margin-top: 0.1rem;
    padding: 0.92rem;
    border-radius: 18px;
    border: 1px solid rgba(128, 191, 209, 0.2);
    background: linear-gradient(155deg, rgba(249, 252, 253, 0.98), rgba(240, 247, 250, 0.98));
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-review-card,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-review-card,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-review-card {
    display: grid;
    align-content: start;
}

body.role-admin.page-contact-requests:not(.landing-master) .contact-request-status-save-btn,
body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-status-save-btn,
body.role-principal.page-contact-requests:not(.landing-master) .contact-request-status-save-btn {
    min-height: 2.08rem !important;
    padding: 0.32rem 0.78rem !important;
    font-size: 0.78rem !important;
    line-height: 1.05;
    width: 100%;
}

@media (max-width: 1100px) {
    body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-hero,
    body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-hero,
    body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-hero,
    body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-bottom,
    body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-bottom,
    body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-bottom {
        grid-template-columns: 1fr;
    }

    body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-hero-meta,
    body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-hero-meta,
    body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-hero-meta {
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    body.role-admin.page-contact-requests:not(.landing-master) .contact-request-detail-grid,
    body.role-dept_head.page-contact-requests:not(.landing-master) .contact-request-detail-grid,
    body.role-principal.page-contact-requests:not(.landing-master) .contact-request-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    body.landing-master .tm-nav-menu .tm-nav-links a,
    body.landing-master .tm-nav-menu .tm-nav-links a:link,
    body.landing-master .tm-nav-menu .tm-nav-links a:visited {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #1f355f !important;
    }

    body.landing-master .tm-nav-menu .tm-nav-links a:hover,
    body.landing-master .tm-nav-menu .tm-nav-links a:focus-visible,
    body.landing-master .tm-nav-menu .tm-nav-links a.is-active {
        background: transparent !important;
        color: #39B9AE !important;
    }
}

/* Scroll reveal animation system for landing page cards */
body.landing-master [data-card-reveal] {
    --card-reveal-duration: 0.76s;
    --card-reveal-x: var(--card-reveal-shift-x, 0px);
    --card-reveal-y: var(--card-reveal-shift-y, 30px);
    --card-reveal-scale: 0.982;
    --card-reveal-rotate: 0deg;
    --card-reveal-tilt: 1.3deg;
    --card-reveal-blur: 10px;
    --card-reveal-saturate: 0.9;
    --card-reveal-settle-y: -4px;
    --card-reveal-settle-scale: 1.008;
    --card-reveal-settle-rotate: 0deg;
    opacity: 0;
    transform:
        perspective(1200px)
        translate3d(var(--card-reveal-x), var(--card-reveal-y), 0)
        scale(var(--card-reveal-scale))
        rotate(var(--card-reveal-rotate))
        rotateX(var(--card-reveal-tilt));
    transform-origin: 50% 74%;
    filter: blur(var(--card-reveal-blur)) saturate(var(--card-reveal-saturate)) brightness(1.015);
    will-change: opacity, transform, filter;
}

body.landing-master [data-card-reveal].is-card-visible {
    opacity: 1;
    transform: perspective(1200px) translate3d(0, 0, 0) scale(1) rotate(0deg) rotateX(0deg);
    filter: none;
    animation: tmCardRevealIn var(--card-reveal-duration) cubic-bezier(0.16, 0.75, 0.24, 1) both;
    animation-delay: var(--card-reveal-delay, 0ms);
}

body.landing-master [data-card-motion="overview-rise"] {
    --card-reveal-y: 38px;
    --card-reveal-scale: 0.962;
    --card-reveal-tilt: 1.9deg;
    --card-reveal-settle-y: -6px;
    --card-reveal-duration: 0.8s;
}

body.landing-master [data-card-motion="workflow-lift"] {
    --card-reveal-y: 44px;
    --card-reveal-scale: 0.956;
    --card-reveal-rotate: -0.45deg;
    --card-reveal-tilt: 2.2deg;
    --card-reveal-blur: 13px;
    --card-reveal-settle-y: -7px;
    --card-reveal-settle-rotate: 0.12deg;
    --card-reveal-duration: 0.84s;
}

body.landing-master [data-card-motion="module-float"] {
    --card-reveal-y: 28px;
    --card-reveal-scale: 0.968;
    --card-reveal-tilt: 1deg;
    --card-reveal-settle-y: -5px;
    --card-reveal-duration: 0.76s;
}

body.landing-master [data-card-motion="why-sweep"] {
    --card-reveal-x: var(--card-reveal-shift-x, 0px);
    --card-reveal-y: 24px;
    --card-reveal-scale: 0.978;
    --card-reveal-tilt: 0.8deg;
    --card-reveal-duration: 0.72s;
}

body.landing-master [data-card-motion="metric-pop"] {
    --card-reveal-y: 20px;
    --card-reveal-scale: 0.936;
    --card-reveal-tilt: 2.4deg;
    --card-reveal-blur: 8px;
    --card-reveal-settle-scale: 1.03;
    --card-reveal-duration: 0.64s;
}

body.landing-master [data-card-motion="routine-cascade"] {
    --card-reveal-x: var(--card-reveal-shift-x, 0px);
    --card-reveal-y: 34px;
    --card-reveal-scale: 0.958;
    --card-reveal-tilt: 1.7deg;
    --card-reveal-blur: 12px;
    --card-reveal-settle-y: -6px;
    --card-reveal-duration: 0.82s;
}

body.landing-master [data-card-motion="faq-slide"] {
    --card-reveal-x: var(--card-reveal-shift-x, 0px);
    --card-reveal-y: 16px;
    --card-reveal-scale: 0.988;
    --card-reveal-tilt: 0.6deg;
    --card-reveal-duration: 0.7s;
}

body.landing-master [data-card-motion="contact-panel"] {
    --card-reveal-x: var(--card-reveal-shift-x, 0px);
    --card-reveal-y: 30px;
    --card-reveal-scale: 0.966;
    --card-reveal-tilt: 1.4deg;
    --card-reveal-duration: 0.82s;
}

body.landing-master [data-card-motion="contact-chip"] {
    --card-reveal-x: var(--card-reveal-shift-x, 0px);
    --card-reveal-y: 18px;
    --card-reveal-scale: 0.982;
    --card-reveal-settle-scale: 1.014;
    --card-reveal-duration: 0.68s;
}

body.landing-master [data-card-motion="review-metric"] {
    --card-reveal-y: 24px;
    --card-reveal-scale: 0.962;
    --card-reveal-tilt: 1.6deg;
    --card-reveal-duration: 0.76s;
}

body.landing-master [data-card-motion="review-panel"] {
    --card-reveal-x: var(--card-reveal-shift-x, 0px);
    --card-reveal-y: 30px;
    --card-reveal-scale: 0.966;
    --card-reveal-tilt: 1.3deg;
    --card-reveal-duration: 0.84s;
}

body.landing-master [data-card-motion="footer-rise"] {
    --card-reveal-x: var(--card-reveal-shift-x, 0px);
    --card-reveal-y: 26px;
    --card-reveal-scale: 0.986;
    --card-reveal-tilt: 0.8deg;
    --card-reveal-duration: 0.78s;
}

@keyframes tmCardRevealIn {
    0% {
        opacity: 0;
        transform:
            perspective(1200px)
            translate3d(var(--card-reveal-x), var(--card-reveal-y), 0)
            scale(var(--card-reveal-scale))
            rotate(var(--card-reveal-rotate))
            rotateX(var(--card-reveal-tilt));
        filter: blur(var(--card-reveal-blur)) saturate(var(--card-reveal-saturate)) brightness(1.015);
    }
    64% {
        opacity: 1;
        transform:
            perspective(1200px)
            translate3d(0, var(--card-reveal-settle-y), 0)
            scale(var(--card-reveal-settle-scale))
            rotate(var(--card-reveal-settle-rotate))
            rotateX(0deg);
        filter: blur(0) saturate(1);
    }
    100% {
        opacity: 1;
        transform: perspective(1200px) translate3d(0, 0, 0) scale(1) rotate(0deg) rotateX(0deg);
        filter: none;
    }
}

@media (max-width: 520px) {
    body.landing-master .tm-opiron-seq {
        --hero-seq-duration: 0.6s;
        --hero-seq-y: 12px;
        --hero-seq-scale: 0.995;
        --hero-seq-blur: 5px;
    }

    body.landing-master [data-reveal] {
        --reveal-duration: 0.64s;
        --reveal-y: 14px;
        --reveal-scale: 0.992;
        --reveal-tilt: 0.55deg;
        --reveal-blur: 6px;
    }

    body.landing-master [data-card-reveal] {
        --card-reveal-duration: 0.62s;
        --card-reveal-y: 14px;
        --card-reveal-scale: 0.992;
        --card-reveal-tilt: 0.55deg;
        --card-reveal-blur: 5px;
        --card-reveal-settle-y: -2px;
        --card-reveal-settle-scale: 1.002;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.landing-master .tm-opiron-seq,
    body.landing-master .tm-opiron-seq.is-opiron-visible,
    body.landing-master [data-reveal],
    body.landing-master [data-reveal].is-visible,
    body.landing-master [data-card-reveal],
    body.landing-master [data-card-reveal].is-card-visible {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        animation: none !important;
        transition: none !important;
    }
}

/* Operational modules professional redesign */
body.landing-master .tm-insights-section {
    position: relative;
    overflow: hidden;
    padding: 1.4rem 1.4rem 1.5rem !important;
    border: 1px solid rgba(184, 212, 228, 0.58) !important;
    border-radius: 28px !important;
    background:
        radial-gradient(1200px circle at 0% 0%, rgba(115, 214, 220, 0.14), transparent 42%),
        radial-gradient(900px circle at 100% 0%, rgba(88, 175, 234, 0.12), transparent 40%),
        linear-gradient(180deg, #fdffff 0%, #f3f9fd 100%) !important;
    box-shadow: 0 22px 44px rgba(16, 42, 68, 0.08) !important;
}

body.landing-master .tm-insights-section .tm-section-head {
    display: block;
    margin-bottom: 1.15rem !important;
    text-align: center !important;
}

body.landing-master .tm-insights-section .tm-section-head h2 {
    margin: 0 !important;
    color: #0f223a !important;
    font-size: clamp(1.28rem, 2vw, 1.72rem) !important;
    letter-spacing: 0.01em !important;
}

body.landing-master .tm-insights-section .tm-section-head p {
    margin: 0 !important;
    max-width: 56ch;
    margin-left: auto !important;
    margin-right: auto !important;
    color: #4e6078 !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
}

body.landing-master .tm-insights-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

body.landing-master .tm-insights-grid .tm-info-card {
    --insight-accent: #3098D4;
    --module-surface: #f4fbff;
    --module-line: rgba(88, 175, 234, 0.2);
    --module-glow: rgba(88, 175, 234, 0.14);
    position: relative !important;
    isolation: isolate;
    display: grid !important;
    align-content: start;
    grid-column: span 4;
    gap: 0.78rem;
    min-height: 236px;
    padding: 1.12rem 1.12rem 1.08rem !important;
    border: 1px solid var(--module-line) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, #ffffff 0%, var(--module-surface) 100%) !important;
    box-shadow: 0 14px 28px rgba(17, 31, 56, 0.06) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
    overflow: hidden;
}

body.landing-master .tm-insights-grid .tm-info-card::before {
    content: "";
    position: absolute;
    inset: auto -1.8rem -2.1rem auto;
    width: 7.8rem;
    height: 7.8rem;
    border-radius: 999px;
    background: radial-gradient(circle, var(--module-glow) 0%, rgba(255, 255, 255, 0) 72%);
    opacity: 1;
}

body.landing-master .tm-insights-grid .tm-info-card::after {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--insight-accent), rgba(255, 255, 255, 0));
}

body.landing-master .tm-insights-grid .tm-info-card .tm-info-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

body.landing-master .tm-insights-grid .tm-info-card h3 {
    margin: 0 !important;
    color: #11273f !important;
    font-size: 1.08rem !important;
    line-height: 1.38 !important;
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums lining-nums;
}

body.landing-master .tm-insights-grid .tm-info-card .tm-info-card-kicker {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.3rem 0.66rem;
    border: 1px solid var(--module-line);
    background: rgba(255, 255, 255, 0.82);
    color: #2c6480;
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.landing-master .tm-insights-grid .tm-info-card .tm-info-card-index {
    display: inline-grid;
    place-items: center;
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 14px;
    border: 1px solid var(--module-line);
    background: rgba(255, 255, 255, 0.84);
    color: var(--insight-accent);
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
}

body.landing-master .tm-insights-grid .tm-info-card p {
    margin: 0 !important;
    color: #5f7087 !important;
    font-size: 0.9rem !important;
    line-height: 1.52 !important;
}

body.landing-master .tm-insights-grid .tm-info-card .tm-info-card-points {
    margin: 0.15rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.48rem;
}

body.landing-master .tm-insights-grid .tm-info-card .tm-info-card-points li {
    position: relative;
    margin: 0;
    padding-left: 1rem;
    color: #4f637c;
    font-size: 0.84rem;
    line-height: 1.45;
}

body.landing-master .tm-insights-grid .tm-info-card .tm-info-card-points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.46rem;
    width: 0.44rem;
    height: 0.44rem;
    border-radius: 999px;
    background: var(--insight-accent);
    box-shadow: 0 0 0 3px rgba(88, 175, 234, 0.08);
}

body.landing-master .tm-insights-grid .tm-info-card .tm-info-card-note {
    margin-top: 0.22rem !important;
    color: #43627c !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
}

body.landing-master .tm-insights-grid .tm-info-card:hover {
    transform: translateY(-6px);
    border-color: var(--insight-accent) !important;
    box-shadow: 0 22px 34px var(--module-glow) !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-tone-1 {
    --insight-accent: #39B9AE;
    --module-surface: #f0fcfa;
    --module-line: rgba(57, 185, 174, 0.22);
    --module-glow: rgba(57, 185, 174, 0.18);
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-tone-2 {
    --insight-accent: #58AFEA;
    --module-surface: #f1f8ff;
    --module-line: rgba(88, 175, 234, 0.22);
    --module-glow: rgba(88, 175, 234, 0.16);
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-tone-3 {
    --insight-accent: #4A9FD8;
    --module-surface: #eef7fc;
    --module-line: rgba(74, 159, 216, 0.22);
    --module-glow: rgba(74, 159, 216, 0.16);
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-tone-4 {
    --insight-accent: #2FBAAD;
    --module-surface: #effcf9;
    --module-line: rgba(47, 186, 173, 0.22);
    --module-glow: rgba(47, 186, 173, 0.16);
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-tone-5 {
    --insight-accent: #7ABFF1;
    --module-surface: #f3fbff;
    --module-line: rgba(122, 191, 241, 0.22);
    --module-glow: rgba(122, 191, 241, 0.16);
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-tone-6 {
    --insight-accent: #54CDBF;
    --module-surface: #eefcf8;
    --module-line: rgba(84, 205, 191, 0.22);
    --module-glow: rgba(84, 205, 191, 0.16);
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight {
    --insight-accent: #D7F2FF;
    grid-column: 1 / -1 !important;
    --module-line: rgba(187, 223, 244, 0.22);
    --module-glow: rgba(28, 93, 122, 0.26);
    border-color: #285A72 !important;
    background:
        radial-gradient(680px circle at 100% 0%, rgba(143, 205, 231, 0.2), transparent 46%),
        linear-gradient(146deg, #103B4C 0%, #165A6F 100%) !important;
    box-shadow: 0 22px 36px rgba(6, 18, 38, 0.28) !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight::before {
    inset: auto -2.5rem -2.8rem auto;
    width: 10rem;
    height: 10rem;
    background: radial-gradient(circle, rgba(159, 216, 255, 0.24), rgba(159, 216, 255, 0) 72%);
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight h3 {
    color: #eef6ff !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight p {
    color: #c5d8f6 !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight .tm-info-card-kicker {
    border-color: rgba(201, 226, 255, 0.24);
    background: rgba(220, 240, 255, 0.1);
    color: #edf6ff;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight .tm-info-card-index {
    border-color: rgba(201, 226, 255, 0.24);
    background: rgba(220, 240, 255, 0.1);
    color: #edf6ff;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight .tm-info-card-points li,
body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight .tm-info-card-note {
    color: #d5e5f8 !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight .tm-info-card-points li::before {
    background: #9FD8FF;
    box-shadow: 0 0 0 3px rgba(159, 216, 255, 0.16);
}

@media (min-width: 1220px) {
    body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight {
        min-height: 0;
    }
}

@media (min-width: 760px) and (max-width: 1219px) {
    body.landing-master .tm-insights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    body.landing-master .tm-insights-grid .tm-info-card {
        grid-column: span 1;
    }
}

@media (max-width: 680px) {
    body.landing-master .tm-insights-section {
        padding: 1rem !important;
    }

    body.landing-master .tm-insights-section .tm-section-head {
        display: block;
    }

    body.landing-master .tm-insights-grid {
        grid-template-columns: 1fr !important;
    }

    body.landing-master .tm-insights-grid .tm-info-card {
        min-height: 0;
        grid-column: auto;
    }

    body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight {
        grid-column: auto !important;
    }
}

/* Workflow, publishing layer, and quick answers refinements */
body.landing-master #workflow .tm-section-head {
    text-align: center !important;
}

body.landing-master #workflow .tm-section-head p {
    max-width: 46ch;
    margin: 0.35rem auto 0.9rem !important;
}

body.landing-master #workflow .tm-workflow-card {
    background: linear-gradient(180deg, #ffffff 0%, var(--workflow-surface, #f4fbff) 100%) !important;
    border-color: var(--workflow-border) !important;
    box-shadow: 0 16px 26px rgba(18, 38, 67, 0.08) !important;
}

body.landing-master #workflow .tm-workflow-card-body {
    background: linear-gradient(180deg, var(--workflow-surface, #f4fbff) 0%, #ffffff 100%) !important;
}

body.landing-master #workflow .tm-workflow-icon {
    border-color: var(--workflow-icon-border, rgba(255, 255, 255, 0.34)) !important;
    background: var(--workflow-icon-bg, rgba(255, 255, 255, 0.18)) !important;
    color: var(--workflow-icon-color, #ffffff) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

body.landing-master #workflow .tm-workflow-card-tone-1 {
    --workflow-surface: #edfdfa;
    --workflow-icon-bg: rgba(19, 133, 121, 0.18);
    --workflow-icon-border: rgba(28, 157, 140, 0.28);
    --workflow-icon-color: #0e6d63;
}

body.landing-master #workflow .tm-workflow-card-tone-1 .tm-workflow-card-head {
    background: linear-gradient(128deg, #55d8cd, #2fb2ab) !important;
}

body.landing-master #workflow .tm-workflow-card-tone-2 {
    --workflow-surface: #f1fcf6;
    --workflow-icon-bg: rgba(73, 183, 137, 0.16);
    --workflow-icon-border: rgba(73, 183, 137, 0.24);
    --workflow-icon-color: #238657;
}

body.landing-master #workflow .tm-workflow-card-tone-2 .tm-workflow-card-head {
    background: linear-gradient(128deg, #7be1c6, #49bd93) !important;
}

body.landing-master #workflow .tm-workflow-card-tone-3 {
    --workflow-surface: #f1f8ff;
    --workflow-icon-bg: rgba(88, 175, 234, 0.16);
    --workflow-icon-border: rgba(88, 175, 234, 0.24);
    --workflow-icon-color: #226fa5;
}

body.landing-master #workflow .tm-workflow-card-tone-3 .tm-workflow-card-head {
    background: linear-gradient(128deg, #86cbf5, #58afea) !important;
}

body.landing-master #workflow .tm-workflow-card-tone-4 {
    --workflow-surface: #f6fbff;
    --workflow-icon-bg: rgba(123, 194, 242, 0.16);
    --workflow-icon-border: rgba(123, 194, 242, 0.24);
    --workflow-icon-color: #3478a8;
}

body.landing-master #workflow .tm-workflow-card-tone-4 .tm-workflow-card-head {
    background: linear-gradient(128deg, #b5e4ff, #83c7f2) !important;
}

body.landing-master #workflow .tm-workflow-card-tone-5 {
    --workflow-surface: #eefcf9;
    --workflow-icon-bg: rgba(84, 205, 191, 0.16);
    --workflow-icon-border: rgba(84, 205, 191, 0.24);
    --workflow-icon-color: #177e72;
}

body.landing-master #workflow .tm-workflow-card-tone-5 .tm-workflow-card-head {
    background: linear-gradient(128deg, #59dccb, #3dc5b5) !important;
}

body.landing-master #workflow .tm-workflow-card-tone-6 {
    --workflow-surface: #f0f8fd;
    --workflow-icon-bg: rgba(74, 159, 216, 0.16);
    --workflow-icon-border: rgba(74, 159, 216, 0.24);
    --workflow-icon-color: #1c6d9d;
}

body.landing-master #workflow .tm-workflow-card-tone-6 .tm-workflow-card-head {
    background: linear-gradient(128deg, #67bced, #379fcf) !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight {
    border-color: #227d91 !important;
    background:
        radial-gradient(700px circle at 100% 0%, rgba(219, 245, 255, 0.24), transparent 44%),
        linear-gradient(145deg, #104660 0%, #177a8f 52%, #49a8d5 100%) !important;
    box-shadow: 0 24px 38px rgba(8, 26, 45, 0.22) !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight::before {
    background: radial-gradient(circle, rgba(226, 248, 255, 0.28), rgba(226, 248, 255, 0) 72%) !important;
}

body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight .tm-info-card-kicker,
body.landing-master .tm-insights-grid .tm-info-card.tm-info-card-highlight .tm-info-card-index {
    border-color: rgba(228, 245, 255, 0.28) !important;
    background: rgba(235, 248, 255, 0.12) !important;
}

body.landing-master .tm-faq-section {
    position: relative;
    overflow: hidden;
    padding: 1.35rem 1.35rem 1.45rem !important;
    border: 1px solid rgba(188, 214, 229, 0.72) !important;
    border-radius: 28px !important;
    background:
        radial-gradient(820px circle at 0% 0%, rgba(106, 236, 225, 0.12), transparent 40%),
        radial-gradient(760px circle at 100% 0%, rgba(169, 223, 252, 0.18), transparent 44%),
        linear-gradient(180deg, #fcffff 0%, #f3f9fd 100%) !important;
    box-shadow: 0 20px 38px rgba(15, 37, 58, 0.08) !important;
}

body.landing-master .tm-faq-section .tm-section-head {
    text-align: center !important;
    margin-bottom: 1.1rem !important;
}

body.landing-master .tm-faq-section .tm-section-head p {
    max-width: 44ch;
    margin: 0.36rem auto 0 !important;
}

body.landing-master .tm-faq-grid {
    counter-reset: faq-item;
    grid-template-columns: 1fr !important;
    gap: 0.92rem !important;
    max-width: 820px;
    margin: 0 auto;
}

body.landing-master .tm-faq-item {
    counter-increment: faq-item;
    position: relative;
    padding: 0.92rem 1.1rem 1rem !important;
    border-radius: 22px !important;
    border: 1px solid rgba(173, 209, 231, 0.76) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f3fbff 100%) !important;
    box-shadow: 0 14px 24px rgba(16, 35, 54, 0.06) !important;
    text-align: center;
}

body.landing-master .tm-faq-item:hover {
    transform: translateY(-4px);
    border-color: rgba(88, 175, 234, 0.48) !important;
    box-shadow: 0 18px 30px rgba(44, 106, 145, 0.12) !important;
}

body.landing-master .tm-faq-item[open] {
    border-color: rgba(57, 185, 174, 0.48) !important;
    background: linear-gradient(180deg, #fbffff 0%, #edf9f8 100%) !important;
    box-shadow: 0 18px 30px rgba(33, 104, 110, 0.1) !important;
}

body.landing-master .tm-faq-item summary {
    position: relative;
    justify-content: center !important;
    padding: 0 3rem !important;
    text-align: center;
    font-size: 1rem;
    line-height: 1.45;
}

body.landing-master .tm-faq-item summary::-webkit-details-marker {
    display: none;
}

body.landing-master .tm-faq-item summary::before {
    content: "Q" counter(faq-item, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    border: 1px solid rgba(57, 185, 174, 0.24);
    background: linear-gradient(135deg, #edfdfa, #ebf7ff);
    color: #2a7183;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

body.landing-master .tm-faq-item summary::after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    border: 1px solid rgba(88, 175, 234, 0.22);
    background: #eef8ff;
    color: #35759f;
    display: inline-grid;
    place-items: center;
}

body.landing-master .tm-faq-item p {
    max-width: 46ch;
    margin: 0.68rem auto 0 !important;
    text-align: center;
}

@media (max-width: 680px) {
    body.landing-master .tm-faq-section {
        padding: 1rem !important;
    }

    body.landing-master .tm-faq-item summary {
        padding: 0 2.4rem 0 2.4rem !important;
    }

    body.landing-master .tm-faq-item summary::before {
        width: 1.95rem;
        height: 1.95rem;
        font-size: 0.68rem;
    }

    body.landing-master .tm-faq-item summary::after {
        width: 1.8rem;
        height: 1.8rem;
    }
}

body.landing-master .tm-why-section .tm-section-head {
    text-align: center !important;
    max-width: 760px;
    margin: 0 auto 1.2rem !important;
}

body.landing-master .tm-why-section .tm-section-head h2 {
    justify-content: center;
}

body.landing-master .tm-why-section .tm-section-head p {
    max-width: 52ch;
    margin: 0.65rem auto 0 !important;
    padding: 0.95rem 1.2rem;
    border-radius: 20px;
    border: 1px solid rgba(168, 204, 226, 0.82);
    background:
        radial-gradient(240px circle at 0% 0%, rgba(86, 211, 196, 0.12), transparent 40%),
        linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
    color: #426287;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.7;
    box-shadow: 0 16px 28px rgba(15, 37, 58, 0.07);
}

body.landing-master .tm-why-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
    align-items: stretch;
}

body.landing-master .tm-why-card {
    --why-accent: #2b7db0;
    --why-accent-soft: rgba(43, 125, 176, 0.16);
    --why-accent-deep: rgba(43, 125, 176, 0.24);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 210px;
    padding: 1.12rem 1.08rem 1.16rem;
    border-radius: 24px;
    border: 1px solid rgba(170, 203, 223, 0.82);
    background:
        radial-gradient(240px circle at 100% 0%, var(--why-accent-soft), transparent 50%),
        linear-gradient(180deg, #ffffff 0%, #f4fbff 58%, #eef7ff 100%);
    box-shadow: 0 18px 30px rgba(16, 35, 54, 0.08);
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

body.landing-master .tm-why-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, var(--why-accent), rgba(255, 255, 255, 0));
    opacity: 0.92;
    z-index: -1;
}

body.landing-master .tm-why-card::after {
    content: "";
    position: absolute;
    width: 110px;
    height: 110px;
    right: -34px;
    top: -36px;
    border-radius: 999px;
    background: radial-gradient(circle, var(--why-accent-deep) 0%, rgba(255, 255, 255, 0) 68%);
    z-index: -1;
}

body.landing-master .tm-why-card:nth-child(1) {
    --why-accent: #25758f;
    --why-accent-soft: rgba(37, 117, 143, 0.17);
    --why-accent-deep: rgba(37, 117, 143, 0.28);
}

body.landing-master .tm-why-card:nth-child(2) {
    --why-accent: #3d67c1;
    --why-accent-soft: rgba(61, 103, 193, 0.16);
    --why-accent-deep: rgba(61, 103, 193, 0.26);
}

body.landing-master .tm-why-card:nth-child(3) {
    --why-accent: #2c9a82;
    --why-accent-soft: rgba(44, 154, 130, 0.15);
    --why-accent-deep: rgba(44, 154, 130, 0.24);
}

body.landing-master .tm-why-card:nth-child(4) {
    --why-accent: #8b63c8;
    --why-accent-soft: rgba(139, 99, 200, 0.14);
    --why-accent-deep: rgba(139, 99, 200, 0.22);
}

body.landing-master .tm-why-card:nth-child(5) {
    --why-accent: #b17a29;
    --why-accent-soft: rgba(177, 122, 41, 0.14);
    --why-accent-deep: rgba(177, 122, 41, 0.22);
}

body.landing-master .tm-why-card:hover {
    transform: translateY(-6px);
    border-color: rgba(121, 164, 202, 0.92);
    box-shadow: 0 24px 38px rgba(17, 36, 57, 0.13);
}

body.landing-master .tm-why-card-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-width: 2.55rem;
    height: 2.55rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.82);
    background: linear-gradient(145deg, #ffffff, rgba(255, 255, 255, 0.74));
    color: var(--why-accent);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    box-shadow: 0 10px 18px rgba(19, 40, 64, 0.08);
}

body.landing-master .tm-why-card h3 {
    margin: 0.92rem 0 0.5rem;
    color: #1e3158;
    font-size: 1.07rem;
    line-height: 1.34;
    letter-spacing: -0.01em;
}

body.landing-master .tm-why-card p {
    margin: 0;
    color: #5a6f96;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.62;
}

body.landing-master .tm-demo-shell {
    margin-top: 0.95rem;
    position: relative;
    overflow: hidden;
    padding: 0.96rem;
    border-radius: 24px;
    border: 1px solid rgba(168, 204, 226, 0.82);
    background:
        radial-gradient(460px circle at 0% 0%, rgba(86, 211, 196, 0.18), transparent 42%),
        radial-gradient(400px circle at 100% 0%, rgba(90, 149, 236, 0.14), transparent 38%),
        linear-gradient(180deg, #fcffff 0%, #f4fbff 55%, #eef7ff 100%);
    box-shadow: 0 22px 40px rgba(15, 37, 58, 0.09);
}

body.landing-master .tm-demo-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, #2b8a94 0%, #4a87d8 52%, rgba(255, 255, 255, 0) 100%);
}

body.landing-master .tm-demo-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 0.78rem;
}

body.landing-master .tm-demo-kicker {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(87, 171, 227, 0.28);
    background: linear-gradient(135deg, #edfdfa, #eef4ff);
    padding: 0.38rem 0.68rem;
    color: #2b7086;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 10px 18px rgba(18, 43, 69, 0.06);
}

body.landing-master .tm-demo-intro p {
    margin: 0;
    max-width: 58ch;
    color: #55719a;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.52;
}

body.landing-master .tm-demo-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.72rem;
    padding: 0.72rem;
    border-radius: 18px;
    border: 1px solid rgba(177, 204, 230, 0.78);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(8px);
}

body.landing-master .tm-demo-field {
    display: flex;
    flex-direction: column;
    gap: 0.34rem;
}

body.landing-master .tm-demo-field span {
    color: #3b568b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

body.landing-master .tm-demo-field select {
    min-height: 2.8rem;
    border-radius: 15px;
    border: 1px solid rgba(181, 199, 230, 0.88);
    background: linear-gradient(180deg, #ffffff, #f5f9ff);
    padding: 0.68rem 0.9rem;
    color: #26406f;
    font-weight: 700;
    font-size: 0.88rem;
    box-shadow: 0 8px 14px rgba(22, 42, 68, 0.05);
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

body.landing-master .tm-demo-field select:hover,
body.landing-master .tm-demo-field select:focus {
    border-color: rgba(89, 142, 221, 0.86);
    box-shadow: 0 14px 22px rgba(37, 76, 133, 0.12);
    transform: translateY(-1px);
    outline: none;
}

body.landing-master .tm-demo-stage {
    margin-top: 0.82rem;
    padding: 0.82rem;
    border-radius: 20px;
    border: 1px solid rgba(182, 204, 229, 0.72);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(243, 249, 255, 0.88));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

body.landing-master .tm-demo-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.68rem;
    margin-bottom: 0.78rem;
}

body.landing-master .tm-demo-summary-card {
    position: relative;
    overflow: hidden;
    padding: 0.72rem 0.78rem;
    border-radius: 17px;
    border: 1px solid rgba(176, 199, 230, 0.8);
    background: linear-gradient(180deg, #ffffff, #eef7ff);
    box-shadow: 0 14px 24px rgba(20, 39, 65, 0.06);
}

body.landing-master .tm-demo-summary-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #2b8a94, #4a87d8);
}

body.landing-master .tm-demo-summary-card:nth-child(2)::before {
    background: linear-gradient(180deg, #3a7ae0, #6d7ff1);
}

body.landing-master .tm-demo-summary-card:nth-child(3)::before {
    background: linear-gradient(180deg, #8b63c8, #ba81d8);
}

body.landing-master .tm-demo-summary-card span {
    display: block;
    color: #64799f;
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

body.landing-master .tm-demo-summary-card strong {
    display: block;
    margin-top: 0.28rem;
    color: #20355d;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.28;
}

body.landing-master .tm-demo-summary-card-emphasis {
    border-color: rgba(111, 154, 219, 0.82);
    background:
        radial-gradient(160px circle at 100% 0%, rgba(90, 149, 236, 0.16), transparent 55%),
        linear-gradient(180deg, #ffffff, #ecf4ff);
}

body.landing-master .tm-demo-summary-card-emphasis strong {
    font-size: 1.15rem;
    color: #2d59a8;
}

body.landing-master .tm-demo-slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.72rem;
}

body.landing-master .tm-demo-slot-card {
    position: relative;
    overflow: hidden;
    min-height: 160px;
    padding: 0.72rem;
    border-radius: 18px;
    border: 1px solid rgba(178, 197, 228, 0.78);
    background: linear-gradient(180deg, #ffffff 0%, #f3f7ff 100%);
    box-shadow: 0 16px 24px rgba(15, 37, 58, 0.06);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

body.landing-master .tm-demo-slot-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, #2b8a94, rgba(255, 255, 255, 0));
}

body.landing-master .tm-demo-slot-card:hover {
    transform: translateY(-4px);
    border-color: rgba(122, 165, 219, 0.9);
    box-shadow: 0 22px 30px rgba(19, 40, 64, 0.1);
}

body.landing-master .tm-demo-slot-card.is-break {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        radial-gradient(220px circle at 0% 0%, rgba(255, 255, 255, 0.34), transparent 48%),
        linear-gradient(180deg, #fff8d0 0%, #f4df9a 100%);
    border-color: rgba(204, 171, 86, 0.55);
}

body.landing-master .tm-demo-slot-time {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 1.72rem;
    padding: 0.2rem 0.58rem;
    border-radius: 999px;
    background: #edf4ff;
    color: #2d4679;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.landing-master .tm-demo-slot-body {
    display: grid;
    gap: 0.48rem;
    margin-top: 0.62rem;
}

body.landing-master .tm-demo-slot-entry {
    padding: 0.58rem 0.64rem;
    border-radius: 14px;
    border: 1px solid rgba(179, 197, 229, 0.82);
    background: linear-gradient(145deg, var(--demo-entry-color, #dbeafe), #ffffff 82%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 10px 18px rgba(19, 40, 64, 0.05);
}

body.landing-master .tm-demo-slot-entry-title {
    color: #21355c;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.34;
}

body.landing-master .tm-demo-slot-entry-meta {
    margin-top: 0.12rem;
    color: #61749b;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.34;
}

body.landing-master .tm-demo-slot-empty,
body.landing-master .tm-demo-slot-break {
    display: grid;
    place-items: center;
    min-height: 78px;
    color: #576c91;
    font-size: 0.76rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
}

body.landing-master .tm-demo-empty {
    margin: 0.68rem 0 0;
    padding: 0.72rem 0.88rem;
    border-radius: 15px;
    border: 1px solid rgba(220, 177, 104, 0.42);
    background: linear-gradient(180deg, #fff8ea, #fff0d5);
    color: #8a5517;
    font-size: 0.76rem;
    font-weight: 700;
    text-align: center;
}

body.landing-master .tm-routine-subhead {
    margin: 1.2rem 0 0.45rem !important;
    text-align: left !important;
}

body.landing-master .tm-routine-subhead h3 {
    margin: 0;
    color: #20345e;
    font-size: 1.15rem;
}

body.landing-master .tm-routine-subhead p {
    max-width: none !important;
    margin: 0.32rem 0 0 !important;
}

body.landing-master .tm-quick-answers-section .tm-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 1100px;
}

@media (max-width: 980px) {
    body.landing-master .tm-demo-intro {
        flex-direction: column;
        align-items: flex-start;
    }

    body.landing-master .tm-demo-controls,
    body.landing-master .tm-demo-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    body.landing-master .tm-why-section .tm-section-head p {
        padding: 0.85rem 0.9rem;
        font-size: 0.88rem;
    }

    body.landing-master .tm-demo-controls,
    body.landing-master .tm-demo-summary,
    body.landing-master .tm-quick-answers-section .tm-faq-grid {
        grid-template-columns: 1fr !important;
    }

    body.landing-master .tm-demo-shell {
        padding: 0.78rem;
    }

    body.landing-master .tm-demo-slot-grid {
        grid-template-columns: 1fr;
    }
}

/* Overview timeline cards: two-column layout */
body.landing-master #overview .tm-step-grid {
    counter-reset: overview-step;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.3rem 1.2rem !important;
    align-items: stretch;
}

body.landing-master #overview .tm-step-card {
    --overview-accent: #3a87dd;
    --overview-accent-alt: #6aa7ef;
    --overview-accent-soft: rgba(58, 135, 221, 0.14);
    --overview-line: rgba(58, 135, 221, 0.18);
    --overview-glow: rgba(58, 135, 221, 0.14);
    counter-increment: overview-step;
    position: relative !important;
    overflow: visible !important;
    min-height: 188px;
    padding: 1.08rem 1.14rem 1.08rem 5rem !important;
    border: 1px solid #dbe8f3 !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: 0 14px 24px rgba(18, 38, 67, 0.08) !important;
    text-align: left !important;
}

body.landing-master #overview .tm-step-card::before {
    content: "" !important;
    position: absolute !important;
    left: 2rem !important;
    top: 0.25rem !important;
    bottom: -1.2rem !important;
    width: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(58, 135, 221, 0.22), rgba(58, 135, 221, 0.05)) !important;
}

body.landing-master #overview .tm-step-card::after {
    content: counter(overview-step) !important;
    position: absolute !important;
    left: 0.92rem !important;
    top: 1.15rem !important;
    width: 2.2rem !important;
    height: 2.2rem !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--overview-accent), var(--overview-accent-alt)) !important;
    box-shadow: 0 12px 18px var(--overview-glow) !important;
    color: #ffffff !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.landing-master #overview .tm-step-card:last-child::before,
body.landing-master #overview .tm-step-card:nth-last-child(2):nth-child(odd)::before {
    bottom: 1rem !important;
}

body.landing-master #overview .tm-step-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin-bottom: 0.82rem;
}

body.landing-master #overview .tm-step-no {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--overview-accent) !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.landing-master #overview .tm-step-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.26rem 0.65rem;
    border-radius: 999px;
    border: 1px solid var(--overview-line);
    background: var(--overview-accent-soft);
    color: var(--overview-accent);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

body.landing-master #overview .tm-step-card h3 {
    margin: 0 !important;
    color: #202938 !important;
    font-size: clamp(1.06rem, 1.4vw, 1.28rem) !important;
    line-height: 1.34 !important;
}

body.landing-master #overview .tm-step-card p {
    margin: 0.52rem 0 0 !important;
    color: #657487 !important;
    font-size: 0.92rem !important;
    line-height: 1.58 !important;
}

body.landing-master #overview .tm-step-card:hover {
    transform: translateY(-4px) !important;
    border-color: var(--overview-line) !important;
    box-shadow: 0 18px 30px var(--overview-glow) !important;
}

body.landing-master #overview .tm-step-card:nth-child(1) {
    --overview-accent: #3b6ee9;
    --overview-accent-alt: #5b8dff;
    --overview-accent-soft: rgba(59, 110, 233, 0.1);
    --overview-line: rgba(59, 110, 233, 0.18);
    --overview-glow: rgba(59, 110, 233, 0.18);
}

body.landing-master #overview .tm-step-card:nth-child(2) {
    --overview-accent: #6c63ff;
    --overview-accent-alt: #8b86ff;
    --overview-accent-soft: rgba(108, 99, 255, 0.1);
    --overview-line: rgba(108, 99, 255, 0.18);
    --overview-glow: rgba(108, 99, 255, 0.18);
}

body.landing-master #overview .tm-step-card:nth-child(3) {
    --overview-accent: #8b5cf6;
    --overview-accent-alt: #a779ff;
    --overview-accent-soft: rgba(139, 92, 246, 0.1);
    --overview-line: rgba(139, 92, 246, 0.18);
    --overview-glow: rgba(139, 92, 246, 0.18);
}

body.landing-master #overview .tm-step-card:nth-child(4) {
    --overview-accent: #0ea5a4;
    --overview-accent-alt: #35c6bf;
    --overview-accent-soft: rgba(14, 165, 164, 0.1);
    --overview-line: rgba(14, 165, 164, 0.18);
    --overview-glow: rgba(14, 165, 164, 0.18);
}

@media (max-width: 760px) {
    body.landing-master #overview .tm-step-grid {
        grid-template-columns: 1fr !important;
    }

    body.landing-master #overview .tm-step-card {
        min-height: 0;
    }

    body.landing-master #overview .tm-step-card::before {
        bottom: 1rem !important;
    }
}

/* Manage Master tab pills: professional readable contrast */
body.role-admin.page-manage-master:not(.landing-master) [data-tab-group] > .pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.56rem;
    align-items: center;
    margin-top: 0.48rem;
}

body.role-admin.page-manage-master:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button {
    min-height: 2.46rem;
    padding: 0.42rem 1rem;
    border: 1px solid #c5d4e8 !important;
    border-radius: 999px !important;
    background: linear-gradient(165deg, #ffffff 0%, #f2f7ff 100%) !important;
    color: #1c3a62 !important;
    box-shadow: 0 6px 12px rgba(17, 32, 56, 0.08) !important;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
    line-height: 1.2;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

body.role-admin.page-manage-master:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button:hover {
    transform: translateY(-1px);
    border-color: #9fb6d8 !important;
    background: linear-gradient(165deg, #ffffff 0%, #e9f2ff 100%) !important;
    color: #122f53 !important;
    box-shadow: 0 10px 18px rgba(17, 32, 56, 0.12) !important;
}

body.role-admin.page-manage-master:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button.pill-active,
body.role-admin.page-manage-master:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button[aria-pressed="true"] {
    border-color: #18355a !important;
    background: linear-gradient(150deg, #1d3c63 0%, #224d7e 100%) !important;
    color: #f4f8ff !important;
    box-shadow: 0 12px 20px rgba(10, 25, 48, 0.24) !important;
}

body.role-admin.page-manage-master:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(120, 160, 220, 0.36), 0 8px 16px rgba(16, 34, 59, 0.14) !important;
}

@media (max-width: 900px) {
    body.role-admin.page-manage-master:not(.landing-master) [data-tab-group] > .pill-row {
        gap: 0.46rem;
    }

    body.role-admin.page-manage-master:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button {
        min-height: 2.3rem;
        padding: 0.36rem 0.86rem;
        font-size: 0.85rem;
    }
}

/* Option metrics: stack summary cards on small screens */
@media (max-width: 980px) {
    .generate-option-metrics {
        grid-template-columns: 1fr;
    }

    .option-assignment-summary {
        grid-template-columns: 1fr;
    }

}

/* Dashboard: premium admin workflow cards + departments metric tint */
body.role-admin.page-dashboard:not(.landing-master) .metric-grid .metric-card:nth-child(6) {
    background: linear-gradient(145deg, #ffffff, #eaf7f3) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .action-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.86rem !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile {
    position: relative;
    overflow: hidden;
    border-radius: 18px !important;
    border: 1px solid rgba(124, 151, 224, 0.62) !important;
    background:
        radial-gradient(120% 96% at 100% -10%, rgba(181, 206, 255, 0.35), transparent 55%),
        linear-gradient(156deg, #ffffff 0%, #f4f8ff 56%, #e8f1ff 100%) !important;
    box-shadow: 0 16px 28px rgba(27, 44, 87, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile::after {
    content: ">";
    position: absolute;
    right: 0.86rem;
    top: 0.74rem;
    font-size: 1.02rem;
    font-weight: 800;
    color: rgba(38, 65, 130, 0.4);
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile-contact::after {
    top: auto;
    right: 0.88rem;
    bottom: 0.82rem;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile-contact .workflow-tile-alert-count {
    position: absolute;
    top: 0.72rem;
    right: 0.86rem;
    z-index: 2;
    min-width: 1.9rem;
    height: 1.9rem;
    padding: 0 0.38rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(145deg, #f05b5b, #d92f45);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 18px rgba(189, 38, 66, 0.28);
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile h3 {
    margin-bottom: 0.34rem !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:hover {
    transform: translateY(-4px) scale(1.01);
    border-color: rgba(98, 128, 208, 0.84) !important;
    box-shadow: 0 20px 34px rgba(23, 39, 79, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
}

/* Deletion confirmation notification should be centered on the viewport */
html body:not(.landing-master) .flash-stack.flash-stack-professional.flash-stack-confirm,
html body.role-admin:not(.landing-master) .flash-stack.flash-stack-professional.flash-stack-confirm,
html body.role-student:not(.landing-master) .flash-stack.flash-stack-professional.flash-stack-confirm,
html body.role-faculty:not(.landing-master) .flash-stack.flash-stack-professional.flash-stack-confirm {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    width: min(430px, calc(100vw - 1.1rem)) !important;
    max-width: min(430px, calc(100vw - 1.1rem)) !important;
}

/* Dashboard: operational snapshot cards (match reference style, keep same wording) */
body.page-dashboard:not(.landing-master) [data-surface-reveal],
body.page-dashboard:not(.landing-master) [data-surface-reveal].is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body.page-dashboard:not(.landing-master) .snapshot-grid {
    grid-template-columns: repeat(6, minmax(130px, 1fr)) !important;
    justify-content: stretch;
    gap: 0.78rem !important;
    max-width: 100%;
    margin: 0.35rem 0 0;
    overflow: visible;
    padding-bottom: 0;
}

body.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    min-height: 156px;
    border: 0 !important;
    border-radius: 18px !important;
    background: #f3f5f8 !important;
    box-shadow: 0 7px 16px rgba(54, 72, 111, 0.09) !important;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 0.42rem;
    text-align: center;
    padding: 0.82rem 0.72rem !important;
}

body.role-admin.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card:nth-child(n),
body.role-faculty.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card:nth-child(n),
body.role-student.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card:nth-child(n) {
    background: #f3f5f8 !important;
    border: 0 !important;
}

body.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card::before {
    content: none;
}

body.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card .metric-icon {
    display: block;
    font-size: clamp(1.72rem, 1.45vw + 1.08rem, 2.24rem);
    line-height: 1;
}

body.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card .metric-label {
    display: block;
    color: #1f2b40 !important;
    font-size: clamp(1rem, 0.72vw + 0.76rem, 1.34rem);
    font-weight: 700 !important;
    line-height: 1.22;
}

body.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card strong {
    color: #1e9759 !important;
    font-size: clamp(2.02rem, 1.14vw + 1.32rem, 2.95rem) !important;
    line-height: 1.02 !important;
}

@media (max-width: 980px) {
    body.page-dashboard:not(.landing-master) .snapshot-grid {
        grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
        max-width: 100%;
        gap: 0.78rem !important;
        overflow: visible;
        padding-bottom: 0;
    }

    body.page-dashboard:not(.landing-master) .snapshot-grid .snapshot-card {
        border-radius: 18px !important;
        min-height: 146px;
        padding: 0.94rem 0.78rem !important;
    }
}

.master-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    flex-wrap: wrap;
    margin: 0 0 0.8rem;
}

.master-list-search-form {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 0;
}

.master-list-search-form input[type="search"] {
    min-width: min(280px, 100%);
}

@media (max-width: 760px) {
    .master-list-toolbar {
        align-items: stretch;
    }

    .master-list-search-form {
        width: 100%;
    }

    .master-list-search-form input[type="search"] {
        flex: 1 1 180px;
        min-width: 0;
    }
}

/* Dashboard: give each admin workflow tile a unique premium background */
body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(1) {
    border-color: rgba(230, 140, 103, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(217, 246, 239, 0.52), transparent 55%),
        linear-gradient(160deg, #F6FEFD 0%, #E5F8F4 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(2) {
    border-color: rgba(109, 150, 232, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(206, 224, 255, 0.56), transparent 55%),
        linear-gradient(160deg, #f7fbff 0%, #e3eeff 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(3) {
    border-color: rgba(152, 132, 219, 0.7) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(232, 222, 255, 0.6), transparent 55%),
        linear-gradient(160deg, #faf8ff 0%, #ece5ff 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(4) {
    border-color: rgba(93, 169, 151, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(209, 248, 239, 0.56), transparent 55%),
        linear-gradient(160deg, #f6fffb 0%, #ddf7ee 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(5) {
    border-color: rgba(220, 123, 150, 0.7) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(214, 242, 251, 0.58), transparent 55%),
        linear-gradient(160deg, #fff8fb 0%, #ffe5ee 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(6) {
    border-color: rgba(210, 162, 89, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(226, 251, 246, 0.58), transparent 55%),
        linear-gradient(160deg, #F7FEFD 0%, #E6FBF6 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(7) {
    border-color: rgba(104, 175, 130, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(220, 250, 230, 0.58), transparent 55%),
        linear-gradient(160deg, #f8fff9 0%, #e4f8e8 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(8) {
    border-color: rgba(101, 145, 214, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(223, 239, 255, 0.58), transparent 55%),
        linear-gradient(160deg, #f8fbff 0%, #e4eefb 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(9) {
    border-color: rgba(104, 174, 188, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(220, 247, 252, 0.58), transparent 55%),
        linear-gradient(160deg, #f7feff 0%, #e2f5f8 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(10) {
    border-color: rgba(230, 140, 103, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(217, 246, 239, 0.52), transparent 55%),
        linear-gradient(160deg, #F6FEFD 0%, #E5F8F4 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(11) {
    border-color: rgba(109, 150, 232, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(206, 224, 255, 0.56), transparent 55%),
        linear-gradient(160deg, #f7fbff 0%, #e3eeff 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(12) {
    border-color: rgba(152, 132, 219, 0.7) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(232, 222, 255, 0.6), transparent 55%),
        linear-gradient(160deg, #faf8ff 0%, #ece5ff 100%) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .admin-workflow-panel .workflow-tile:nth-child(13) {
    border-color: rgba(93, 169, 151, 0.72) !important;
    background:
        radial-gradient(120% 100% at 96% -10%, rgba(209, 248, 239, 0.56), transparent 55%),
        linear-gradient(160deg, #f6fffb 0%, #ddf7ee 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) {
    --dept-panel-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 247, 251, 0.99) 100%);
    --dept-panel-border: rgba(19, 45, 81, 0.14);
    --dept-panel-border-strong: rgba(21, 58, 104, 0.22);
    --dept-panel-shadow: 0 22px 48px rgba(16, 30, 52, 0.09);
    --dept-card-shadow: 0 16px 30px rgba(16, 30, 52, 0.07);
    --dept-ink: #11253c;
    --dept-muted: #607287;
    --dept-muted-strong: #41556d;
    --dept-accent: #133d72;
    --dept-accent-strong: #0f2f59;
    --dept-teal: #1f6f7f;
    --dept-gold: #9d6516;
    --dept-success: #1d7147;
    --dept-danger: #aa4949;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metrics-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-review-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-actions-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-panel {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid var(--dept-panel-border-strong) !important;
    background:
        radial-gradient(140% 120% at 100% 0%, rgba(45, 92, 154, 0.12), transparent 42%),
        var(--dept-panel-bg) !important;
    box-shadow: var(--dept-panel-shadow) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-panel::before,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metrics-panel::before,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-review-panel::before,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-actions-panel::before,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-panel::before,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-panel::before,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-panel::before,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--dept-accent) 0%, var(--dept-teal) 62%, var(--dept-gold) 100%);
    opacity: 0.96;
    z-index: 0;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(9, 23, 41, 0.78) 0%,
        rgba(9, 23, 41, 0.64) 32%,
        rgba(9, 23, 41, 0.32) 66%,
        rgba(9, 23, 41, 0.12) 100%
    );
    z-index: 0;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-panel > *,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metrics-panel > *,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-review-panel > *,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-actions-panel > *,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-panel > *,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-panel > *,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-panel > *,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-panel > * {
    position: relative;
    z-index: 1;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.92fr);
    gap: 1.25rem;
    align-items: stretch;
    border-color: rgba(84, 122, 178, 0.34) !important;
    background:
        radial-gradient(100% 120% at 0% 0%, rgba(93, 158, 233, 0.26), transparent 48%),
        radial-gradient(110% 120% at 100% 0%, rgba(56, 207, 182, 0.18), transparent 40%),
        linear-gradient(145deg, #112944 0%, #163b66 58%, #174a57 100%) !important;
    box-shadow: 0 28px 64px rgba(10, 23, 43, 0.25) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-panel::before {
    inset: 0;
    height: auto;
    background:
        radial-gradient(120% 110% at 100% 0%, rgba(255, 255, 255, 0.14), transparent 46%),
        linear-gradient(115deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
    opacity: 1;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-copy,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-side,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-review-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-actions-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-panel,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metrics-panel {
    display: grid;
    gap: 1rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-copy,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-side {
    align-content: start;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-copy h2,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-panel-head h2,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-side-head h3 {
    margin: 0;
    color: var(--dept-ink) !important;
    letter-spacing: -0.03em;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-copy p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-panel-head p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-side-head p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-empty-state p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-approval-card p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-body p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card p {
    margin: 0;
    color: var(--dept-muted) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-copy .kicker {
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    background: linear-gradient(120deg, rgba(6, 14, 26, 0.55), rgba(14, 30, 48, 0.4)) !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.32) !important;
    color: #ffffff !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-copy h2 {
    color: #f7fbff !important;
    font-size: clamp(1.9rem, 2.6vw, 2.85rem);
    line-height: 1.02;
    font-weight: 800;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.38);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-copy p {
    color: rgba(242, 248, 255, 0.9) !important;
    max-width: 58ch;
    font-size: 0.98rem;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .btn {
    border: 1px solid rgba(19, 61, 114, 0.18) !important;
    color: #f5f9ff !important;
    background: linear-gradient(135deg, var(--dept-accent), #1b4f8d) !important;
    box-shadow: 0 14px 28px rgba(19, 61, 114, 0.18) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .btn.btn-outline {
    color: var(--dept-accent) !important;
    background: #ffffff !important;
    border-color: rgba(19, 61, 114, 0.14) !important;
    box-shadow: 0 8px 18px rgba(19, 61, 114, 0.07) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-actions .btn {
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: var(--dept-accent-strong) !important;
    background: #ffffff !important;
    box-shadow: 0 16px 28px rgba(7, 17, 34, 0.16) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-actions .btn.btn-outline {
    color: #eef5ff !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: none !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-pills .pill {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #f5f9ff !important;
    font-weight: 700;
    box-shadow: none !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-focus,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-mini-card {
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.06) 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 16px 34px rgba(7, 17, 34, 0.16);
    backdrop-filter: blur(10px);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-focus {
    padding: 1.15rem 1.2rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-focus span,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-mini-card span {
    color: rgba(222, 235, 255, 0.74) !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-focus strong,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-mini-card strong {
    color: #ffffff !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-focus strong {
    display: block;
    margin-top: 0.3rem;
    font-size: 1.18rem;
    line-height: 1.28;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-focus p {
    color: rgba(223, 234, 249, 0.74) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-mini-grid,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-grid,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-grid,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-grid,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-stat-grid,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-grid {
    display: grid;
    gap: 0.9rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-mini-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-mini-card {
    padding: 1rem 1.05rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-mini-card strong {
    display: block;
    margin-top: 0.22rem;
    font-size: 1.9rem;
    line-height: 1.02;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(19, 61, 114, 0.1);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-panel-head > div,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-side-head {
    display: grid;
    gap: 0.3rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-panel-head h2 {
    font-size: 1.28rem;
    line-height: 1.08;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-panel-head p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-side-head p {
    max-width: 58ch;
    font-size: 0.92rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-approval-card,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-stat-card,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-empty-state,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card {
    border: 1px solid var(--dept-panel-border) !important;
    border-radius: 22px;
    background:
        radial-gradient(135% 110% at 100% 0%, rgba(19, 61, 114, 0.08), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
    box-shadow: var(--dept-card-shadow);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-approval-card,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-empty-state {
    padding: 1.12rem 1.15rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-approval-card span,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card span,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-stat-card span,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card span,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-name {
    color: var(--dept-muted) !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-approval-card strong,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card strong,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card h3,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-body strong,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card strong {
    color: var(--dept-ink) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-approval-card strong,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card strong {
    display: block;
    margin-top: 0.28rem;
    font-size: 1.14rem;
    line-height: 1.3;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 0.9rem !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card {
    position: relative;
    min-height: 144px;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    text-align: left !important;
    gap: 0.28rem;
    padding: 1.08rem 1.05rem !important;
    border-color: rgba(19, 61, 114, 0.14) !important;
    background:
        radial-gradient(135% 115% at 100% 0%, rgba(19, 61, 114, 0.08), transparent 40%),
        linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
    box-shadow: var(--dept-card-shadow);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--dept-metric-accent, linear-gradient(90deg, var(--dept-accent), #3f7fbb));
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card:nth-child(1) {
    --dept-metric-accent: linear-gradient(90deg, #133d72, #2f67a3);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card:nth-child(2) {
    --dept-metric-accent: linear-gradient(90deg, #1f6f7f, #3aa7aa);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card:nth-child(3) {
    --dept-metric-accent: linear-gradient(90deg, #9d6516, #d09339);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card:nth-child(4) {
    --dept-metric-accent: linear-gradient(90deg, #5667ad, #8d8ce5);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card:nth-child(5) {
    --dept-metric-accent: linear-gradient(90deg, #4b6b8d, #79a4c8);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card:nth-child(6) {
    --dept-metric-accent: linear-gradient(90deg, #a04e3b, #d17b5f);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card span {
    color: var(--dept-muted) !important;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-metric-card strong {
    color: var(--dept-ink) !important;
    font-size: 2.05rem !important;
    line-height: 1;
    letter-spacing: -0.04em;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card {
    min-height: 132px;
    display: grid;
    align-content: space-between;
    gap: 0.7rem;
    padding: 1rem 1rem 0.95rem;
    border-left: 4px solid var(--dept-stage-accent, var(--dept-accent)) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card strong,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-stat-card strong {
    display: block;
    color: var(--dept-ink) !important;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -0.04em;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card.stage-awaiting {
    --dept-stage-accent: #b4761f;
    background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card.stage-principal {
    --dept-stage-accent: #6b61c6;
    background: linear-gradient(180deg, #ffffff 0%, #f4f1ff 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card.stage-approved {
    --dept-stage-accent: #238b53;
    background: linear-gradient(180deg, #ffffff 0%, #eefaf3 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card.stage-draft {
    --dept-stage-accent: #2f67a3;
    background: linear-gradient(180deg, #ffffff 0%, #eff5fd 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-stage-card.stage-rejected {
    --dept-stage-accent: #bf4f4f;
    background: linear-gradient(180deg, #ffffff 0%, #fff1f1 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.95rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile {
    position: relative;
    min-height: 152px;
    padding: 1.15rem 3.5rem 1.05rem 1.05rem;
    border: 1px solid var(--dept-panel-border) !important;
    border-radius: 22px;
    background:
        radial-gradient(120% 100% at 100% 0%, rgba(19, 61, 114, 0.08), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
    box-shadow: var(--dept-card-shadow);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile::after {
    content: "";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(19, 61, 114, 0.12), rgba(31, 111, 127, 0.12));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile:hover {
    transform: translateY(-3px);
    border-color: rgba(19, 61, 114, 0.24) !important;
    box-shadow: 0 20px 34px rgba(16, 30, 52, 0.1);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile h3,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile p {
    margin: 0;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile h3 {
    color: var(--dept-ink) !important;
    font-size: 1.04rem;
    line-height: 1.3;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile p {
    margin-top: 0.35rem;
    color: var(--dept-muted) !important;
    font-size: 0.88rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-badge {
    position: absolute;
    top: 0.95rem;
    right: 0.95rem;
    min-width: 1.95rem;
    min-height: 1.95rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 61, 114, 0.12);
    background: #eef4ff;
    color: var(--dept-accent) !important;
    font-size: 0.75rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(19, 61, 114, 0.08);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-approval-card {
    border-left: 4px solid var(--dept-accent) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card {
    position: relative;
    padding: 1rem 1.02rem 0.96rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--dept-accent), var(--dept-teal));
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card small {
    margin: 0.22rem 0 0;
    color: var(--dept-muted) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card strong {
    font-size: 1.16rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-semester-card small {
    color: var(--dept-accent) !important;
    font-weight: 700;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-grid {
    grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
    gap: 0.95rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card {
    display: grid;
    gap: 0.48rem;
    padding: 1.02rem 1.06rem;
    border-left: 4px solid var(--dept-stage-accent, var(--dept-accent)) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card-ready {
    --dept-stage-accent: #238b53;
    border-color: rgba(35, 139, 83, 0.18) !important;
    background:
        radial-gradient(120% 100% at 100% 0%, rgba(35, 139, 83, 0.12), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #eefaf3 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card-missing {
    --dept-stage-accent: #c47a2e;
    border-color: rgba(196, 122, 46, 0.18) !important;
    background:
        radial-gradient(120% 100% at 100% 0%, rgba(196, 122, 46, 0.12), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #fff6ed 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-name,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-meta,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-run,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card small {
    margin: 0;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-meta,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card small {
    color: var(--dept-muted) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card h3 {
    font-size: 1.04rem;
    line-height: 1.34;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-run {
    color: var(--dept-muted-strong) !important;
    font-weight: 700;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.28rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 61, 114, 0.12);
    background: #eef4ff;
    color: var(--dept-accent) !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card-ready .dept-head-batch-status {
    border-color: rgba(35, 139, 83, 0.16);
    background: #ebf7f0;
    color: #1d7147 !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-batch-card-missing .dept-head-batch-status {
    border-color: rgba(196, 122, 46, 0.18);
    background: #fff1df;
    color: #9d6516 !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.94fr) minmax(0, 1.06fr);
    gap: 1rem;
    align-items: stretch;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.9rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card {
    --dept-radar-accent: var(--dept-accent);
    border: 1px solid var(--dept-panel-border) !important;
    box-shadow: var(--dept-card-shadow);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight {
    display: grid;
    align-content: start;
    gap: 0.88rem;
    padding: 1.15rem 1.18rem;
    border-radius: 24px;
    background:
        radial-gradient(130% 120% at 100% 0%, rgba(19, 61, 114, 0.1), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-eyebrow,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card-top span {
    color: var(--dept-muted) !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight strong {
    color: var(--dept-ink) !important;
    font-size: 1.42rem;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight p,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card p {
    margin: 0;
    color: var(--dept-muted) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-pills .pill {
    border-color: rgba(19, 61, 114, 0.12) !important;
    background: rgba(255, 255, 255, 0.84) !important;
    color: var(--dept-accent) !important;
    box-shadow: none !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight small,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card small {
    color: var(--dept-radar-accent) !important;
    font-weight: 700;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card {
    display: grid;
    align-content: start;
    gap: 0.72rem;
    padding: 1rem 1.02rem;
    border-radius: 20px;
    background:
        radial-gradient(130% 120% at 100% 0%, rgba(19, 61, 114, 0.08), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card-top strong {
    color: var(--dept-ink) !important;
    font-size: 1.52rem;
    line-height: 1;
    letter-spacing: -0.04em;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-meter {
    height: 0.55rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(19, 61, 114, 0.09);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--dept-radar-accent), var(--dept-radar-accent));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight-urgent,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card-urgent {
    --dept-radar-accent: #aa4949;
    background: linear-gradient(180deg, #ffffff 0%, #fff2ef 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight-watch,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card-watch {
    --dept-radar-accent: #9d6516;
    background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight-good,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card-good {
    --dept-radar-accent: #1d7147;
    background: linear-gradient(180deg, #ffffff 0%, #eefaf3 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-spotlight-plan,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-card-plan {
    --dept-radar-accent: #133d72;
    background: linear-gradient(180deg, #ffffff 0%, #f2f6fc 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    gap: 1rem;
    align-items: start;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-main,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-side {
    display: grid;
    gap: 0.9rem;
    align-content: start;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-side {
    align-content: start;
    padding: 1rem;
    border: 1px solid rgba(19, 61, 114, 0.1);
    border-radius: 24px;
    background:
        radial-gradient(140% 120% at 100% 0%, rgba(19, 61, 114, 0.08), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(245, 248, 252, 0.96) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 0.88rem;
    align-items: start;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-stat-card {
    min-height: 0;
    height: auto;
    display: grid;
    align-content: start;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border-top: 4px solid rgba(19, 61, 114, 0.2) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card {
    border-left: 4px solid var(--dept-accent) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-review {
    border-left-color: #b4761f !important;
    background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-principal,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-next {
    border-left-color: #5867c4 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4f2ff 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-live {
    border-left-color: #238b53 !important;
    background: linear-gradient(180deg, #ffffff 0%, #eefaf3 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-wrap {
    border-left-color: #4b6b8d !important;
    background: linear-gradient(180deg, #ffffff 0%, #f1f5fa 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    width: max-content;
    padding: 0.18rem 0.68rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 61, 114, 0.12);
    background: #eef4ff;
    color: var(--dept-accent) !important;
    margin-bottom: 0.5rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-review .dept-head-focus-badge {
    border-color: rgba(180, 118, 31, 0.16);
    background: #fff1de;
    color: #9d6516 !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-principal .dept-head-focus-badge,
body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-next .dept-head-focus-badge {
    border-color: rgba(88, 103, 196, 0.16);
    background: #f0eeff;
    color: #5867c4 !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-live .dept-head-focus-badge {
    border-color: rgba(35, 139, 83, 0.16);
    background: #eaf6ef;
    color: #1d7147 !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-focus-card-wrap .dept-head-focus-badge {
    border-color: rgba(75, 107, 141, 0.16);
    background: #edf3f8;
    color: #41556d !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-list {
    display: grid;
    gap: 0.75rem;
}

@media (min-width: 901px) {
    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-list {
        max-height: min(32rem, calc(100vh - 16rem));
        overflow: auto;
        padding-right: 0.22rem;
    }
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item {
    display: grid;
    grid-template-columns: minmax(134px, 180px) minmax(0, 1fr);
    gap: 0.85rem;
    padding: 0.92rem 0.98rem;
    border-left: 4px solid rgba(19, 61, 114, 0.18) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item-live {
    border-left-color: rgba(35, 139, 83, 0.85) !important;
    background: linear-gradient(180deg, #ffffff 0%, #eefaf3 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item-next {
    border-left-color: rgba(19, 61, 114, 0.78) !important;
    background: linear-gradient(180deg, #ffffff 0%, #eff5fd 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item-past {
    border-left-color: rgba(96, 114, 135, 0.42) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-slot {
    border-radius: 16px;
    border: 1px solid rgba(19, 61, 114, 0.1);
    background: #eff4fb;
    color: var(--dept-accent) !important;
    font-weight: 800;
    font-size: 0.8rem;
    line-height: 1.45;
    padding: 0.78rem 0.84rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item-live .dept-head-today-slot {
    background: #eaf6ef;
    color: #1d7147 !important;
    border-color: rgba(35, 139, 83, 0.14);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item-next .dept-head-today-slot {
    background: #eef4ff;
    color: var(--dept-accent) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item-past .dept-head-today-slot {
    background: #f3f5f8;
    color: var(--dept-muted-strong) !important;
    border-color: rgba(96, 114, 135, 0.12);
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-body {
    display: grid;
    gap: 0.26rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-body p:last-child {
    color: var(--dept-muted-strong) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-grid {
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card {
    position: relative;
    display: grid;
    gap: 0.75rem;
    min-height: 196px;
    padding: 1.02rem 1.05rem;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--dept-recommend-accent, linear-gradient(90deg, var(--dept-accent), var(--dept-teal)));
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card span {
    display: inline-flex;
    align-items: center;
    width: max-content;
    min-height: 1.9rem;
    padding: 0.18rem 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--dept-recommend-border, rgba(19, 61, 114, 0.14));
    background: var(--dept-recommend-pill, #eef4ff);
    color: var(--dept-recommend-ink, var(--dept-accent)) !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card .btn {
    margin-top: auto;
    width: max-content;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card-urgent {
    --dept-recommend-accent: linear-gradient(90deg, #bf4f4f, #dc7b61);
    --dept-recommend-pill: #fff0ee;
    --dept-recommend-border: rgba(191, 79, 79, 0.18);
    --dept-recommend-ink: #aa4949;
    background: linear-gradient(180deg, #ffffff 0%, #fff2ef 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card-watch {
    --dept-recommend-accent: linear-gradient(90deg, #b4761f, #d39a3d);
    --dept-recommend-pill: #fff3e3;
    --dept-recommend-border: rgba(180, 118, 31, 0.18);
    --dept-recommend-ink: #9d6516;
    background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card-plan {
    --dept-recommend-accent: linear-gradient(90deg, #133d72, #1f6f7f);
    --dept-recommend-pill: #eef4ff;
    --dept-recommend-border: rgba(19, 61, 114, 0.14);
    --dept-recommend-ink: #133d72;
    background: linear-gradient(180deg, #ffffff 0%, #f2f6fc 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-recommend-card-good {
    --dept-recommend-accent: linear-gradient(90deg, #238b53, #2ea86b);
    --dept-recommend-pill: #eaf6ef;
    --dept-recommend-border: rgba(35, 139, 83, 0.16);
    --dept-recommend-ink: #1d7147;
    background: linear-gradient(180deg, #ffffff 0%, #eefaf3 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-empty-state {
    border-style: dashed !important;
    border-color: rgba(96, 114, 135, 0.24) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-empty-state strong {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--dept-ink) !important;
}

body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-empty-state-compact {
    padding: 0.9rem 0.95rem;
}

@media (max-width: 1100px) {
    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-panel,
    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-layout,
    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-grid {
        grid-template-columns: 1fr;
    }

    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-panel-head {
        flex-direction: column;
    }

    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-mini-grid {
        grid-template-columns: 1fr;
    }

    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-item {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-actions,
    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-actions .btn {
        width: 100%;
    }

    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-radar-grid {
        grid-template-columns: 1fr;
    }

    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-hero-copy h2 {
        font-size: 1.62rem;
    }

    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile {
        padding-right: 1.05rem;
    }

    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-action-tile::after {
        display: none;
    }

    body.page-dashboard[class*="role-dept"]:not(.landing-master) .dept-head-today-side {
        padding: 0.9rem;
    }
}

/* Master data: numeric course count builder with serial-wise course fields */
body.role-admin.page-manage-master:not(.landing-master) .department-course-builder .department-course-list {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.42rem;
    margin-top: 0.06rem;
}

body.role-admin.page-manage-master:not(.landing-master) .department-course-builder .department-course-list > span {
    color: #2d4d86;
    font-size: 0.78rem;
    font-weight: 700;
}

body.role-admin.page-manage-master:not(.landing-master) .department-course-list-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.56rem;
}

body.role-admin.page-manage-master:not(.landing-master) .department-course-item {
    display: grid;
    gap: 0.22rem;
    margin: 0;
    padding: 0.5rem 0.56rem;
    border: 1px solid rgba(156, 179, 231, 0.74);
    border-radius: 12px;
    background: linear-gradient(145deg, #fafdff, #edf4ff);
    box-shadow: 0 8px 14px rgba(31, 48, 92, 0.09);
}

body.role-admin.page-manage-master:not(.landing-master) .department-course-item-label {
    color: #3b578b;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.role-admin.page-manage-master:not(.landing-master) .department-course-item input {
    margin: 0;
}

body.role-admin.page-manage-master:not(.landing-master) .department-course-list-hint {
    margin: 0;
    font-size: 0.74rem;
}

@media (max-width: 760px) {
    body.role-admin.page-manage-master:not(.landing-master) .department-course-list-grid {
        grid-template-columns: 1fr;
    }
}

html body.role-admin:not(.landing-master) header.topbar.topbar-admin .brand.brand-rich,
html body.role-faculty:not(.landing-master) .panel-lite-brand,
html body.role-student:not(.landing-master) .panel-lite-brand {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.role-admin.page-profile:not(.landing-master) [data-tab-group] > .pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.56rem;
    align-items: center;
    margin-top: 0.48rem;
}

body.role-admin.page-profile:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button {
    min-height: 2.46rem;
    padding: 0.42rem 1rem;
    border: 1px solid #c5d4e8 !important;
    border-radius: 999px !important;
    background: linear-gradient(165deg, #ffffff 0%, #f2f7ff 100%) !important;
    color: #1c3a62 !important;
    box-shadow: 0 6px 12px rgba(17, 32, 56, 0.08) !important;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
    line-height: 1.2;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

body.role-admin.page-profile:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button:hover {
    transform: translateY(-1px);
    border-color: #9fb6d8 !important;
    background: linear-gradient(165deg, #ffffff 0%, #e9f2ff 100%) !important;
    color: #122f53 !important;
    box-shadow: 0 10px 18px rgba(17, 32, 56, 0.12) !important;
}

body.role-admin.page-profile:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button.pill-active,
body.role-admin.page-profile:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button[aria-pressed="true"] {
    border-color: #18355a !important;
    background: linear-gradient(150deg, #1d3c63 0%, #224d7e 100%) !important;
    color: #f4f8ff !important;
    box-shadow: 0 12px 20px rgba(10, 25, 48, 0.24) !important;
}

body.role-admin.page-profile:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(120, 160, 220, 0.36), 0 8px 16px rgba(16, 34, 59, 0.14) !important;
}

@media (max-width: 900px) {
    body.role-admin.page-profile:not(.landing-master) [data-tab-group] > .pill-row {
        gap: 0.46rem;
    }

    body.role-admin.page-profile:not(.landing-master) [data-tab-group] > .pill-row .pill.pill-button {
        min-height: 2.3rem;
        padding: 0.36rem 0.86rem;
        font-size: 0.85rem;
    }
}

html body.role-admin:not(.landing-master) .brand.brand-rich .brand-rich-text,
html body.role-faculty:not(.landing-master) .panel-lite-brand-text,
html body.role-student:not(.landing-master) .panel-lite-brand-text,
body.landing-master .tm-brand-text {
    line-height: 1.08 !important;
    padding-right: 0.08em !important;
    overflow: visible !important;
}

html body.role-admin:not(.landing-master) .brand.brand-rich .brand-rich-light,
html body.role-admin:not(.landing-master) .brand.brand-rich .brand-rich-strong,
html body.role-faculty:not(.landing-master) .panel-lite-brand-light,
html body.role-faculty:not(.landing-master) .panel-lite-brand-strong,
html body.role-student:not(.landing-master) .panel-lite-brand-light,
html body.role-student:not(.landing-master) .panel-lite-brand-strong,
body.landing-master .tm-brand-light,
body.landing-master .tm-brand-strong {
    line-height: 1.08 !important;
}

html body.role-student:not(.landing-master) .panel-lite-avatar {
    display: none !important;
}

@media (min-width: 981px) {
    html body.role-faculty:not(.landing-master) .panel-lite-header,
    html body.role-student:not(.landing-master) .panel-lite-header {
        background: transparent !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    html body.role-faculty:not(.landing-master) .panel-lite-shell,
    html body.role-student:not(.landing-master) .panel-lite-shell {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 1rem !important;
        background: transparent !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    html body.role-faculty:not(.landing-master) .panel-lite-actions,
    html body.role-student:not(.landing-master) .panel-lite-actions {
        margin-left: auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.42rem !important;
        flex: 0 0 auto !important;
    }

    html body.role-faculty:not(.landing-master) .panel-lite-nav,
    html body.role-student:not(.landing-master) .panel-lite-nav {
        width: auto !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body.role-faculty:not(.landing-master) .panel-lite-link,
    html body.role-student:not(.landing-master) .panel-lite-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

@media (max-width: 980px) {
    html body.role-student:not(.landing-master) .panel-lite-link {
        min-height: 3rem !important;
        padding: 0.72rem 0.92rem !important;
        font-size: 1rem !important;
    }

    html body.role-student:not(.landing-master) .panel-lite-cta,
    html body.role-student:not(.landing-master) .btn {
        min-height: 3.05rem !important;
        padding: 0.78rem 1.15rem !important;
        font-size: 1rem !important;
    }
}

/* Final faculty profile readability + responsive summary action */
body.role-faculty.page-profile:not(.landing-master) .faculty-profile-hero-card,
body.role-faculty.page-profile:not(.landing-master) .faculty-profile-card {
    border-color: #efb7a9 !important;
    background: linear-gradient(180deg, #fffdfa 0%, #fff2eb 100%) !important;
    box-shadow: 0 14px 28px rgba(57, 185, 174, 0.12) !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-identity h3 {
    color: #18355a !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-kicker {
    color: #a25f2d !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subtitle,
body.role-faculty.page-profile:not(.landing-master) .faculty-profile-card .muted {
    color: #5a6678 !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-tag,
body.role-faculty.page-profile:not(.landing-master) .faculty-profile-chip {
    border-color: #efc3b6 !important;
    background: #fff7f3 !important;
    color: #7b4b23 !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-card h4 {
    color: #18355a !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subject-head,
body.role-faculty.page-profile:not(.landing-master) .faculty-profile-dl dt {
    color: #9b5e2f !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-subject-chip {
    border-color: #efc3b6 !important;
    background: #F6FEFD !important;
    color: #1f355f !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-dl dd {
    color: #203758 !important;
}

body.role-faculty.page-profile:not(.landing-master) .faculty-profile-actions {
    margin-top: 0.3rem;
}

@media (max-width: 900px) {
    body.role-faculty.page-profile:not(.landing-master) .faculty-profile-actions {
        justify-content: flex-start;
        margin-top: 0.68rem;
    }

    body.role-faculty.page-profile:not(.landing-master) .faculty-profile-inline-btn {
        width: auto !important;
        min-height: 3.1rem !important;
        padding: 0.84rem 1.38rem !important;
        font-size: 1rem !important;
    }
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-summary-btn {
    margin-top: 0.4rem;
    align-self: flex-start;
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    min-height: 2.24rem !important;
    padding: 0.4rem 0.92rem !important;
    font-size: 0.84rem !important;
    line-height: 1.1 !important;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-summary-panel {
    display: grid;
    gap: 0.7rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.9rem !important;
    align-items: stretch;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-summary-grid .metric-card {
    min-height: 134px;
    padding: 0.82rem 0.95rem 0.9rem !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    gap: 0.18rem;
}

@media (max-width: 900px) {
    body.role-faculty.page-dashboard:not(.landing-master) .faculty-summary-btn {
        margin-top: 0.82rem;
        min-height: 2.46rem !important;
        padding: 0.52rem 1rem !important;
        font-size: 0.88rem !important;
        width: fit-content !important;
    }

    body.role-faculty.page-dashboard:not(.landing-master) .faculty-summary-grid {
        grid-template-columns: 1fr !important;
    }

    body.role-faculty.page-dashboard:not(.landing-master) .faculty-summary-grid .metric-card {
        min-height: 0;
    }
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-next-card {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 0.24rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-next-card strong {
    font-size: 1.3rem !important;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-next-card .faculty-next-title {
    margin: 0.08rem 0 0;
    color: #18355a !important;
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.35;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-next-card p {
    margin: 0;
    color: #5c6980 !important;
    font-size: 0.8rem;
    line-height: 1.4;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-next-card small {
    margin-top: 0.22rem;
    display: inline-flex;
    align-items: center;
    min-height: 1.6rem;
    padding: 0.12rem 0.55rem;
    border-radius: 999px;
    background: #ebfff2;
    color: #167348 !important;
    font-size: 0.74rem;
    font-weight: 700;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-panel {
    display: grid;
    gap: 0.9rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-head h2,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-head p {
    margin: 0;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-head p {
    color: #6a7588 !important;
    font-weight: 700;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-list {
    display: grid;
    gap: 0.82rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-item {
    display: grid;
    grid-template-columns: minmax(185px, 235px) minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: center;
    border: 1px solid #ecc1b5 !important;
    border-radius: 18px;
    background: linear-gradient(180deg, #FBFFFE 0%, #F2FCFA 100%) !important;
    padding: 0.95rem 1rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-slot {
    border-radius: 14px;
    background: #eef4ff;
    color: #1b3b67 !important;
    font-weight: 700;
    font-size: 0.82rem;
    line-height: 1.4;
    padding: 0.72rem 0.82rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-body h3,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-body p,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-meta span {
    margin: 0;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-body {
    display: grid;
    gap: 0.22rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-body h3 {
    color: #18355a !important;
    font-size: 1rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-body p {
    color: #5f6d83 !important;
    font-size: 0.84rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-meta {
    display: grid;
    gap: 0.28rem;
    justify-items: end;
    text-align: right;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-meta span {
    color: #7b4b23 !important;
    font-size: 0.78rem;
    font-weight: 700;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-empty {
    border: 1px dashed #e5b4a7 !important;
    border-radius: 18px;
    background: #F6FEFD !important;
    padding: 1rem 1.05rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-empty strong,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-empty p {
    margin: 0;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-empty strong {
    display: block;
    color: #18355a !important;
    margin-bottom: 0.28rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-empty p {
    color: #617089 !important;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-weekly-panel,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-subjects-panel {
    display: grid;
    gap: 0.9rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-panel-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-panel-head h2,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-panel-head p {
    margin: 0;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-panel-head p {
    color: #6a7588 !important;
    font-weight: 700;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-load-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.82rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-load-card,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-item {
    border: 1px solid #ecc1b5 !important;
    border-radius: 18px;
    background: linear-gradient(180deg, #FBFFFE 0%, #F2FCFA 100%) !important;
    padding: 0.95rem 1rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-load-card span {
    display: block;
    color: #6a7588 !important;
    font-size: 0.82rem;
    font-weight: 700;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-load-card strong {
    display: block;
    margin-top: 0.2rem;
    color: #18355a !important;
    font-size: 1.9rem;
    line-height: 1.05;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
    gap: 0.82rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-item {
    display: grid;
    gap: 0.3rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-code,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-item h3,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-item p,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-meta span {
    margin: 0;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-code {
    color: #9b5e2f !important;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-item h3 {
    color: #18355a !important;
    font-size: 1rem;
    line-height: 1.35;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-item p {
    color: #5f6d83 !important;
    font-size: 0.84rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-top: 0.12rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 1.62rem;
    padding: 0.14rem 0.54rem;
    border-radius: 999px;
    background: #eef4ff;
    color: #1d3d68 !important;
    font-size: 0.75rem;
    font-weight: 700;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-empty {
    border: 1px dashed #e5b4a7 !important;
    border-radius: 18px;
    background: #F6FEFD !important;
    padding: 1rem 1.05rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-empty strong,
body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-empty p {
    margin: 0;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-empty strong {
    display: block;
    color: #18355a !important;
    margin-bottom: 0.28rem;
}

body.role-faculty.page-dashboard:not(.landing-master) .faculty-subject-empty p {
    color: #617089 !important;
}

@media (max-width: 900px) {
    body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-head {
        align-items: flex-start;
        flex-direction: column;
    }

    body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-item {
        grid-template-columns: 1fr;
    }

    body.role-faculty.page-dashboard:not(.landing-master) .faculty-day-meta {
        justify-items: start;
        text-align: left;
    }

    body.role-faculty.page-dashboard:not(.landing-master) .faculty-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }

    body.role-faculty.page-dashboard:not(.landing-master) .faculty-load-grid {
        grid-template-columns: 1fr;
    }
}

/* Student profile: dashboard-aligned refresh */
html body.role-student.page-profile:not(.landing-master) .student-profile-pro {
    --student-profile-ink: #1b2a44;
    --student-profile-muted: #617089;
    --student-profile-line: #dbe4f1;
    --student-profile-shadow: 0 18px 36px rgba(39, 56, 89, 0.08);
    display: grid;
    gap: 1rem;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-hero-card,
html body.role-student.page-profile:not(.landing-master) .student-profile-card {
    position: relative;
    overflow: hidden;
    border-radius: 22px !important;
    border: 1px solid var(--student-profile-line) !important;
    box-shadow: var(--student-profile-shadow) !important;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-hero-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    min-height: 152px;
    padding: 1.45rem 1.6rem;
    background:
        radial-gradient(circle at top right, rgba(92, 159, 255, 0.2), transparent 30%),
        linear-gradient(135deg, #ffffff, #f2f7ff 58%, #ECFAF8) !important;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-hero-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(108deg, transparent 0 62%, rgba(255, 255, 255, 0.52) 62% 66%, transparent 66% 100%);
    pointer-events: none;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-avatar {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    overflow: hidden;
    width: 88px;
    height: 88px;
    border-radius: 24px;
    font-size: 1.9rem;
    font-weight: 800;
    color: #fffaf5;
    border: 1px solid rgba(99, 213, 199, 0.38);
    background:
        radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.24), transparent 24%),
        linear-gradient(145deg, #63D5C7, #49A9D8 50%, #4AA7D8 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.34),
        0 16px 28px rgba(77, 103, 153, 0.2);
}

html body.role-student.page-profile:not(.landing-master) .student-profile-avatar-form {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-avatar-upload {
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-avatar-upload:hover {
    transform: translateY(-1px);
    filter: saturate(1.04);
}

html body.role-student.page-profile:not(.landing-master) .student-profile-avatar-form:focus-within .student-profile-avatar-upload {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.34),
        0 18px 30px rgba(77, 103, 153, 0.24),
        0 0 0 4px rgba(71, 115, 190, 0.18);
}

html body.role-student.page-profile:not(.landing-master) .student-profile-avatar-badge {
    position: absolute;
    right: -0.35rem;
    bottom: -0.25rem;
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0.16rem 0.58rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.82);
    background: linear-gradient(135deg, #184A5E, #4AA7D8);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 10px 20px rgba(38, 70, 124, 0.22);
}

html body.role-student.page-profile:not(.landing-master) .student-profile-avatar-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-identity {
    position: relative;
    z-index: 1;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-identity h3 {
    margin: 0;
    color: var(--student-profile-ink);
    font-size: clamp(1.8rem, 2.4vw, 2.45rem);
    line-height: 1.04;
    letter-spacing: -0.03em;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.85rem;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-meta-pill {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.34rem 0.78rem;
    border-radius: 999px;
    border: 1px solid rgba(84, 121, 177, 0.18);
    background: rgba(255, 255, 255, 0.78);
    color: #355172;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.35;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card {
    display: grid;
    gap: 1rem;
    padding: 1.25rem 1.25rem 1.2rem;
    background: #ffffff !important;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--student-profile-accent, linear-gradient(90deg, #43C7BA, #A3E5D8));
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card-academic {
    --student-profile-accent: linear-gradient(90deg, #43C7BA, #A8E2F4);
    background: linear-gradient(180deg, #ffffff 0%, #F7FEFD 100%) !important;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card-identity {
    --student-profile-accent: linear-gradient(90deg, #3E9DD6, #93D3FF);
    background: linear-gradient(180deg, #ffffff 0%, #F2FCFF 100%) !important;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card-head {
    display: grid;
    gap: 0.18rem;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card-eyebrow {
    margin: 0;
    color: #8e5d43;
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 800;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card-identity .student-profile-card-eyebrow {
    color: #2d6399;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card h4 {
    margin: 0;
    color: var(--student-profile-ink);
    font-size: 1.08rem;
    line-height: 1.2;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-dl {
    margin: 0;
    display: grid;
    gap: 0.72rem;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-dl > div {
    display: grid;
    gap: 0.2rem;
    padding: 0.88rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(134, 153, 188, 0.22);
    background: rgba(255, 255, 255, 0.82);
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card-academic .student-profile-dl > div {
    border-color: rgba(67, 199, 186, 0.2);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 247, 240, 0.98));
}

html body.role-student.page-profile:not(.landing-master) .student-profile-card-identity .student-profile-dl > div {
    border-color: rgba(82, 138, 212, 0.2);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(242, 247, 255, 0.98));
}

html body.role-student.page-profile:not(.landing-master) .student-profile-dl dt {
    margin: 0;
    color: #7f8ba0;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 800;
}

html body.role-student.page-profile:not(.landing-master) .student-profile-dl dd {
    margin: 0;
    color: var(--student-profile-ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    html body.role-student.page-profile:not(.landing-master) .student-profile-cards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    html body.role-student.page-profile:not(.landing-master) .student-profile-hero-card {
        grid-template-columns: 1fr;
        justify-items: center;
        min-height: 0;
        padding: 1.15rem 1rem;
        text-align: center;
    }

    html body.role-student.page-profile:not(.landing-master) .student-profile-avatar {
        width: 72px;
        height: 72px;
        border-radius: 20px;
        font-size: 1.55rem;
    }

    html body.role-student.page-profile:not(.landing-master) .student-profile-identity h3 {
        font-size: clamp(1.55rem, 7vw, 2rem);
    }

html body.role-student.page-profile:not(.landing-master) .student-profile-meta-row {
        justify-content: center;
    }
}

/* Landing reviews and footer */
body.landing-master .tm-contact-section {
    display: grid;
    gap: 1.08rem;
}

body.landing-master .tm-contact-grid {
    grid-template-columns: minmax(300px, 0.94fr) minmax(0, 1.06fr);
    gap: 1.05rem;
    align-items: stretch;
}

body.landing-master .tm-contact-visual,
body.landing-master .tm-contact-form-card {
    position: relative;
    overflow: hidden;
    border-radius: 30px !important;
    border: 1px solid rgba(171, 201, 227, 0.84) !important;
    box-shadow: 0 26px 44px rgba(15, 35, 57, 0.09) !important;
}

body.landing-master .tm-contact-visual {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 0.95rem;
    padding: 1.15rem !important;
    background:
        radial-gradient(440px circle at 0% 0%, rgba(86, 211, 196, 0.18), transparent 42%),
        radial-gradient(520px circle at 100% 0%, rgba(122, 191, 241, 0.18), transparent 46%),
        linear-gradient(160deg, #fbfeff 0%, #f3f9ff 58%, #edf6fc 100%) !important;
}

body.landing-master .tm-contact-visual::before,
body.landing-master .tm-contact-form-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #1f7f92 0%, #4fc8bb 36%, #60a5ea 74%, rgba(255, 255, 255, 0) 100%);
}

body.landing-master .tm-contact-visual::after,
body.landing-master .tm-contact-form-card::after {
    content: "";
    position: absolute;
    right: -4rem;
    bottom: -4.2rem;
    width: 14rem;
    height: 14rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(104, 177, 232, 0.14), rgba(104, 177, 232, 0) 72%);
    pointer-events: none;
}

body.landing-master .tm-contact-visual-media,
body.landing-master .tm-contact-visual-copy,
body.landing-master .tm-contact-form-card > * {
    position: relative;
    z-index: 1;
}

body.landing-master .tm-contact-visual-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    padding: 0.8rem;
    border-radius: 24px;
    border: 1px solid rgba(178, 206, 228, 0.76);
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.92), transparent 54%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(233, 244, 255, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.landing-master .tm-contact-image {
    width: min(100%, 430px);
    filter: drop-shadow(0 18px 30px rgba(30, 58, 138, 0.14));
}

body.landing-master .tm-contact-visual-copy {
    display: grid;
    gap: 0.82rem;
    align-content: start;
}

body.landing-master .tm-contact-kicker,
body.landing-master .tm-contact-form-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 2rem;
    padding: 0.34rem 0.76rem;
    border-radius: 999px;
    border: 1px solid rgba(91, 176, 211, 0.26);
    background: linear-gradient(135deg, #effcf8, #edf5ff);
    color: #216c7d;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 10px 18px rgba(18, 43, 69, 0.06);
}

body.landing-master .tm-contact-visual-copy h2 {
    margin: 0;
    color: #153252;
    font-family: "Trebuchet MS", "Gill Sans", "Segoe UI", sans-serif;
    font-size: clamp(1.5rem, 2.25vw, 2.08rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

body.landing-master .tm-contact-visual-copy p,
body.landing-master .tm-contact-form-intro,
body.landing-master .tm-contact-submit-note {
    margin: 0;
    color: #58718f;
    font-family: "Cambria", Georgia, serif;
    font-size: 0.96rem;
    line-height: 1.7;
}

body.landing-master .tm-contact-highlight-list {
    display: grid;
    gap: 0.72rem;
}

body.landing-master .tm-contact-highlight {
    display: grid;
    gap: 0.22rem;
    padding: 0.84rem 0.92rem;
    border-radius: 20px;
    border: 1px solid rgba(176, 201, 228, 0.82);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(239, 247, 255, 0.9));
    box-shadow: 0 12px 22px rgba(18, 38, 60, 0.05);
}

body.landing-master .tm-contact-highlight strong {
    color: #214061;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.35;
}

body.landing-master .tm-contact-highlight span {
    color: #5d7392;
    font-size: 0.83rem;
    line-height: 1.55;
}

body.landing-master .tm-contact-form-card {
    display: grid;
    gap: 0.82rem;
    padding: 1.22rem !important;
    background:
        radial-gradient(420px circle at 0% 0%, rgba(87, 213, 196, 0.1), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.95)) !important;
}

body.landing-master .tm-contact-form-card h1 {
    margin-top: -0.08rem !important;
}

body.landing-master .tm-contact-form-intro {
    padding: 0.9rem 0.98rem;
    border-radius: 20px;
    border: 1px solid rgba(171, 201, 227, 0.72);
    background: linear-gradient(145deg, rgba(240, 251, 248, 0.9), rgba(241, 247, 255, 0.92));
}

body.landing-master .tm-contact-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.52rem;
}

body.landing-master .tm-contact-trust-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.92rem;
    padding: 0.24rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(182, 202, 226, 0.9);
    background: rgba(255, 255, 255, 0.86);
    color: #315a82;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.landing-master .tm-contact-notice {
    margin: 0 !important;
    border-radius: 18px;
    box-shadow: none;
}

body.landing-master .tm-contact-form-grid {
    gap: 0.82rem;
}

body.landing-master .tm-contact-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.82rem;
}

body.landing-master .tm-contact-field {
    display: grid;
    gap: 0.4rem;
    color: #29466f;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

body.landing-master .tm-contact-field input,
body.landing-master .tm-contact-field select,
body.landing-master .tm-contact-field textarea {
    min-height: 3.18rem;
    border: 1px solid rgba(178, 198, 230, 0.9) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff, #f6faff) !important;
    color: #214061 !important;
    box-shadow: 0 10px 16px rgba(22, 42, 68, 0.05);
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

body.landing-master .tm-contact-field textarea {
    min-height: 8.4rem;
    resize: vertical;
}

body.landing-master .tm-contact-field input:focus,
body.landing-master .tm-contact-field select:focus,
body.landing-master .tm-contact-field textarea:focus {
    border-color: rgba(85, 149, 223, 0.9) !important;
    box-shadow: 0 16px 24px rgba(37, 76, 133, 0.12) !important;
    transform: translateY(-1px);
    outline: none;
}

body.landing-master .tm-contact-submit {
    width: 100%;
    min-height: 3.2rem;
    justify-content: center;
    border-radius: 18px;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    box-shadow: 0 18px 28px rgba(21, 79, 122, 0.18);
}

body.landing-master .tm-contact-submit-note {
    font-size: 0.88rem;
    color: #61758f;
}

body.landing-master .tm-review-board {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 1.08rem;
    padding: 1.24rem;
    border: 1px solid rgba(171, 202, 226, 0.82);
    border-radius: 30px;
    background:
        radial-gradient(760px circle at 0% 0%, rgba(86, 211, 196, 0.12), transparent 42%),
        radial-gradient(820px circle at 100% 0%, rgba(122, 191, 241, 0.18), transparent 46%),
        linear-gradient(180deg, #fcfeff 0%, #f5f9ff 58%, #eef6fc 100%);
    box-shadow: 0 26px 48px rgba(14, 35, 57, 0.09);
}

body.landing-master .tm-review-board::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #20788d 0%, #55c9bb 34%, #63a8ea 74%, rgba(255, 255, 255, 0) 100%);
}

body.landing-master .tm-review-board::after {
    content: "";
    position: absolute;
    right: -4.5rem;
    bottom: -4.2rem;
    width: 15rem;
    height: 15rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(104, 177, 232, 0.14), rgba(104, 177, 232, 0) 72%);
    pointer-events: none;
}

body.landing-master .tm-review-head {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto !important;
    text-align: center !important;
}

body.landing-master .tm-review-head h2 {
    display: inline-block;
    position: relative;
    margin: 0 !important;
    font-family: "Trebuchet MS", "Gill Sans", "Segoe UI", sans-serif !important;
    font-size: clamp(1.96rem, 3vw, 2.72rem) !important;
    font-weight: 800 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
    color: #102336 !important;
}

body.landing-master .tm-review-head h2::after {
    content: "";
    display: block;
    width: clamp(4.4rem, 11vw, 6.5rem);
    height: 0.28rem;
    margin: 0.58rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #2eb7aa, #58afea);
    box-shadow: 0 8px 18px rgba(46, 183, 170, 0.18);
}

body.landing-master .tm-review-head p {
    max-width: 56ch;
    margin: 0.58rem auto 0 !important;
    color: #56708d;
    font-size: 0.97rem;
    line-height: 1.72;
}

body.landing-master .tm-review-summary {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.2rem;
    border: 1px solid rgba(171, 201, 227, 0.82);
    border-radius: 24px;
    background:
        radial-gradient(220px circle at 100% 0%, rgba(255, 255, 255, 0.72), transparent 58%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(240, 248, 255, 0.92));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 20px 34px rgba(19, 39, 61, 0.07);
}

body.landing-master .tm-review-score {
    display: grid;
    justify-items: start;
    gap: 0.38rem;
    padding: 0.2rem 0;
}

body.landing-master .tm-review-score strong {
    font-size: clamp(2.45rem, 5vw, 3.24rem);
    line-height: 0.92;
    letter-spacing: -0.055em;
    color: #163d61;
}

body.landing-master .tm-review-score .tm-review-card-stars {
    gap: 0.18rem;
}

body.landing-master .tm-review-score .tm-review-star {
    font-size: 1.18rem;
}

body.landing-master .tm-review-score span,
body.landing-master .tm-review-summary-note {
    margin: 0;
}

body.landing-master .tm-review-score span {
    color: #237486;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

body.landing-master .tm-review-summary-note {
    padding: 1rem 1.05rem;
    border-radius: 20px;
    border: 1px solid rgba(171, 202, 226, 0.78);
    background: linear-gradient(145deg, rgba(239, 251, 248, 0.92), rgba(238, 245, 255, 0.92));
    color: #496883;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.72;
}

body.landing-master .tm-review-summary-note::before {
    content: "Trusted Feedback";
    display: block;
    margin-bottom: 0.38rem;
    color: #217283;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.landing-master .tm-review-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(318px, 0.92fr) minmax(0, 1.08fr);
    gap: 1.05rem;
    align-items: start;
}

body.landing-master .tm-review-form-card,
body.landing-master .tm-review-card {
    box-shadow: none;
}

body.landing-master .tm-review-form-card {
    display: grid;
    gap: 0.8rem;
    padding: 1.18rem !important;
    border: 1px solid rgba(171, 201, 227, 0.82) !important;
    border-radius: 26px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(244, 249, 255, 0.95)) !important;
    box-shadow: 0 22px 34px rgba(18, 38, 60, 0.08) !important;
}

body.landing-master .tm-review-form-card h3,
body.landing-master .tm-review-card h3 {
    margin: 0;
    color: #214061;
}

body.landing-master .tm-review-form-card h3 {
    font-size: 1.24rem;
    line-height: 1.28;
}

body.landing-master .tm-review-form-help {
    margin: 0;
    padding: 0.86rem 0.94rem;
    border-radius: 18px;
    border: 1px solid rgba(171, 201, 227, 0.72);
    background: linear-gradient(145deg, rgba(240, 251, 248, 0.9), rgba(241, 247, 255, 0.92));
    color: #5b7191;
    font-size: 0.9rem;
    line-height: 1.66;
}

body.landing-master .tm-review-form-card .form-grid {
    gap: 0.82rem;
}

body.landing-master .tm-review-form-card label {
    display: grid;
    gap: 0.42rem;
    color: #29466f;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

body.landing-master .tm-review-form-card input,
body.landing-master .tm-review-form-card select,
body.landing-master .tm-review-form-card textarea {
    min-height: 3.2rem;
    border: 1px solid rgba(178, 198, 230, 0.9) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff, #f6faff) !important;
    color: #214061 !important;
    box-shadow: 0 10px 16px rgba(22, 42, 68, 0.05);
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

body.landing-master .tm-review-form-card textarea {
    min-height: 8rem;
    resize: vertical;
}

body.landing-master .tm-review-form-card input:focus,
body.landing-master .tm-review-form-card select:focus,
body.landing-master .tm-review-form-card textarea:focus {
    border-color: rgba(85, 149, 223, 0.9) !important;
    box-shadow: 0 16px 24px rgba(37, 76, 133, 0.12) !important;
    transform: translateY(-1px);
    outline: none;
}

body.landing-master .tm-review-form-card .tm-contact-notice {
    margin: 0;
    border-radius: 18px;
    box-shadow: none;
}

body.landing-master .tm-review-rating-group {
    margin: 0;
    padding: 0.92rem 0.95rem 0.96rem;
    border: 1px solid rgba(170, 200, 226, 0.8);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(241, 247, 255, 0.92));
    display: grid;
    gap: 0.45rem;
}

body.landing-master .tm-review-rating-group legend {
    padding: 0;
    color: #2d5f7c;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

body.landing-master .tm-star-rating {
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 0.32rem;
    width: max-content;
    padding: 0.38rem 0.58rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 12px 18px rgba(18, 43, 69, 0.06);
}

body.landing-master .tm-star-rating input[type="hidden"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

body.landing-master .tm-star-rating-button {
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #c6d5e8;
    font-size: 2.08rem;
    line-height: 1;
    transition: transform 0.2s ease, color 0.2s ease, text-shadow 0.2s ease;
}

body.landing-master .tm-star-rating-button:hover,
body.landing-master .tm-star-rating-button:hover ~ .tm-star-rating-button,
body.landing-master .tm-star-rating-button.is-selected {
    color: #f5b33d !important;
    text-shadow: 0 10px 18px rgba(245, 179, 61, 0.24) !important;
}

body.landing-master .tm-star-rating-button:hover,
body.landing-master .tm-star-rating-button:focus-visible {
    transform: translateY(-2px);
}

body.landing-master .tm-star-rating-button:focus-visible {
    outline: 0;
    text-shadow: 0 0 0 8px rgba(88, 175, 234, 0.12);
}

body.landing-master .tm-review-form-card .tm-btn.tm-btn-primary {
    width: 100%;
    min-height: 3.22rem;
    justify-content: center;
    border-radius: 18px;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    box-shadow: 0 18px 28px rgba(21, 79, 122, 0.18);
}

body.landing-master .tm-review-wall {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-content: start;
}

body.landing-master .tm-review-card {
    --review-card-accent: #56c1b2;
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 0.82rem;
    min-height: 100%;
    padding: 1.05rem !important;
    border: 1px solid rgba(174, 198, 228, 0.82) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(220px circle at 100% 0%, rgba(255, 255, 255, 0.8), transparent 58%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 248, 255, 0.95)) !important;
    box-shadow: 0 20px 32px rgba(18, 38, 60, 0.08) !important;
}

body.landing-master .tm-review-card:nth-child(3n + 2) {
    --review-card-accent: #58afea;
}

body.landing-master .tm-review-card:nth-child(3n + 3) {
    --review-card-accent: #7b96ef;
}

body.landing-master .tm-review-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--review-card-accent), rgba(255, 255, 255, 0));
}

body.landing-master .tm-review-card::after {
    content: "\201C";
    position: absolute;
    top: 0.3rem;
    right: 0.72rem;
    color: rgba(113, 156, 196, 0.18);
    font-family: Georgia, serif;
    font-size: 4.4rem;
    line-height: 1;
    pointer-events: none;
}

body.landing-master .tm-review-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

body.landing-master .tm-review-card-headline {
    display: grid;
    gap: 0.38rem;
}

body.landing-master .tm-review-card h3 {
    font-size: 1.04rem;
    line-height: 1.42;
}

body.landing-master .tm-review-meta {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    color: #617899;
    font-size: 0.84rem;
}

body.landing-master .tm-review-meta span,
body.landing-master .tm-review-date {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.9rem;
    padding: 0.25rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(190, 205, 226, 0.88);
    background: rgba(255, 255, 255, 0.9);
    color: #315a82;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.landing-master .tm-review-card-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.14rem;
}

body.landing-master .tm-review-star {
    color: #c6d5e8;
    font-size: 1.08rem;
    line-height: 1;
}

body.landing-master .tm-review-star.is-filled {
    color: #f5b33d;
    text-shadow: 0 8px 14px rgba(245, 179, 61, 0.18);
}

body.landing-master .tm-review-card-text {
    margin: 0;
    color: #4d6686;
    font-size: 0.92rem;
    line-height: 1.72;
    overflow-wrap: anywhere;
}

body.landing-master .tm-review-empty {
    place-items: center;
    align-content: center;
    min-height: 236px;
    text-align: center;
    background:
        radial-gradient(220px circle at 50% 0%, rgba(118, 190, 238, 0.14), transparent 56%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 248, 255, 0.95)) !important;
}

body.landing-master .tm-review-empty h3 {
    font-size: 1.12rem;
}

body.landing-master .tm-review-empty p {
    max-width: 30ch;
    margin: 0 auto !important;
}

body.landing-master .tm-site-footer {
    width: 100%;
    padding: 0;
}

body.landing-master .tm-footer-shell {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: minmax(280px, 1.2fr) repeat(2, minmax(180px, 0.78fr));
    gap: 1rem;
    padding: 1.25rem clamp(1rem, 2.8vw, 2.6rem) 2.1rem;
    border-top: 1px solid rgba(123, 194, 214, 0.26);
    border-bottom: 1px solid rgba(123, 194, 214, 0.26);
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at top left, rgba(89, 215, 201, 0.12), transparent 34%),
        radial-gradient(circle at top right, rgba(126, 211, 255, 0.12), transparent 30%),
        linear-gradient(145deg, #0f2637 0%, #123b4f 52%, #0f4d58 100%);
    box-shadow: 0 24px 46px rgba(11, 23, 35, 0.22);
}

body.landing-master .tm-footer-shell::before {
    content: none;
}

body.landing-master .tm-footer-shell::after {
    content: none;
}

body.landing-master .tm-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.72rem;
    text-decoration: none;
}

body.landing-master .tm-footer-logo {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.landing-master .tm-footer-logo svg {
    width: 100%;
    height: 100%;
}

body.landing-master .tm-footer-brand-text {
    display: inline-flex;
    align-items: baseline;
    gap: 0.12rem;
    font-style: italic;
}

body.landing-master .tm-footer-brand-light,
body.landing-master .tm-footer-brand-strong {
    font-size: 1.6rem;
    line-height: 1;
    color: #dff5ff;
}

body.landing-master .tm-footer-brand-light {
    font-weight: 300;
    opacity: 0.9;
}

body.landing-master .tm-footer-brand-strong {
    font-weight: 800;
    color: #ffffff;
}

body.landing-master .tm-footer-brand-block,
body.landing-master .tm-footer-links {
    display: grid;
    gap: 0.68rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.landing-master .tm-footer-brand-block {
    gap: 0.68rem;
}

body.landing-master .tm-footer-links h2 {
    margin: 0;
    color: #f3fbff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: none;
}

body.landing-master .tm-footer-copy,
body.landing-master .tm-footer-muted {
    margin: 0;
    color: #c5d8e7;
    line-height: 1.72;
}

body.landing-master .tm-footer-copy {
    max-width: none;
    font-size: 1rem;
}

body.landing-master .tm-footer-links a {
    display: inline;
    min-height: 0;
    width: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #bfeeff;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.22s ease;
}

body.landing-master .tm-footer-links a:hover,
body.landing-master .tm-footer-links a:focus-visible {
    color: #7fe0d4;
}

body.landing-master .tm-footer-muted {
    font-size: 0.88rem;
}

body.landing-master .tm-footer-links .tm-footer-muted {
    padding: 0;
}

body.landing-master .tm-footer-login {
    appearance: none;
    -webkit-appearance: none;
    width: fit-content;
    min-height: 0;
    padding: 0.72rem 1.1rem;
    border: 1px solid rgba(117, 219, 205, 0.28);
    border-radius: 999px;
    background: linear-gradient(145deg, rgba(87, 215, 196, 0.18), rgba(126, 200, 248, 0.18));
    color: #dffbff;
    font: inherit;
    font-weight: 700;
    letter-spacing: 0;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.landing-master .tm-footer-login:hover,
body.landing-master .tm-footer-login:focus-visible {
    color: #ffffff;
    border-color: rgba(145, 234, 223, 0.42);
    background: linear-gradient(145deg, rgba(87, 215, 196, 0.28), rgba(126, 200, 248, 0.28));
}

@media (max-width: 1024px) {
    body.landing-master .tm-contact-grid,
    body.landing-master .tm-review-layout,
    body.landing-master .tm-footer-shell {
        grid-template-columns: 1fr;
    }

    body.landing-master .tm-contact-visual-media {
        min-height: 200px;
    }

    body.landing-master .tm-review-board {
        padding: 1rem;
    }

    body.landing-master .tm-review-summary {
        grid-template-columns: 1fr;
    }

    body.landing-master .tm-review-wall {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body.landing-master .tm-contact-visual,
    body.landing-master .tm-contact-form-card {
        padding: 0.92rem !important;
        border-radius: 24px !important;
    }

    body.landing-master .tm-contact-form-row {
        grid-template-columns: 1fr;
        gap: 0.72rem;
    }

    body.landing-master .tm-contact-visual-media {
        min-height: 160px;
        padding: 0.6rem;
    }

    body.landing-master .tm-contact-visual-copy p,
    body.landing-master .tm-contact-form-intro,
    body.landing-master .tm-contact-submit-note {
        font-size: 0.9rem;
    }

    body.landing-master .tm-review-card-top {
        flex-direction: column;
        align-items: flex-start;
    }

    body.landing-master .tm-review-board {
        padding: 0.92rem;
        border-radius: 24px;
    }

    body.landing-master .tm-review-summary,
    body.landing-master .tm-review-form-card,
    body.landing-master .tm-review-card {
        padding: 0.92rem !important;
    }

    body.landing-master .tm-review-head p {
        font-size: 0.9rem;
    }

    body.landing-master .tm-star-rating-button {
        font-size: 1.8rem;
    }

    body.landing-master .tm-footer-shell {
        width: 100%;
        padding-inline: 1rem;
        border-radius: 0;
    }
}

/* Final admin/theme overrides */
body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link,
body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link:link,
body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link:visited {
    color: #214061 !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link:hover,
body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link:focus-visible,
body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link.is-current {
    border-color: rgba(86, 181, 197, 0.24) !important;
    background: linear-gradient(145deg, rgba(239, 252, 251, 0.95), rgba(234, 246, 255, 0.95)) !important;
    color: #17818d !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link:hover .nav-emoji,
body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link:focus-visible .nav-emoji,
body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link.is-current .nav-emoji {
    border-color: rgba(86, 181, 197, 0.3) !important;
    background: linear-gradient(145deg, rgba(239, 252, 251, 0.95), rgba(234, 246, 255, 0.95)) !important;
    color: #17818d !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

@media (min-width: 981px) {
    body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.58rem !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: thin !important;
        scrollbar-gutter: auto !important;
        padding-bottom: 0.16rem !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav {
        width: max-content !important;
        min-width: max-content !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
        justify-content: flex-end !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .logout-link {
        flex: 0 0 auto !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions::-webkit-scrollbar {
        height: 8px;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions::-webkit-scrollbar-track {
        background: rgba(208, 221, 242, 0.7);
        border-radius: 999px;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, #6ca8d8, #2d7fb6);
        border-radius: 999px;
    }
}

@media (min-width: 761px) and (max-width: 980px) {
    body.role-admin:not(.landing-master) header.topbar.topbar-admin {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 0.75rem !important;
        padding-right: 0.9rem !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle {
        display: none !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions {
        display: flex !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 0 0.14rem !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.58rem !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: thin !important;
        scrollbar-gutter: auto !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav {
        width: max-content !important;
        min-width: max-content !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.24rem !important;
        overflow: visible !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link {
        width: auto !important;
        min-height: 2.7rem !important;
        justify-content: center !important;
        padding: 0.48rem 0.76rem !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .logout-link {
        width: auto !important;
        min-height: 2.7rem !important;
        flex: 0 0 auto !important;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions::-webkit-scrollbar {
        height: 8px;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions::-webkit-scrollbar-track {
        background: rgba(208, 221, 242, 0.7);
        border-radius: 999px;
    }

    body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, #6ca8d8, #2d7fb6);
        border-radius: 999px;
    }
}

body:not(.landing-master) .btn.btn-danger,
body:not(.landing-master) .btn-danger {
    color: #fff7f2 !important;
    border-color: rgba(204, 102, 58, 0.74) !important;
    background: linear-gradient(135deg, #e6834d, #c95548) !important;
    box-shadow: 0 12px 22px rgba(201, 85, 72, 0.2) !important;
}

body:not(.landing-master) .btn.btn-danger:hover,
body:not(.landing-master) .btn-danger:hover,
body:not(.landing-master) .btn.btn-danger:focus-visible,
body:not(.landing-master) .btn-danger:focus-visible {
    color: #ffffff !important;
    border-color: rgba(190, 84, 45, 0.82) !important;
    background: linear-gradient(135deg, #de7540, #ba473b) !important;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-delete-btn {
    border-color: rgba(204, 102, 58, 0.52) !important;
    background: linear-gradient(140deg, #fff0e7, #ffe0d1) !important;
    color: #b45633 !important;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-delete-btn:hover {
    background: linear-gradient(140deg, #ffe8dc, #ffd4c1) !important;
}

.flash-stack.flash-stack-professional .flash-confirm-danger {
    border-color: rgba(204, 102, 58, 0.66) !important;
    background: linear-gradient(145deg, rgba(230, 131, 77, 0.96), rgba(201, 85, 72, 0.96)) !important;
    color: #ffffff !important;
}

body.page-timetable:not(.landing-master) .timetable-workbench {
    --tt-ink: #19324b;
    --tt-soft-ink: #667b90;
    --tt-muted: #8798aa;
    --tt-border: rgba(97, 136, 166, 0.24);
    --tt-border-strong: rgba(70, 115, 149, 0.38);
    --tt-shell: linear-gradient(158deg, rgba(255, 255, 255, 0.98), rgba(238, 245, 249, 0.95));
    --tt-shell-soft: linear-gradient(160deg, rgba(250, 253, 255, 0.98), rgba(235, 243, 248, 0.96));
    --tt-accent: #2b6d92;
    --tt-accent-strong: #1d4f70;
    --tt-accent-soft: rgba(219, 236, 246, 0.94);
    --tt-highlight: rgba(243, 190, 132, 0.2);
    --tt-shadow: 0 24px 44px rgba(20, 41, 62, 0.12);
}

body.page-timetable:not(.landing-master) .timetable-panel {
    border: 1px solid var(--tt-border) !important;
    background:
        radial-gradient(135% 120% at 100% 0%, var(--tt-highlight), transparent 44%),
        radial-gradient(110% 120% at 0% 0%, rgba(121, 184, 212, 0.12), transparent 38%),
        var(--tt-shell) !important;
    box-shadow: var(--tt-shadow) !important;
}

body.page-timetable:not(.landing-master) .timetable-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--tt-accent), rgba(243, 190, 132, 0.94));
    opacity: 0.96;
}

body.page-timetable:not(.landing-master) .timetable-panel-head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
    gap: 1rem 1.1rem;
    align-items: start;
    margin-bottom: 1rem;
}

body.page-timetable:not(.landing-master) .timetable-panel-title-wrap {
    display: grid;
    gap: 0.34rem;
}

body.page-timetable:not(.landing-master) .timetable-panel-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.36rem 0.76rem;
    border-radius: 999px;
    border: 1px solid rgba(88, 132, 162, 0.28);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), var(--tt-accent-soft));
    color: var(--tt-accent-strong);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.page-timetable:not(.landing-master) .timetable-panel-subtitle {
    margin: 0;
    max-width: 52rem;
    color: var(--tt-soft-ink);
}

body.page-timetable:not(.landing-master) .timetable-summary-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 0.72rem;
}

body.page-timetable:not(.landing-master) .timetable-summary-card {
    display: grid;
    gap: 0.18rem;
    padding: 0.86rem 0.94rem;
    border-radius: 18px;
    border: 1px solid rgba(97, 136, 166, 0.22);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(236, 244, 249, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

body.page-timetable:not(.landing-master) .timetable-summary-card strong {
    color: var(--tt-ink);
    font-size: 1.04rem;
    line-height: 1.15;
}

body.page-timetable:not(.landing-master) .timetable-summary-card span {
    color: var(--tt-muted);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-timetable:not(.landing-master) .timetable-scope-line,
body.page-timetable:not(.landing-master) .timetable-panel-note {
    margin-bottom: 0.82rem;
}

body.page-timetable:not(.landing-master) .timetable-scope-line {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.56rem 0.78rem;
    border-radius: 16px;
    border: 1px solid rgba(93, 136, 165, 0.24);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(232, 241, 247, 0.9));
    color: var(--tt-ink);
}

body.page-timetable:not(.landing-master) .timetable-panel-note {
    padding: 0.8rem 0.92rem;
    border-radius: 16px;
    border: 1px dashed rgba(97, 136, 166, 0.28);
    background: linear-gradient(145deg, rgba(250, 252, 255, 0.94), rgba(237, 244, 248, 0.9));
    color: var(--tt-soft-ink);
}

body.page-timetable:not(.landing-master) .timetable-action-row {
    margin: 0;
}

body.page-timetable:not(.landing-master) .timetable-download-btn {
    min-height: 3rem;
    padding-inline: 1rem;
    border-color: rgba(88, 132, 162, 0.28);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(224, 239, 247, 0.94));
    color: var(--tt-accent-strong);
}

body.page-timetable:not(.landing-master) .timetable-filter-form {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 0.82rem 0.9rem;
    align-items: end;
}

body.page-timetable:not(.landing-master) .timetable-filter-form label {
    display: grid;
    gap: 0.42rem;
    margin: 0;
    position: relative;
    padding: 0.88rem 0.94rem;
    border-radius: 18px;
    border: 1px solid rgba(97, 136, 166, 0.22);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(236, 244, 249, 0.92));
    color: var(--tt-ink);
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.page-timetable:not(.landing-master) .timetable-filter-form label:hover {
    border-color: rgba(86, 130, 160, 0.34);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 10px 18px rgba(26, 49, 71, 0.06);
}

body.page-timetable:not(.landing-master) .timetable-filter-form label select {
    width: 100%;
    min-height: 3rem;
    padding: 0.78rem 3rem 0.78rem 0.92rem;
    border: 1px solid rgba(96, 136, 166, 0.28);
    border-radius: 14px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.95);
    background-image:
        linear-gradient(45deg, transparent 50%, var(--tt-accent-strong) 50%),
        linear-gradient(135deg, var(--tt-accent-strong) 50%, transparent 50%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(229, 239, 246, 0.94));
    background-position:
        calc(100% - 1.2rem) calc(50% - 0.16rem),
        calc(100% - 0.85rem) calc(50% - 0.16rem),
        0 0;
    background-size:
        0.48rem 0.48rem,
        0.48rem 0.48rem,
        100% 100%;
    background-repeat: no-repeat;
    color: var(--tt-ink);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

body.page-timetable:not(.landing-master) .timetable-filter-form label select:hover {
    border-color: rgba(84, 128, 158, 0.4);
    background-image:
        linear-gradient(45deg, transparent 50%, var(--tt-accent-strong) 50%),
        linear-gradient(135deg, var(--tt-accent-strong) 50%, transparent 50%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(220, 234, 244, 0.98));
}

body.page-timetable:not(.landing-master) .timetable-filter-form label select:focus,
body.page-timetable:not(.landing-master) .timetable-filter-form label select:focus-visible {
    outline: none;
    border-color: rgba(59, 109, 143, 0.56);
    box-shadow: 0 0 0 4px rgba(97, 154, 190, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.92);
    background-image:
        linear-gradient(45deg, transparent 50%, var(--tt-accent) 50%),
        linear-gradient(135deg, var(--tt-accent) 50%, transparent 50%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(214, 231, 243, 0.99));
}

body.page-timetable:not(.landing-master) .timetable-filter-form label select option {
    color: var(--tt-ink);
    background: #f7fbfd;
}

body.page-timetable:not(.landing-master) .timetable-filter-btn {
    min-height: 3rem !important;
    padding: 0.64rem 1rem !important;
    font-size: 0.86rem !important;
    line-height: 1.1;
    border-color: rgba(89, 131, 160, 0.3);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(217, 235, 245, 0.96));
    color: var(--tt-accent-strong);
}

body.page-timetable:not(.landing-master) .timetable-preview-head {
    align-items: center;
}

body.page-timetable:not(.landing-master) .timetable-preview-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

body.page-timetable:not(.landing-master) .timetable-preview-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.44rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(90, 132, 162, 0.26);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), var(--tt-accent-soft));
    color: var(--tt-accent-strong);
    font-size: 0.78rem;
    font-weight: 800;
}

body.page-timetable:not(.landing-master) .timetable-preview-wrap {
    padding: 0.48rem;
    border: 1px solid var(--tt-border) !important;
    border-radius: 26px;
    background: var(--tt-shell-soft) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-table .routine-title {
    background: linear-gradient(145deg, rgba(215, 232, 244, 0.98), rgba(246, 234, 219, 0.96));
    color: #1d4161;
    letter-spacing: 0.08em;
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-table thead th {
    color: #214564;
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-table .day-cell {
    color: var(--tt-accent-strong);
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-table .routine-cell {
    background: rgba(255, 255, 255, 0.42);
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-table .tiffin-cell {
    background: linear-gradient(145deg, rgba(255, 245, 219, 0.94), rgba(246, 227, 171, 0.9));
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-table .admin-cell {
    background: linear-gradient(145deg, rgba(228, 238, 247, 0.96), rgba(207, 224, 240, 0.92));
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-entry-card {
    border: 1px solid rgba(82, 124, 155, 0.18);
    border-radius: 16px;
    padding: 0.66rem 0.7rem;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(242, 247, 251, 0.94));
    box-shadow: 0 10px 20px rgba(24, 45, 66, 0.08);
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-entry-card::before {
    width: 6px;
    opacity: 0.94;
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-entry-title {
    color: var(--tt-ink);
    font-weight: 800;
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .routine-entry-meta {
    color: var(--tt-soft-ink);
}

body.page-timetable:not(.landing-master) .timetable-preview-panel .empty-slot {
    color: var(--tt-muted);
    font-weight: 700;
}

@media (max-width: 1080px) {
    body.page-timetable:not(.landing-master) .timetable-panel-head {
        grid-template-columns: 1fr;
    }

    body.page-timetable:not(.landing-master) .timetable-preview-chip-row {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    body.page-timetable:not(.landing-master) .timetable-summary-strip,
    body.page-timetable:not(.landing-master) .timetable-filter-form {
        grid-template-columns: 1fr !important;
    }

    body.page-timetable:not(.landing-master) .timetable-filter-form label {
        padding: 0.8rem 0.82rem;
    }
}

@media (max-width: 760px) {
    html,
    body.landing-master {
        overflow-x: hidden !important;
    }

    body.landing-master .tm-nav-shell {
        justify-content: flex-start !important;
        align-items: center !important;
    }

    body.landing-master .tm-brand {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin-right: auto !important;
    }

    body.landing-master .tm-brand-text {
        align-items: center !important;
    }

    body.landing-master .tm-menu-toggle {
        margin-left: auto !important;
        align-self: center !important;
    }

    body.landing-master .container,
    body.landing-master .tm-main,
    body.landing-master .tm-section,
    body.landing-master .tm-hero,
    body.landing-master .tm-hero-grid,
    body.landing-master .tm-hero-copy,
    body.landing-master .tm-stat-grid,
    body.landing-master .tm-stat-card,
    body.landing-master .tm-action-row,
    body.landing-master .tm-live-strip,
    body.landing-master .tm-live-pill,
    body.landing-master #overview .tm-step-grid,
    body.landing-master #overview .tm-step-card,
    body.landing-master #workflow .tm-workflow-card-grid,
    body.landing-master #workflow .tm-workflow-card,
    body.landing-master .tm-card-grid,
    body.landing-master .tm-info-card,
    body.landing-master .tm-faq-grid,
    body.landing-master .tm-faq-item,
    body.landing-master .tm-contact-grid,
    body.landing-master .tm-contact-card,
    body.landing-master .tm-side-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.landing-master .container {
        width: calc(100vw - 1rem) !important;
        margin: 0 auto 1.15rem !important;
    }

    body.landing-master .tm-main {
        padding-top: 5.2rem !important;
        gap: 1.1rem !important;
    }

    body.landing-master .tm-hero {
        padding: 1.18rem 1rem 1rem !important;
        border-radius: 22px !important;
    }

    body.landing-master .tm-hero-copy h1 {
        max-width: 100% !important;
        font-size: clamp(1.52rem, 7.4vw, 1.92rem) !important;
        line-height: 1.16 !important;
        overflow-wrap: anywhere;
        word-break: normal;
        text-wrap: pretty;
    }

    body.landing-master .tm-hero-copy p {
        max-width: 100% !important;
        font-size: 0.92rem !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere;
    }

    body.landing-master .tm-hero-badge {
        max-width: 100% !important;
        white-space: normal !important;
    }

    body.landing-master .tm-stat-grid,
    body.landing-master .tm-card-grid,
    body.landing-master #overview .tm-step-grid,
    body.landing-master #workflow .tm-workflow-card-grid,
    body.landing-master .tm-faq-grid,
    body.landing-master .tm-contact-grid {
        grid-template-columns: 1fr !important;
    }

    body.landing-master #overview,
    body.landing-master #workflow {
        padding: 0.98rem !important;
    }

    body.landing-master #overview .tm-step-grid,
    body.landing-master #workflow .tm-workflow-card-grid {
        padding-inline: 0.08rem;
        gap: 0.92rem !important;
    }

    body.landing-master .tm-stat-card {
        padding: 0.82rem 0.78rem !important;
    }

    body.landing-master .tm-action-row,
    body.landing-master .tm-live-strip {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.landing-master .tm-action-row .tm-btn,
    body.landing-master .tm-live-pill {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
    }

    body.landing-master .tm-live-pill {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        padding: 0.62rem 0.74rem !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere;
    }

    body.landing-master #overview .tm-step-card {
        min-height: 0 !important;
        padding: 0.95rem 0.88rem 0.95rem 4rem !important;
    }

    body.landing-master #overview .tm-step-card::before {
        left: 1.5rem !important;
    }

    body.landing-master #overview .tm-step-card::after {
        left: 0.45rem !important;
        top: 0.96rem !important;
        width: 2rem !important;
        height: 2rem !important;
    }

    body.landing-master #overview .tm-step-card-top {
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 0.45rem !important;
        margin-bottom: 0.58rem !important;
    }

    body.landing-master .tm-step-tag {
        white-space: normal !important;
    }

    body.landing-master #overview .tm-step-card h3,
    body.landing-master #overview .tm-step-card p,
    body.landing-master #workflow .tm-workflow-card-head h3,
    body.landing-master #workflow .tm-workflow-card-body p,
    body.landing-master #workflow .tm-workflow-points li,
    body.landing-master .tm-info-card h3,
    body.landing-master .tm-info-card p,
    body.landing-master .tm-faq-item summary,
    body.landing-master .tm-faq-item p,
    body.landing-master .tm-contact-card p,
    body.landing-master .tm-side-card p {
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body.landing-master #workflow .tm-workflow-card {
        min-height: 0 !important;
    }

    body.landing-master #workflow .tm-workflow-card-head {
        align-items: flex-start !important;
        padding: 0.82rem 0.84rem !important;
    }

    body.landing-master #workflow .tm-workflow-card-body {
        padding: 0.82rem 0.84rem 0.9rem !important;
    }

    body.landing-master #routine-preview .tm-section-head,
    body.landing-master #overview .tm-section-head,
    body.landing-master #workflow .tm-section-head,
    body.landing-master #platform-modules .tm-section-head,
    body.landing-master .tm-faq-section .tm-section-head {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.landing-master #routine-preview .tm-table-shell,
    body.landing-master #routine-preview .tm-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}

/* Final admin navbar responsive lock */
@media (min-width: 981px) {
    html body.role-admin:not(.landing-master) header.topbar.topbar-admin {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 0.75rem !important;
        padding-right: 0.9rem !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle {
        display: none !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .brand-wrap {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.68rem !important;
        min-width: max-content !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions {
        position: static !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        align-items: center !important;
        gap: 0.58rem !important;
        overflow: visible !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0.24rem !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: thin !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link {
        width: auto !important;
        flex: 0 0 auto !important;
        min-height: 2.7rem !important;
        justify-content: center !important;
        padding: 0.48rem 0.76rem !important;
        white-space: nowrap !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .logout-link {
        width: auto !important;
        min-height: 2.7rem !important;
        flex: 0 0 auto !important;
        margin-left: 0 !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav::-webkit-scrollbar {
        height: 6px;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav::-webkit-scrollbar-track {
        background: rgba(208, 221, 242, 0.7);
        border-radius: 999px;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, #6ca8d8, #2d7fb6);
        border-radius: 999px;
    }
}

@media (max-width: 980px) {
    html body.role-admin:not(.landing-master) header.topbar.topbar-admin {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 72px !important;
        padding-top: 0.55rem !important;
        padding-bottom: 0.55rem !important;
        padding-right: 4rem !important;
        padding-left: 1rem !important;
        overflow: visible !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .panel-menu-toggle {
        display: inline-flex !important;
        position: absolute !important;
        top: 50% !important;
        right: 0.5rem !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions {
        display: none !important;
        position: absolute !important;
        top: calc(100% + 0.35rem) !important;
        right: 0.32rem !important;
        left: auto !important;
        width: min(304px, calc(100vw - 0.7rem)) !important;
        border: 1px solid rgba(124, 218, 208, 0.46) !important;
        border-radius: 18px !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 250, 253, 0.98)) !important;
        box-shadow: 0 18px 32px rgba(10, 29, 48, 0.14) !important;
        padding: 0.52rem !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.34rem !important;
        overflow: visible !important;
        z-index: 120 !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .top-actions.is-open {
        display: flex !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0.24rem !important;
        overflow: visible !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .main-nav a.nav-link {
        width: 100% !important;
        min-height: 3rem !important;
        justify-content: flex-start !important;
        padding: 0.2rem 1rem !important;
    }

    html body.role-admin:not(.landing-master) header.topbar.topbar-admin .logout-link {
        width: 100% !important;
        min-height: 3rem !important;
    }
}

/* Unified professional controls + dashboard surface refresh */
body:not(.landing-master) {
    --app-field-border: rgba(125, 148, 172, 0.34);
    --app-field-border-strong: rgba(77, 122, 166, 0.48);
    --app-field-bg: linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(234, 242, 248, 0.95));
    --app-field-text: #18314b;
    --app-field-muted: #708396;
    --app-field-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 14px 28px rgba(17, 37, 54, 0.08);
    --app-field-shadow-focus: 0 0 0 4px rgba(91, 154, 196, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 18px 32px rgba(17, 37, 54, 0.12);
}

body:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
body:not(.landing-master) select,
body:not(.landing-master) textarea {
    appearance: none;
    min-height: 3.1rem;
    border-radius: 16px !important;
    border: 1px solid var(--app-field-border) !important;
    background: var(--app-field-bg) !important;
    color: var(--app-field-text) !important;
    box-shadow: var(--app-field-shadow) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

body:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
body:not(.landing-master) textarea {
    padding: 0.84rem 1rem !important;
}

body:not(.landing-master) select {
    padding-right: 2.85rem !important;
    color: var(--app-field-text) !important;
}

body:not(.landing-master) textarea {
    min-height: 7rem;
    resize: vertical;
}

body:not(.landing-master) input::placeholder,
body:not(.landing-master) textarea::placeholder {
    color: var(--app-field-muted) !important;
}

body:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):focus,
body:not(.landing-master) select:focus,
body:not(.landing-master) textarea:focus,
body:not(.landing-master) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):focus-visible,
body:not(.landing-master) select:focus-visible,
body:not(.landing-master) textarea:focus-visible {
    outline: none;
    border-color: var(--app-field-border-strong) !important;
    box-shadow: var(--app-field-shadow-focus) !important;
    transform: translateY(-1px);
}

body:not(.landing-master) input[readonly],
body:not(.landing-master) textarea[readonly] {
    background: linear-gradient(145deg, rgba(243, 247, 251, 0.98), rgba(228, 236, 243, 0.98)) !important;
    color: #516477 !important;
}

body:not(.landing-master) label {
    color: #2b4258 !important;
    font-weight: 700;
}

body:not(.landing-master) .nap-select-trigger {
    min-height: 3.1rem;
    padding: 0.82rem 3rem 0.82rem 1rem;
    border-radius: 16px;
    border: 1px solid var(--app-field-border);
    background: var(--app-field-bg);
    color: var(--app-field-text);
    box-shadow: var(--app-field-shadow);
    font-weight: 600;
}

body:not(.landing-master) .nap-select-trigger::after {
    border-right-color: rgba(48, 92, 124, 0.88);
    border-bottom-color: rgba(48, 92, 124, 0.88);
}

body:not(.landing-master) .nap-select:hover .nap-select-trigger,
body:not(.landing-master) .nap-select:focus-within .nap-select-trigger,
body:not(.landing-master) .nap-select.is-open .nap-select-trigger {
    border-color: var(--app-field-border-strong);
    background: linear-gradient(145deg, rgba(255, 255, 255, 1), rgba(225, 237, 245, 0.98));
    box-shadow: var(--app-field-shadow-focus);
}

body:not(.landing-master) .nap-select:not(.has-value) .nap-select-trigger {
    color: var(--app-field-muted);
}

body.page-dashboard:not(.landing-master) {
    background:
        radial-gradient(120% 110% at 0% 0%, rgba(173, 216, 230, 0.16), transparent 45%),
        radial-gradient(120% 110% at 100% 0%, rgba(160, 190, 231, 0.14), transparent 42%),
        linear-gradient(180deg, #eff5f8 0%, #e7eef4 100%) !important;
}

body.page-dashboard:not(.landing-master) .dashboard-workbench {
    gap: 1.12rem;
}

body.page-dashboard:not(.landing-master) .dashboard-workbench > .panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(127, 151, 176, 0.2) !important;
    border-radius: 28px !important;
    background:
        radial-gradient(135% 120% at 100% 0%, rgba(119, 170, 208, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(244, 248, 251, 0.99)) !important;
    box-shadow: 0 26px 60px rgba(19, 37, 52, 0.1) !important;
}

body.page-dashboard:not(.landing-master) .dashboard-workbench > .panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #184777 0%, #2d8395 56%, #c58a2d 100%);
    opacity: 0.96;
}

body.page-dashboard:not(.landing-master) .dashboard-workbench > .panel > * {
    position: relative;
    z-index: 1;
}

body.page-dashboard:not(.landing-master) .dashboard-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(124, 149, 172, 0.16);
}

body.page-dashboard:not(.landing-master) .dashboard-panel-head > div {
    display: grid;
    gap: 0.32rem;
}

body.page-dashboard:not(.landing-master) .dashboard-panel-kicker {
    color: #5d7185 !important;
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

body.page-dashboard:not(.landing-master) .dashboard-panel-head h2 {
    margin: 0;
    color: #17304a !important;
    letter-spacing: -0.03em;
}

body.page-dashboard:not(.landing-master) .dashboard-panel-head p {
    margin: 0;
    max-width: 64ch;
    color: #607489 !important;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-grid {
    gap: 0.92rem !important;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-card {
    min-height: 168px;
    border: 1px solid rgba(125, 148, 172, 0.22) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(132% 120% at 100% 0%, rgba(64, 123, 175, 0.12), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #f2f7fb 100%) !important;
    box-shadow: 0 18px 36px rgba(16, 34, 50, 0.08) !important;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-card .metric-label {
    color: #1d3550 !important;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-card strong {
    color: #184777 !important;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-workflow-panel .action-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem !important;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-workflow-panel .workflow-tile {
    min-height: 190px;
    padding: 1.18rem 1.18rem 1.08rem !important;
    border-radius: 22px !important;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-workflow-panel .workflow-tile h3 {
    color: #163250 !important;
    line-height: 1.22;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-workflow-panel .workflow-tile p {
    color: #5c7187 !important;
    line-height: 1.56;
}

body.role-admin.page-dashboard:not(.landing-master) .dashboard-workflow-panel .workflow-tile:hover {
    transform: translateY(-6px) scale(1.012);
}

body.role-faculty.page-dashboard:not(.landing-master) .dashboard-faculty-panel .faculty-summary-grid {
    gap: 1rem !important;
}

body.role-faculty.page-dashboard:not(.landing-master) .dashboard-faculty-panel .faculty-summary-grid .metric-card {
    min-height: 176px;
    border: 1px solid rgba(126, 149, 173, 0.2) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(135% 120% at 100% 0%, rgba(64, 123, 175, 0.1), transparent 44%),
        linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%) !important;
    box-shadow: 0 18px 36px rgba(16, 34, 50, 0.08) !important;
}

body.role-faculty.page-dashboard:not(.landing-master) .dashboard-faculty-panel .faculty-summary-btn {
    margin-top: 0.2rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-panel,
body.role-student.page-dashboard:not(.landing-master) .student-slot-time-config,
body.role-student.page-dashboard:not(.landing-master) .student-builder-checks,
body.role-student.page-dashboard:not(.landing-master) .student-builder-week,
body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-item,
body.role-student.page-dashboard:not(.landing-master) .student-slot-time-row,
body.role-student.page-dashboard:not(.landing-master) .student-builder-entry {
    border: 1px solid rgba(126, 149, 173, 0.2) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(135% 120% at 100% 0%, rgba(74, 132, 181, 0.09), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(243, 248, 251, 0.98)) !important;
    box-shadow: 0 18px 34px rgba(17, 36, 52, 0.08) !important;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-panel > h2,
body.role-student.page-dashboard:not(.landing-master) .student-slot-time-config h3,
body.role-student.page-dashboard:not(.landing-master) .student-builder-checks h3,
body.role-student.page-dashboard:not(.landing-master) .student-builder-week h3,
body.role-student.page-dashboard:not(.landing-master) .student-builder-mobile-list h3 {
    color: #17314d !important;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-panel > p,
body.role-student.page-dashboard:not(.landing-master) .student-slot-time-note,
body.role-student.page-dashboard:not(.landing-master) .student-slot-count-hint,
body.role-student.page-dashboard:not(.landing-master) .student-builder-week-head p {
    color: #60758a !important;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-count-form,
body.role-student.page-dashboard:not(.landing-master) .student-slot-time-form,
body.role-student.page-dashboard:not(.landing-master) .student-builder-form {
    gap: 1rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-slot-time-row {
    padding: 1rem 1.05rem;
}

body.role-student.page-dashboard:not(.landing-master) .student-builder-actions .btn,
body.role-student.page-dashboard:not(.landing-master) .student-slot-time-actions .btn {
    min-height: 3.1rem;
}

@media (max-width: 980px) {
    body.page-dashboard:not(.landing-master) .dashboard-panel-head {
        flex-direction: column;
        align-items: stretch;
    }

    body.page-dashboard:not(.landing-master) .dashboard-workbench {
        gap: 1rem;
    }
}

/* Professional workspace refresh for admin tool pages */
body.app-authenticated:not(.landing-master) .nap-select-panel {
    border-radius: 22px;
    border: 1px solid rgba(102, 135, 161, 0.24);
    background:
        radial-gradient(145% 120% at 100% 0%, rgba(79, 138, 181, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(236, 243, 248, 0.99));
    box-shadow: 0 30px 56px rgba(14, 30, 45, 0.18), 0 12px 24px rgba(14, 30, 45, 0.08);
}

body.app-authenticated:not(.landing-master) .nap-select-option-list {
    gap: 0.26rem;
    padding: 0.08rem;
}

body.app-authenticated:not(.landing-master) .nap-select-group-label {
    padding: 0.58rem 0.88rem 0.3rem;
    color: #607489;
    font-size: 0.7rem;
    letter-spacing: 0.14em;
}

body.app-authenticated:not(.landing-master) .nap-select-option {
    min-height: 3rem;
    padding: 0.76rem 0.94rem;
    border-radius: 14px;
    font-weight: 600;
}

body.app-authenticated:not(.landing-master) .nap-select-option:hover,
body.app-authenticated:not(.landing-master) .nap-select-option:focus-visible {
    border-color: rgba(86, 131, 163, 0.26);
    background: linear-gradient(145deg, rgba(241, 248, 252, 0.98), rgba(226, 239, 246, 0.96));
}

body.app-authenticated:not(.landing-master) .nap-select-option.is-selected {
    border-color: rgba(28, 88, 132, 0.28);
    background: linear-gradient(145deg, #2d6eb6, #1d4f8f);
    box-shadow: 0 12px 20px rgba(29, 79, 143, 0.24);
}

body.app-authenticated.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-grid {
    gap: 0.96rem !important;
}

body.app-authenticated.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-card {
    position: relative;
    min-height: 178px;
    padding: 1.22rem 1.18rem !important;
    border: 1px solid rgba(122, 146, 171, 0.22) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(138% 120% at 100% 0%, rgba(68, 126, 176, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(243, 248, 251, 0.99)) !important;
    box-shadow: 0 18px 36px rgba(16, 34, 50, 0.08) !important;
}

body.app-authenticated.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-card .metric-icon {
    width: 2.8rem;
    height: 2.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(33, 89, 136, 0.12), rgba(71, 141, 166, 0.18));
    color: #174a77;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

body.app-authenticated.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-card .metric-label {
    color: #24415c !important;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.app-authenticated.page-dashboard:not(.landing-master) .dashboard-summary-panel .snapshot-card strong {
    color: #173d66 !important;
    font-size: clamp(1.9rem, 2.4vw, 2.3rem);
    line-height: 1;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) {
    background:
        radial-gradient(120% 100% at 0% 0%, rgba(155, 201, 220, 0.16), transparent 42%),
        radial-gradient(120% 105% at 100% 0%, rgba(173, 196, 232, 0.14), transparent 44%),
        linear-gradient(180deg, #eef4f7 0%, #e7eef4 100%) !important;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .page-grid {
    gap: 1.14rem;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .page-grid > .panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(124, 149, 172, 0.2) !important;
    border-radius: 28px !important;
    background:
        radial-gradient(138% 120% at 100% 0%, rgba(86, 145, 183, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(244, 248, 251, 0.99)) !important;
    box-shadow: 0 24px 54px rgba(17, 35, 50, 0.09) !important;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .page-grid > .panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #184777 0%, #2d7f96 58%, #c58a2d 100%);
    opacity: 0.96;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .page-grid > .panel > * {
    position: relative;
    z-index: 1;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .page-grid > .panel > h2:first-child {
    margin: 0 0 0.45rem;
    color: #17314b !important;
    letter-spacing: -0.03em;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .page-grid > .panel > p,
body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-toolbar-meta,
body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .muted {
    color: #607489 !important;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .form-grid > label,
body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-import-form > label,
body.app-authenticated.page-bulk-import:not(.landing-master) .student-csv-upload-form > label,
body.app-authenticated.page-bulk-import:not(.landing-master) .faculty-csv-import-form > label {
    display: grid;
    gap: 0.42rem;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .form-grid,
body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-import-form,
body.app-authenticated.page-bulk-import:not(.landing-master) .student-csv-upload-form,
body.app-authenticated.page-bulk-import:not(.landing-master) .faculty-csv-import-form {
    gap: 1rem 1.1rem;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .btn {
    min-height: 3rem;
    border-radius: 16px;
    box-shadow: 0 14px 24px rgba(17, 36, 52, 0.12);
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .btn-outline {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(231, 239, 246, 0.96));
    color: #1f476c;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-wrap {
    border: 1px solid rgba(127, 151, 176, 0.18);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(250, 252, 253, 0.98), rgba(242, 247, 250, 0.98));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
    overflow: auto;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-wrap table:not(.routine-table) {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-wrap table:not(.routine-table) thead th {
    padding: 0.92rem 1rem;
    border: none;
    background: linear-gradient(180deg, rgba(226, 236, 243, 0.98), rgba(216, 228, 237, 0.98));
    color: #1e3c58;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-wrap table:not(.routine-table) tbody tr {
    background: rgba(255, 255, 255, 0.92);
    transition: background 0.18s ease, transform 0.18s ease;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-wrap table:not(.routine-table) tbody tr:nth-child(even) {
    background: rgba(246, 250, 252, 0.96);
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-wrap table:not(.routine-table) tbody tr:hover {
    background: rgba(237, 245, 250, 0.98);
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-wrap table:not(.routine-table) tbody td {
    border-top: 1px solid rgba(220, 230, 238, 0.9);
    color: #25425b;
    vertical-align: top;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-toolbar,
body.app-authenticated.page-bulk-import:not(.landing-master) .inline-row-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    flex-wrap: wrap;
}

body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master):not(.landing-master) .pagination-wrap {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(126, 149, 172, 0.16);
}

body.app-authenticated.page-manage-master:not(.landing-master) .key-scheduling-panel,
body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-import-panel,
body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-panel {
    background:
        radial-gradient(145% 125% at 100% 0%, rgba(42, 110, 165, 0.16), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.998), rgba(240, 247, 251, 0.99)) !important;
}

body.app-authenticated.page-manage-master:not(.landing-master) .master-submit-btn,
body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-panel .btn {
    align-self: end;
}

body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-saved-panel {
    background:
        radial-gradient(132% 120% at 100% 0%, rgba(74, 129, 171, 0.08), transparent 44%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(244, 248, 251, 0.99)) !important;
}

body.app-authenticated.page-manage-master:not(.landing-master) .inline-edit-row td {
    background: rgba(243, 248, 251, 0.98);
}

body.app-authenticated.page-manage-master:not(.landing-master) .fixed-slot-grid {
    gap: 0.75rem;
}

body.app-authenticated.page-manage-master:not(.landing-master) .fixed-slot-option {
    border-radius: 18px !important;
    border: 1px solid rgba(123, 148, 172, 0.2) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(242, 247, 251, 0.98)) !important;
    box-shadow: 0 10px 18px rgba(17, 36, 52, 0.06);
}

body.page-view-data.role-admin:not(.landing-master) .view-data-landing-panel {
    background:
        radial-gradient(138% 122% at 100% 0%, rgba(64, 146, 202, 0.14), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.998), rgba(241, 248, 251, 0.994));
}

body.page-view-data.role-admin:not(.landing-master) .view-data-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.9fr);
    gap: 1rem 1.15rem;
    align-items: start;
    margin-bottom: 1rem;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-hero-copy {
    display: grid;
    gap: 0.42rem;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-kicker,
body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    border: 1px solid rgba(110, 140, 168, 0.2);
    background: rgba(248, 251, 253, 0.92);
    color: #315773;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-hero h2 {
    margin: 0;
    color: #173553;
    font-size: clamp(1.7rem, 2.6vw, 2.3rem);
    line-height: 1.12;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-hero .muted {
    max-width: 58ch;
    font-size: 1rem;
    line-height: 1.68;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-overview-card {
    display: grid;
    gap: 0.28rem;
    padding: 0.95rem 1rem;
    border-radius: 22px;
    border: 1px solid rgba(123, 147, 170, 0.18);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.994), rgba(244, 248, 251, 0.99));
    box-shadow: 0 14px 24px rgba(17, 36, 52, 0.06);
}

body.page-view-data.role-admin:not(.landing-master) .view-data-overview-card span {
    color: #62798c;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-overview-card strong {
    color: #173553;
    font-size: 1.18rem;
    line-height: 1.1;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
    margin-top: 0.7rem;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.8rem;
    align-items: start;
    width: 100%;
    min-height: 0;
    padding: 1rem 1.05rem;
    border-radius: 26px;
    border: 1px solid rgba(126, 149, 172, 0.2);
    background:
        radial-gradient(130% 118% at 100% 0%, rgba(70, 130, 180, 0.12), transparent 44%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.996), rgba(241, 247, 251, 0.992));
    box-shadow: 0 18px 34px rgba(17, 36, 52, 0.08);
    color: #203f5e;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile:hover {
    transform: translateY(-2px);
    border-color: rgba(100, 137, 172, 0.34);
    box-shadow: 0 24px 38px rgba(17, 36, 52, 0.12);
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile.pill-active,
body.page-view-data.role-admin:not(.landing-master) .view-data-tile[aria-pressed="true"] {
    border-color: rgba(31, 71, 108, 0.48);
    background:
        radial-gradient(132% 120% at 100% 0%, rgba(70, 130, 180, 0.18), transparent 44%),
        linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(235, 244, 249, 0.995));
    box-shadow: 0 26px 40px rgba(17, 36, 52, 0.16);
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(117, 163, 213, 0.3), 0 24px 38px rgba(17, 36, 52, 0.12);
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile-icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94), 0 10px 18px rgba(17, 36, 52, 0.08);
    font-size: 1.45rem;
    line-height: 1;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile-copy {
    display: grid;
    gap: 0.34rem;
    min-width: 0;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile-meta {
    color: #315773;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile-title {
    color: #1d3e5f;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.24;
    overflow-wrap: anywhere;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile-text {
    color: #5c7387;
    font-size: 0.88rem;
    line-height: 1.5;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile-side {
    display: grid;
    justify-items: end;
    gap: 0.48rem;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.9rem;
    min-height: 2.2rem;
    padding: 0.3rem 0.72rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(120, 144, 169, 0.18);
    color: #1f476c;
    font-size: 0.9rem;
    font-weight: 800;
}

body.page-view-data.role-admin:not(.landing-master) .view-data-tile-cta {
    color: #315773;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-panel {
    background:
        radial-gradient(135% 122% at 100% 0%, rgba(64, 146, 202, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.998), rgba(242, 247, 251, 0.994));
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.9rem 1rem;
    flex-wrap: wrap;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-header h2 {
    margin: 0.18rem 0 0;
    color: #173553;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-header .muted {
    margin: 0.3rem 0 0;
    line-height: 1.6;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 0.9rem;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-stat {
    display: grid;
    gap: 0.12rem;
    min-width: 9.4rem;
    padding: 0.72rem 0.88rem;
    border-radius: 18px;
    border: 1px solid rgba(120, 144, 169, 0.18);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-stat strong {
    color: #173553;
    font-size: 1rem;
    line-height: 1.15;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-stat span {
    color: #62798c;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-back-link {
    min-width: 12rem;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-filter-bar {
    margin: 1rem 0 0.2rem;
    background:
        radial-gradient(135% 120% at 100% 0%, rgba(76, 133, 176, 0.08), transparent 42%),
        linear-gradient(180deg, rgba(250, 252, 253, 0.98), rgba(243, 248, 251, 0.98));
    box-shadow: 0 14px 24px rgba(17, 36, 52, 0.06);
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-filter-bar .btn {
    align-self: end;
}

body.page-view-data-list.role-admin:not(.landing-master) .view-data-filter-bar .master-filter-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(120, 144, 169, 0.16);
}

@media (min-width: 1200px) {
    body.page-view-data.role-admin:not(.landing-master) .view-data-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1080px) {
    body.page-view-data.role-admin:not(.landing-master) .view-data-hero {
        grid-template-columns: 1fr;
    }

    body.page-view-data.role-admin:not(.landing-master) .view-data-overview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.page-view-data.role-admin:not(.landing-master) .view-data-overview-grid {
        grid-template-columns: 1fr;
    }

    body.page-view-data.role-admin:not(.landing-master) .view-data-card-grid {
        grid-template-columns: 1fr;
    }

    body.page-view-data.role-admin:not(.landing-master) .view-data-tile {
        min-height: 0;
    }

    body.page-view-data.role-admin:not(.landing-master) .view-data-tile-side {
        justify-items: start;
    }

    body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-header {
        flex-direction: column;
    }

    body.page-view-data-list.role-admin:not(.landing-master) .view-data-back-link {
        min-width: 0;
        width: 100%;
    }

    body.page-view-data-list.role-admin:not(.landing-master) .view-data-list-stat {
        min-width: 0;
        flex: 1 1 100%;
    }
}

body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-import-layout,
body.app-authenticated.page-bulk-import:not(.landing-master) .student-csv-import-layout,
body.app-authenticated.page-bulk-import:not(.landing-master) .faculty-csv-import-layout,
body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-reference-grid {
    gap: 1rem;
}

body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-upload-pane,
body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-example-pane,
body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-reference-card,
body.app-authenticated.page-bulk-import:not(.landing-master) .student-csv-upload-pane,
body.app-authenticated.page-bulk-import:not(.landing-master) .student-csv-example-pane,
body.app-authenticated.page-bulk-import:not(.landing-master) .faculty-csv-upload-pane,
body.app-authenticated.page-bulk-import:not(.landing-master) .faculty-csv-example-pane {
    border-radius: 24px;
    border: 1px solid rgba(126, 149, 172, 0.18);
    background:
        radial-gradient(135% 120% at 100% 0%, rgba(76, 133, 176, 0.1), transparent 44%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(243, 248, 251, 0.99));
    box-shadow: 0 18px 34px rgba(17, 36, 52, 0.08);
}

body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-column-tags code,
body.app-authenticated.page-bulk-import:not(.landing-master) .student-csv-column-tags code,
body.app-authenticated.page-bulk-import:not(.landing-master) .faculty-csv-column-tags code {
    border-radius: 999px;
    border: 1px solid rgba(117, 143, 170, 0.22);
    background: rgba(248, 251, 253, 0.96);
    color: #21405d;
}

body.app-authenticated.page-bulk-import:not(.landing-master) .master-csv-sample,
body.app-authenticated.page-bulk-import:not(.landing-master) .student-csv-sample,
body.app-authenticated.page-bulk-import:not(.landing-master) .faculty-csv-sample {
    border-radius: 20px;
    border: 1px solid rgba(125, 148, 172, 0.18);
    background: linear-gradient(180deg, rgba(247, 250, 252, 0.98), rgba(239, 245, 249, 0.98));
    color: #284660;
}

body.app-authenticated.page-bulk-import:not(.landing-master) #data-import-validation-errors ol {
    margin: 0;
    padding-left: 1.2rem;
    display: grid;
    gap: 0.48rem;
}

body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-filter-form,
body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-editor-form {
    gap: 1rem 1.1rem;
}

body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-editor-form .slot-builder-slots-field,
body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-editor-form .slot-builder-tiffin-field,
body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-editor-form .btn {
    align-self: stretch;
}

body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-panel .muted,
body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-saved-panel .muted {
    line-height: 1.6;
}

body.app-authenticated.page-slot-builder:not(.landing-master) .slot-builder-saved-panel .table-wrap a {
    font-weight: 700;
    color: #21547f;
}

@media (max-width: 980px) {
    body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .page-grid {
        gap: 1rem;
    }

    body.app-authenticated:is(.page-students, .page-faculty, .page-manage-master, .page-bulk-import, .page-slot-builder, .page-generate):not(.landing-master) .table-toolbar,
    body.app-authenticated.page-bulk-import:not(.landing-master) .inline-row-actions {
        align-items: stretch;
    }
}

