        html, body {
            overscroll-behavior-y: none;
        }
        
        .container-fluid {
            max-height: 100vh;
        }
        * { font-family: 'Noto Sans TC', 'Open Sans', sans-serif; }
        body { padding-bottom: 50px; visibility: hidden; }
        h2 { text-align: center; font-size: 24px;}
        h3 { text-align: center; font-size: 18px; margin-bottom:0px; }
        .heading {
            font-family: 'Open Sans', sans-serif; 
            background-color: #bd3033;
            color: #fff;
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
        }
        
        #table {
            font-size: 36px;
            text-align: center;
            font-weight: 700;
        }
        
        #referee,
        #cat,
        #payment,
        #remark
        {
            margin-top: 0px;
            font-size: 52px;
            text-align: center;
            font-wieght: 700;
        }
        #referee,
        #cat,
        #prof,
        #remark,
        #id  {
            font-size: 16px;
        }
        
        .unpaid {
            color: red;
        }
        
        .paid {
            color: green;
        }
        
        #register {
            display: block;
            background-color: #bd3033;
            width: 100%;
            margin: 30px auto;
            min-height: 50px;
        }
        
        #credit {
            display: block;
            margin: 0 auto;
            width: 100%;
            position: fixed;
            bottom: 2px;
            text-align: center;
            font-size: 12px;
            font-style: italic;
        }

        #credit .logo {
            width: auto;
            max-height: 64px;
        }
        
        .select2-container .select2-selection--single {
            min-height: 50px;
        }
        
        .select2-container .select2-selection--single .select2-selection__rendered {
            padding-top: 10px;
        }
        
        .select2-container--default .select2-selection--single .select2-selection__arrow {
            top: 15px;
            right: 20px;
        }
        
        .select2-results__option {
            white-space: nowrap; /* Prevent text from wrapping */
            overflow: hidden; /* Hide overflowing text */
            text-overflow: ellipsis; /* Show "..." if text is too long */
            max-width: 100%; /* Ensure the text stays within the box */
        }

        .select2-container--default .select2-results > .select2-results__options {
            max-height: 15vh;  /* Reduce height */
            overflow-y: auto;   /* Enable scrolling */
        }

        .td-section {
            background-color: #000;
            border: 1px solid #c0c0c0;
            color: #fff;
            padding: 5px 10px;
            text-wrap: nowrap;
        }
        
        .td-content {
            border: 1px solid #c0c0c0;
            padding: 5px 10px;
            background-color: whitesmoke;
            
        }

        #message {
            font-size: 0.8em;
            color: red;
            margin-bottom: 10px;
            text-align: center;
        }

        .showmsg {
            display: block;
            margin: 10px auto;
        }

        .hidemsg {
            display: none;
        }
        
        .form-floating {
            position: relative;
        }

        .floating-label {
            position: absolute;
            left: 12px;
            top: 12px;
            font-size: 1rem;
            color: #6c757d;
            transition: all 0.2s ease-in-out;
            pointer-events: none;
        }

        .form-floating .select2-container--default {
            position: relative;
            height: auto;
        }

        .form-floating .select2-selection--multiple {
            padding-top: 1.5rem;
            min-height: 3.5rem;
        }

        .floating-label.active {
            top: -10px;
            left: 10px;
            font-size: 0.8rem;
            color: #007bff;
            background: white;
            padding: 0 5px;
        }
        
        /* Make radio button square */
        .form-check-input[type="radio"] {
          border-radius: 0; /* removes the circle shape */
          width: 1rem;
          height: 1rem;
        }
        
        /* Add left padding to the container */
        .form-check.form-control {
          padding-left: 10px;
        }

    