﻿body {
    background:
        radial-gradient(circle at top right, rgba(13, 110, 253, 0.10), transparent 24rem),
        linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
    color: #1f2937;
}

.hero-section {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.82)),
        linear-gradient(135deg, #d6e6ff 0%, #f8fbff 100%);
}

.navbar-brand {
    letter-spacing: 0.04em;
}

.card {
    border-radius: 1rem;
}

.barcode-panel {
    border: 1px dashed rgba(13, 110, 253, 0.35);
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f3f7ff 100%);
    padding: 2rem 1rem;
}

.barcode-text {
    font-family: Consolas, "Courier New", monospace;
    font-size: 1.1rem;
    letter-spacing: 0.08em;
    word-break: break-all;
}

.barcode-bars {
    height: 5rem;
    border-radius: 0.75rem;
    background:
        repeating-linear-gradient(
            90deg,
            #111827 0,
            #111827 3px,
            #ffffff 3px,
            #ffffff 6px,
            #111827 6px,
            #111827 8px,
            #ffffff 8px,
            #ffffff 11px
        );
}

.member-shell {
    max-width: 1100px;
}

.query-panel {
    backdrop-filter: blur(8px);
    background: rgba(255, 255, 255, 0.78);
}

.result-panel {
    min-height: 14rem;
}

.empty-state {
    border: 1px dashed rgba(108, 117, 125, 0.35);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.62);
}

.metric-card .display-6 {
    font-size: 2rem;
}

.plate-chip {
    border-radius: 999px;
    background: #ffffff;
}

.form-note {
    font-size: 0.875rem;
    color: #6c757d;
}

.readiness-success {
    background: linear-gradient(180deg, rgba(25, 135, 84, 0.06) 0%, rgba(255, 255, 255, 0.92) 100%);
}

.readiness-warning {
    background: linear-gradient(180deg, rgba(255, 193, 7, 0.10) 0%, rgba(255, 255, 255, 0.92) 100%);
}

.admin-ajax-page {
    position: relative;
    transition: opacity 0.18s ease;
}

.admin-ajax-page.admin-ajax-loading {
    opacity: 0.62;
    pointer-events: none;
}

.admin-ajax-page.admin-ajax-loading::after {
    content: "資料更新中...";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: #0d6efd;
    background: rgba(255, 255, 255, 0.42);
    backdrop-filter: blur(2px);
}
