﻿:root {
    --card-bg: #fff;
    --card-border: var(--bs-border-color,#e5e7eb);
    --card-radius: 16px;
    --card-shadow: 0 12px 28px rgba(0,0,0,.06);
    --muted: #6b7280;
    --brand: #0d6efd;
    --success: #00ab55;
}

.page-wrap {
    padding: 2rem 1.25rem;
}

.page-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow);
}

    .page-card .card-body {
        padding: 1.25rem;
    }

.head-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: .75rem
}

.head-title {
    margin: 0;
    font-weight: 800
}

.head-sub {
    margin: 0;
    color: var(--muted)
}

.notice-card {
    border: 1px solid var(--card-border);
    border-radius: 14px;
    padding: 12px 14px;
    background: linear-gradient(180deg,#f8fbff,#fff);
    margin-bottom: 1rem
}

    .notice-card .title {
        font-weight: 700;
        margin-bottom: .25rem
    }

    .notice-card p {
        margin: 0;
        color: var(--muted)
    }

.notice-list {
    margin: .4rem 0 0 1rem
}

/* Empty/blocked state */
.empty-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
    text-align: center
}

.blocker-card {
    max-width: 560px;
    background: #fff;
    border: 1px solid var(--card-border);
    border-radius: 16px;
    box-shadow: var(--card-shadow);
    padding: 28px
}

.blocker-ico {
    width: 84px;
    height: 84px;
    border-radius: 16px;
    border: 1px dashed #d0d7e2;
    display: grid;
    place-items: center;
    margin: 0 auto 12px
}

    .blocker-ico i {
        font-size: 36px;
        color: #6b7280
    }

/* Upload preview boxes */
.upload-section .form-label {
    font-weight: 600
}

.upload-preview-box {
    border: 1px dashed #cfd6e4;
    border-radius: .75rem;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
    background: #fafbff;
    cursor: pointer;
    text-align: center;
    transition: background .15s ease
}

    .upload-preview-box:hover {
        background: #f4f7ff
    }

    .upload-preview-box .hint {
        color: var(--muted);
        font-size: .92rem
    }

    .upload-preview-box img {
        max-height: 110px;
        max-width: 100%;
        border-radius: .5rem
    }

    .upload-preview-box .pdf-preview {
        display: flex;
        flex-direction: column;
        align-items: center
    }

.upload-actions {
    display: flex;
    gap: .5rem;
    margin-top: .5rem
}

.btn-ghost {
    background: transparent;
    border: 1px solid var(--card-border)
}

.btn-elevated {
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(13,110,253,.18)
}

    .btn-elevated:hover {
        transform: translateY(-1px);
        box-shadow: 0 12px 24px rgba(13,110,253,.25)
    }

.form-check-input:checked {
    background-color: #0088d0 !important;
    border-color: #0088d0 !important;
}
