:root {
    --bg-main: #FFFBF7;
    --bg-gradient-hero: linear-gradient(135deg, #FFF5F0 0%, #F0F9FF 50%, #FAF5FF 100%);
    --primary-orange: #FF5A36;
    --secondary-teal: #00B4D8;
    --accent-yellow: #FFC300;
    --accent-purple: #7C3AED;
    --trust-blue: #0284C7;
    --text-main: #1E293B;
    --text-sub: #64748B;
    --card-bg: #FFFFFF;
    --card-shadow: 0 10px 30px rgba(15, 23, 42, .06);
    --card-shadow-hover: 0 20px 40px rgba(255, 90, 54, .15);
}
body {
    background: var(--bg-main) !important;
    color: var(--text-main) !important;
    font-family: 'Kanit', sans-serif !important;
}
.hero-container {
    background: var(--bg-gradient-hero) !important;
    color: var(--text-main) !important;
    padding: 60px 20px !important;
    border-radius: 0 0 32px 32px;
}
.hero-container h1 { color: var(--trust-blue); }
.hero-container .text-light { color: var(--text-sub) !important; }
.hero-container + section { background: var(--bg-main) !important; }
.btn-orange-cta, .btn-green-line {
    color: #FFF !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    padding: 14px 32px !important;
    border: none !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}
.btn-orange-cta {
    background: linear-gradient(90deg, #FF5A36 0%, #FF7A00 100%) !important;
    box-shadow: 0 10px 25px rgba(255, 90, 54, .35) !important;
}
.btn-orange-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 30px rgba(255, 90, 54, .5) !important;
}
.btn-green-line {
    background: linear-gradient(90deg, #00C73C 0%, #10B981 100%) !important;
    box-shadow: 0 10px 25px rgba(16, 185, 129, .3) !important;
}
.feature-card, .about-card {
    background: var(--card-bg) !important;
    border-radius: 20px !important;
    border: 1px solid rgba(226, 232, 240, .8) !important;
    box-shadow: var(--card-shadow) !important;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s ease, border-color .3s ease !important;
}
.feature-card:hover, .about-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--card-shadow-hover) !important;
    border-color: var(--primary-orange) !important;
}
.feature-card h4.text-dark { color: var(--text-main) !important; }
.feature-card .text-secondary { color: var(--text-sub) !important; }
.university-banner {
    background: linear-gradient(90deg, #0F172A 0%, #1E293B 100%) !important;
    padding: 24px 16px !important;
    border-radius: 16px !important;
}
.university-chip {
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(0, 180, 216, .5) !important;
    color: #00B4D8 !important;
    font-weight: 600 !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
}
footer {
    background: #0F172A !important;
    color: #F8FAFC !important;
    border-top: 4px solid var(--primary-orange) !important;
}
.btn-orange-cta:focus-visible, .btn-green-line:focus-visible {
    outline: 3px solid var(--trust-blue);
    outline-offset: 5px;
}
@media (prefers-reduced-motion: reduce) {
    .feature-card, .about-card, .btn-orange-cta, .btn-green-line { transition: none !important; }
    .feature-card:hover, .about-card:hover, .btn-orange-cta:hover { transform: none !important; }
}

/* Shared palette for existing public and staff screens. */
:root { --primary-navy: #0284C7; --secondary-maroon: #FF5A36; --accent-gold: #FFC300; --accent-sky: #00B4D8; --bg-light: #FFFBF7; --text-dark: #1E293B; }
body > section.bg-light, .content-wrapper { background: var(--bg-main) !important; }
.card, .tut-stat-tile, .accordion-item, .modal-content {
    border-radius: 20px !important;
    border-color: #e2e8f0;
    box-shadow: var(--card-shadow) !important;
}
.tut-stat-tile { background: var(--card-bg); }
.tut-stat-tile:hover { transform: translateY(-6px); box-shadow: var(--card-shadow-hover) !important; }
.about-card, .about-card .text-white, .about-card .text-light { color: var(--text-main) !important; }
.hero-container > .container { color: var(--text-main); }
.hero-container h1, .hero-container h2 { color: var(--trust-blue) !important; }
.hero-container p.text-white, .hero-container p.text-light, .hero-container li { color: var(--text-sub) !important; }
.hero-container .bg-opacity-10 { background: rgba(255,255,255,.8) !important; border-color: #e2e8f0 !important; }
.hero-container .breadcrumb a, .hero-container .breadcrumb-item { color: #0369a1 !important; }
.btn-danger:not(.btn-sm), .btn-orange-cta { background: linear-gradient(90deg,#FF5A36,#FF7A00) !important; border-color: transparent !important; border-radius: 50px !important; box-shadow: 0 10px 25px rgba(255,90,54,.25) !important; }
a.btn[href*="lin.ee"], .btn-green-line { background: linear-gradient(90deg,#00C73C,#10B981) !important; border-color: transparent !important; border-radius: 50px !important; box-shadow: 0 10px 25px rgba(16,185,129,.3) !important; }
.form-control, .form-select { border-radius: 12px; border-color: #cbd5e1; }
.form-control:focus, .form-select:focus { border-color: var(--secondary-teal); box-shadow: 0 0 0 .2rem rgba(0,180,216,.15); }
.form-control.is-invalid, .form-select.is-invalid { border-color: #dc3545; }
.accordion-button:not(.collapsed) { background: #F0F9FF; color: #0369a1; }
.navbar-custom .nav-link.active { color: #c43f22 !important; }
.university-banner .university-chip { display: inline-block; margin: 0 !important; white-space: normal; }
.university-banner .university-list { background: transparent !important; box-shadow: none !important; border-radius: 0 !important; }
body.admin-theme #sidebar { background: linear-gradient(180deg,#0F172A,#1E293B) !important; color: #F8FAFC; }
body.admin-theme #sidebar a { color: #e2e8f0; }
body.admin-theme #sidebar li.active > a, body.admin-theme #sidebar a:hover { background: #0284C7; color: white; }

@media (prefers-reduced-motion: reduce) { .tut-stat-tile:hover { transform: none !important; } }

.hero-container h5.text-warning { color: #a34a08 !important; }
.hero-container .text-warning.fw-bold { color: #a34a08 !important; }
