
        @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

        :root {
            --brand-mint: #58d3d3;
            --brand-dark: #1e293b;
            --brand-bg: #f0fdfa;
        }

        body {
            font-family: 'Noto+Sans+KR', sans-serif;
            background-color: var(--brand-bg);
            scroll-behavior: smooth;
        }

        .mint-gradient {
            background: linear-gradient(135deg, #58d3d3 0%, #a5f3fc 100%);
        }

        .nav-pill {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(10px);
            border-radius: 999px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
        }

        .tab-content { display: none; transition: all 0.3s ease; }
        .tab-content.active { display: block; animation: slideUp 0.4s ease-out; }

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

        .pricing-card {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .pricing-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1);
        }

        .seat {
            aspect-ratio: 1/1;
            transition: all 0.2s;
            cursor: pointer;
        }
        .seat.occupied { background-color: #fca5a5; border: 2px solid #ef4444; }
        .seat.available { background-color: #d1fae5; border: 2px solid #10b981; }
        .seat.selected { background-color: #93c5fd; border: 2px solid #3b82f6; box-shadow: 0 0 0 4px #dbeafe; }

        /* 좌석 모니터링 시스템 스타일 */
        .seat-map-container {
            position: relative;
            width: 100%;
            min-height: 400px;
            border-radius: 20px;
            background: linear-gradient(135deg, #f0fdfa 0%, #e0f7f4 100%);
            overflow: hidden;
            border: 2px dashed #58d3d3;
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; }
        ::-webkit-scrollbar-thumb { background: #58d3d3; border-radius: 10px; }

        #map { height: 350px; width: 100%; border-radius: 24px; }

        /* 등원 목록 드래그 스타일 */
        .check-in-card {
            transition: all 0.2s ease;
        }
        .check-in-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(236, 72, 153, 0.2);
        }
        .check-in-card.dragging {
            opacity: 0.5;
            transform: scale(0.95);
        }
        .check-in-card[draggable="true"] {
            cursor: grab;
        }
        .check-in-card[draggable="true"]:active {
            cursor: grabbing;
        }

        /* 좌석 드롭 하이라이트 */
        .seat-drop-highlight {
            ring: 4px;
            ring-color: #ec4899;
            transform: scale(1.05);
        }

        /* 등원 목록 스크롤바 */
        #check-in-list::-webkit-scrollbar {
            width: 6px;
        }
        #check-in-list::-webkit-scrollbar-track {
            background: #fce7f3;
            border-radius: 10px;
        }
        #check-in-list::-webkit-scrollbar-thumb {
            background: linear-gradient(135deg, #ec4899, #a855f7);
            border-radius: 10px;
        }

        /* 시험 알람 발광 효과 */
        @keyframes examAlarmPulse {
            0%, 100% {
                transform: scale(1);
                box-shadow: 0 0 30px rgba(34, 197, 94, 0.8), 0 0 60px rgba(34, 197, 94, 0.5);
            }
            50% {
                transform: scale(1.05);
                box-shadow: 0 0 40px rgba(34, 197, 94, 1), 0 0 80px rgba(34, 197, 94, 0.7);
            }
        }

        /* 무지개색 테두리 회전 효과 (투명하고 티명하게) */
        @keyframes rainbowBorderRotate {
            0% {
                box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 12px 3px rgba(239, 68, 68, 0.8),
                            0 0 20px 6px rgba(239, 68, 68, 0.4);
            }
            14.28% {
                box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 12px 3px rgba(255, 159, 64, 0.8),
                            0 0 20px 6px rgba(255, 159, 64, 0.4);
            }
            28.57% {
                box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 12px 3px rgba(34, 197, 94, 0.8),
                            0 0 20px 6px rgba(34, 197, 94, 0.4);
            }
            42.85% {
                box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 12px 3px rgba(59, 130, 246, 0.8),
                            0 0 20px 6px rgba(59, 130, 246, 0.4);
            }
            57.14% {
                box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 12px 3px rgba(168, 85, 247, 0.8),
                            0 0 20px 6px rgba(168, 85, 247, 0.4);
            }
            71.42% {
                box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 12px 3px rgba(236, 72, 153, 0.8),
                            0 0 20px 6px rgba(236, 72, 153, 0.4);
            }
            85.71% {
                box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 12px 3px rgba(139, 92, 246, 0.8),
                            0 0 20px 6px rgba(139, 92, 246, 0.4);
            }
            100% {
                box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 12px 3px rgba(239, 68, 68, 0.8),
                            0 0 20px 6px rgba(239, 68, 68, 0.4);
            }
        }

        /* 핑크색 그라데이션 회전 테두리 효과 (시험 중인 좌석) */
        @keyframes pinkGradientBorderRotate {
            0% {
                box-shadow: 0 10px 30px -10px rgba(236, 72, 153, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 0 3px rgba(236, 72, 153, 0.8),
                            0 0 0 6px rgba(236, 72, 153, 0.5),
                            0 0 0 10px rgba(219, 39, 119, 0.3),
                            0 0 20px 15px rgba(236, 72, 153, 0.2);
            }
            25% {
                box-shadow: 0 10px 30px -10px rgba(236, 72, 153, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 0 3px rgba(244, 114, 182, 0.8),
                            0 0 0 6px rgba(244, 114, 182, 0.5),
                            0 0 0 10px rgba(236, 72, 153, 0.3),
                            0 0 20px 15px rgba(244, 114, 182, 0.2);
            }
            50% {
                box-shadow: 0 10px 30px -10px rgba(236, 72, 153, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 0 3px rgba(251, 146, 181, 0.8),
                            0 0 0 6px rgba(251, 146, 181, 0.5),
                            0 0 0 10px rgba(244, 114, 182, 0.3),
                            0 0 20px 15px rgba(251, 146, 181, 0.2);
            }
            75% {
                box-shadow: 0 10px 30px -10px rgba(236, 72, 153, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 0 3px rgba(251, 113, 133, 0.8),
                            0 0 0 6px rgba(251, 113, 133, 0.5),
                            0 0 0 10px rgba(251, 146, 181, 0.3),
                            0 0 20px 15px rgba(251, 113, 133, 0.2);
            }
            100% {
                box-shadow: 0 10px 30px -10px rgba(236, 72, 153, 0.3), inset 0 1px 0 rgba(255,255,255,0.8),
                            0 0 0 3px rgba(236, 72, 153, 0.8),
                            0 0 0 6px rgba(236, 72, 153, 0.5),
                            0 0 0 10px rgba(219, 39, 119, 0.3),
                            0 0 20px 15px rgba(236, 72, 153, 0.2);
            }
        }

        /* 시험 중 좌석을 위한 회전 그라데이션 테두리 (무지개색) */
        .seat-exam-mode {
            position: relative !important;
        }

        /* 래퍼 요소를 위한 스타일 - JS에서 래퍼를 추가합니다 */
        .seat-exam-wrapper {
            position: relative;
            display: inline-block;
            width: 128px;
            height: 144px;
        }

        .seat-exam-wrapper::before {
            content: '';
            position: absolute;
            inset: -8px;
            border-radius: 1.6rem;
            background: conic-gradient(
                from 0deg,
                #ef4444,
                #f97316,
                #eab308,
                #22c55e,
                #06b6d4,
                #3b82f6,
                #8b5cf6,
                #ec4899,
                #ef4444
            );
            animation: rotateRainbowBorder 4s linear infinite;
            z-index: 0;
        }

        .seat-exam-wrapper::after {
            content: '';
            position: absolute;
            inset: -8px;
            border-radius: 1.6rem;
            background: conic-gradient(
                from 0deg,
                #ef4444,
                #f97316,
                #eab308,
                #22c55e,
                #06b6d4,
                #3b82f6,
                #8b5cf6,
                #ec4899,
                #ef4444
            );
            animation: rotateRainbowBorder 4s linear infinite;
            filter: blur(15px);
            opacity: 0.8;
            z-index: -1;
        }

        .seat-exam-wrapper > * {
            position: relative;
            z-index: 1;
            border-radius: 1.5rem;
        }

        @keyframes rotateRainbowBorder {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* 빠른 펄스 애니메이션 */
        @keyframes pulse-fast {
            0%, 100% {
                opacity: 1;
            }
            50% {
                opacity: 0.7;
            }
        }

        .animate-pulse-fast {
            animation: pulse-fast 1s ease-in-out infinite;
        }
