@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
@import 'tailwindcss';

@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
@source '../../storage/framework/views/*.php';
@source '../**/*.blade.php';
@source '../**/*.js';

@theme {
    --font-sans: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol', 'Noto Color Emoji';
}

:root {
    --university-ink: #102a43;
    --university-blue: #1769aa;
    --university-gold: #d49b2a;
    --university-mist: #f3f7fb;
}

body {
    font-family: 'Plus Jakarta Sans', ui-sans-serif, sans-serif;
}

.university-display {
    font-family: 'DM Serif Display', Georgia, serif;
}

.university-shell {
    background: radial-gradient(circle at 10% 0%, #e4f0fb 0, transparent 32%), var(--university-mist);
}

.university-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--university-gold), #f2c866);
    color: var(--university-ink);
    font-weight: 800;
    letter-spacing: .06em;
    box-shadow: 0 10px 24px rgba(212, 155, 42, .24);
}

.university-footer {
    border-top: 1px solid #dbe7f0;
    background: #102a43;
    color: #c8d8e7;
}

.dashboard-card {
    border: 1px solid #e1eaf1;
    border-radius: 20px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 30px rgba(16, 42, 67, .07);
}

.admin-shell {
    --admin-ink: #102a43;
    --admin-blue: #1769aa;
    --admin-cyan: #0ea5c6;
    --admin-mist: #f4f7fb;
    background: var(--admin-mist);
}

.admin-shell .main-sidebar,
.admin-shell .main-sidebar::before {
    background: linear-gradient(180deg, #102a43 0%, #0b2238 100%);
}

.admin-shell .main-sidebar {
    border-right: 1px solid rgba(255, 255, 255, .08);
}

.admin-brand {
    display: flex !important;
    align-items: center;
    min-height: 76px;
    border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
    color: #fff !important;
}

.admin-brand .brand-text {
    font-size: .86rem;
    line-height: 1.2;
    letter-spacing: .02em;
}

.admin-brand small {
    color: #8fd9eb;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-brand-mark {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    background: #1769aa;
    color: #fff;
    font-weight: 800;
}

.admin-shell .user-panel {
    border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
}

.admin-shell .nav-sidebar .nav-link {
    margin: 3px 12px;
    border-radius: 9px;
    color: #b8cbdc;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.admin-shell .nav-sidebar .nav-link:hover {
    background: rgba(255, 255, 255, .08);
    color: #fff;
    transform: translateX(2px);
}

.admin-shell .nav-sidebar .nav-link.active {
    background: linear-gradient(90deg, #1769aa, #1387b4);
    box-shadow: 0 7px 18px rgba(14, 165, 198, .2);
    color: #fff;
}

.admin-shell .nav-sidebar .nav-icon {
    color: #76c9dc;
}

.admin-shell .nav-sidebar .active .nav-icon {
    color: #fff;
}

.admin-topbar {
    min-height: 66px;
    border-bottom: 1px solid #e4ebf2 !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 4px 18px rgba(16, 42, 67, .04);
}

.admin-menu-toggle,
.admin-site-link {
    color: var(--admin-ink) !important;
}

.admin-site-link {
    font-weight: 600;
}

.admin-user-name {
    color: #647b90;
    font-size: .85rem;
    font-weight: 600;
}

.admin-logout {
    border: 1px solid #f0b7b7;
    border-radius: 8px;
    background: #fff5f5;
    color: #bd3c3c;
    font-weight: 600;
}

.admin-logout:hover {
    background: #bd3c3c;
    color: #fff;
}

.admin-content-wrapper {
    background: var(--admin-mist);
}

.admin-content-header {
    padding: 28px 0 18px;
}

.admin-content-header h1 {
    color: var(--admin-ink);
    font-size: 1.8rem;
    font-weight: 800;
}

.admin-kicker {
    color: var(--admin-blue);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.admin-header-note {
    color: #71879a;
    font-size: .86rem;
}

.admin-shell .content {
    padding-bottom: 24px;
}

.admin-dashboard {
    max-width: 1440px;
    margin: 0 auto;
}

.admin-welcome {
    border: 1px solid #d9e7f0;
    background: linear-gradient(135deg, #ffffff 0%, #eff8fb 100%);
    box-shadow: 0 10px 28px rgba(16, 42, 67, .06);
}

.admin-quick-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border: 1px solid #d8e5ed;
    border-radius: .65rem;
    background: rgba(255, 255, 255, .9);
    padding: .65rem .8rem;
    color: #36556d;
    font-size: .78rem;
    font-weight: 700;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.admin-quick-link:hover {
    border-color: #65b9ca;
    background: #fff;
    color: #087b9d;
}

.admin-stat-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 112px;
    border-top: 1px solid #e1eaf1;
    border-right: 1px solid #e1eaf1;
    border-bottom: 1px solid #e1eaf1;
    border-radius: 1rem;
    background: #fff;
    padding: 1.15rem;
    box-shadow: 0 8px 22px rgba(16, 42, 67, .05);
}

.admin-stat-card p {
    margin: 0;
    color: #71879a;
    font-size: .78rem;
    font-weight: 700;
}

.admin-stat-card strong {
    display: block;
    margin-top: .3rem;
    color: #102a43;
    font-size: 1.8rem;
    line-height: 1;
}

.admin-stat-icon {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: .85rem;
    font-size: 1rem;
}

.admin-shell .content .rounded-3xl,
.admin-shell .content .rounded-2xl {
    border: 1px solid #e1eaf1;
    box-shadow: 0 10px 28px rgba(16, 42, 67, .06);
}

.admin-shell .content input:focus,
.admin-shell .content select:focus,
.admin-shell .content textarea:focus {
    border-color: #43a9c3;
    box-shadow: 0 0 0 3px rgba(14, 165, 198, .12);
}

.admin-footer {
    border-top: 1px solid #dbe5ed;
    background: #fff;
    color: #6b8193;
    font-size: .82rem;
}

.carousel-slide.is-active {
    transform: scale(1);
}

.carousel-content {
    pointer-events: none;
}

.carousel-content.is-active {
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
    .carousel-slide {
        transition: opacity 700ms ease-in-out;
    }
}
