body {
            font-family: 'Sarabun', sans-serif;
            background-color: #ffffff;
            color: #000000;
            padding-bottom: 2rem;
        }
        .container {
            max-width: 100%;
            padding: 0 15px;
        }
        @media (min-width: 576px) {
            .container {
                max-width: 540px;
            }
        }
        @media (min-width: 768px) {
            .container {
                max-width: 720px;
            }
        }
        @media (min-width: 992px) {
            .container {
                max-width: 960px;
            }
        }
        @media (min-width: 1200px) {
            .container {
                max-width: 1140px;
            }
        }
        .header-logo {
            width: 450px;
            /* height: 250px; */
            object-fit: contain;
            margin-bottom: 20px;
        }
        .main-title {
            color: #000000;
            font-weight: 700;
            text-align: center;
            margin-bottom: 2rem;
            font-size: 1.8rem;
        }
        @media (max-width: 768px) {
            .main-title {
                font-size: 1.5rem;
                margin-bottom: 1.5rem;
            }
        }
        .section-title-container {
            margin-top: 2rem;
            margin-bottom: 1.5rem;
            padding-bottom: 0.5rem;
            border-bottom: 1.5px solid #e0e0e0;
        }
        .section-title-container h4 {
            color: #23aee3;
            font-weight: 600;
            margin-bottom: 0;
            font-size: 1.3rem;
        }
        @media (max-width: 768px) {
            .section-title-container {
                margin-top: 1.5rem;
                margin-bottom: 1rem;
            }
            .section-title-container h4 {
                font-size: 1.1rem;
            }
        }
        .form-label {
            font-weight: 500;
            color: #333333;
            margin-bottom: 0.3rem;
        }
        .form-control, .form-select {
            border-color: #cccccc;
            font-family: 'Sarabun', sans-serif;
            padding: 0.5rem 0.75rem;
            border-radius: 4px;
        }
        .form-control:focus, .form-select:focus {
            border-color: #23aee3;
            box-shadow: 0 0 0 0.2rem rgba(35, 174, 227, 0.25);
        }
        .btn-submit-lockton {
            background-color: #23aee3;
            border-color: #23aee3;
            color: #ffffff;
            font-weight: 600;
            padding: 0.6rem 1.2rem;
            border-radius: 4px;
            transition: all 0.3s ease;
        }
        .btn-submit-lockton:hover, .btn-submit-lockton:focus {
            background-color: #1b8bb8;
            border-color: #1a87b0;
            color: #ffffff;
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
        .btn-submit-lockton:active {
            transform: translateY(0);
            box-shadow: none;
        }
        .btn-add-person {
            background-color: #28a745;
            border-color: #28a745;
            color: #ffffff;
            font-size: 0.9rem;
            padding: 0.4rem 0.8rem;
        }
        .btn-add-person:hover {
            background-color: #218838;
            border-color: #1e7e34;
            color: #ffffff;
        }
        .btn-remove-person {
            background-color: #dc3545;
            border-color: #dc3545;
            color: #ffffff;
            font-size: 0.9rem;
            padding: 0.4rem 0.8rem;
        }
        .btn-remove-person:hover {
            background-color: #c82333;
            border-color: #bd2130;
            color: #ffffff;
        }
        .error-message {
            color: #d9534f;
            font-size: 0.875em;
            margin-top: 0.25rem;
            display: block;
        }
        .test-mode-banner {
            background-color: #ffc107; 
            color: #000; 
            text-align: center; 
            padding: 10px; 
            font-weight: bold;
            margin-bottom: 20px;
            border-radius: 4px;
        }
        .g-recaptcha {
            margin-bottom: 1.5rem;
            display: flex;
            justify-content: center;
        }
        @media (max-width: 320px) {
            .g-recaptcha {
                transform: scale(0.85);
                transform-origin: 0 0;
            }
        }
        .form-check-label {
            font-weight: normal;
            cursor: pointer;
        }
        .dynamic-section {
            display: none;
            margin-top: 1rem;
            padding: 1.5rem;
            background-color: #f8f9fa;
            border-radius: 8px;
            border: 1px solid #e9ecef;
        }
        .person-card {
            background-color: #ffffff;
            border: 1px solid #dee2e6;
            border-radius: 6px;
            padding: 1rem;
            margin-bottom: 1rem;
            position: relative;
        }
        .person-card h6 {
            color: #23aee3;
            font-weight: 600;
            margin-bottom: 1rem;
        }
        
        /* Preloader styles */
        .preloader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(255, 255, 255, 0.95);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 9999;
            flex-direction: column;
        }
        .preloader-text {
            margin-top: 1rem;
            color: #23aee3;
            font-weight: 600;
            font-size: 1.1rem;
        }
        .pencil {
            display: block;
            width: 8em;
            height: 8em;
        }
        .pencil__body1,
        .pencil__body2,
        .pencil__body3,
        .pencil__eraser,
        .pencil__eraser-skew,
        .pencil__point,
        .pencil__rotate,
        .pencil__stroke {
            animation-duration: 3s;
            animation-timing-function: linear;
            animation-iteration-count: infinite;
        }
        .pencil__body1,
        .pencil__body2,
        .pencil__body3 {
            transform: rotate(-90deg);
        }
        .pencil__body1 {
            animation-name: pencilBody1;
        }
        .pencil__body2 {
            animation-name: pencilBody2;
        }
        .pencil__body3 {
            animation-name: pencilBody3;
        }
        .pencil__eraser {
            animation-name: pencilEraser;
            transform: rotate(-90deg) translate(49px,0);
        }
        .pencil__eraser-skew {
            animation-name: pencilEraserSkew;
            animation-timing-function: ease-in-out;
        }
        .pencil__point {
            animation-name: pencilPoint;
            transform: rotate(-90deg) translate(49px,-30px);
        }
        .pencil__rotate {
            animation-name: pencilRotate;
        }
        .pencil__stroke {
            animation-name: pencilStroke;
            transform: translate(100px,100px) rotate(-113deg);
        }
        
        /* Animations */
        @keyframes pencilBody1 {
            from, to {
                stroke-dashoffset: 351.86;
                transform: rotate(-90deg);
            }
            50% {
                stroke-dashoffset: 150.8;
                transform: rotate(-225deg);
            }
        }
        @keyframes pencilBody2 {
            from, to {
                stroke-dashoffset: 406.84;
                transform: rotate(-90deg);
            }
            50% {
                stroke-dashoffset: 174.36;
                transform: rotate(-225deg);
            }
        }
        @keyframes pencilBody3 {
            from, to {
                stroke-dashoffset: 296.88;
                transform: rotate(-90deg);
            }
            50% {
                stroke-dashoffset: 127.23;
                transform: rotate(-225deg);
            }
        }
        @keyframes pencilEraser {
            from, to {
                transform: rotate(-45deg) translate(49px,0);
            }
            50% {
                transform: rotate(0deg) translate(49px,0);
            }
        }
        @keyframes pencilEraserSkew {
            from, 32.5%, 67.5%, to {
                transform: skewX(0);
            }
            35%, 65% {
                transform: skewX(-4deg);
            }
            37.5%, 62.5% {
                transform: skewX(8deg);
            }
            40%, 45%, 50%, 55%, 60% {
                transform: skewX(-15deg);
            }
            42.5%, 47.5%, 52.5%, 57.5% {
                transform: skewX(15deg);
            }
        }
        @keyframes pencilPoint {
            from, to {
                transform: rotate(-90deg) translate(49px,-30px);
            }
            50% {
                transform: rotate(-225deg) translate(49px,-30px);
            }
        }
        @keyframes pencilRotate {
            from {
                transform: translate(100px,100px) rotate(0);
            }
            to {
                transform: translate(100px,100px) rotate(720deg);
            }
        }
        @keyframes pencilStroke {
            from {
                stroke-dashoffset: 439.82;
                transform: translate(100px,100px) rotate(-113deg);
            }
            50% {
                stroke-dashoffset: 164.93;
                transform: translate(100px,100px) rotate(-113deg);
            }
            75%, to {
                stroke-dashoffset: 439.82;
                transform: translate(100px,100px) rotate(112deg);
            }
        }
        
        /* Mejoras de accesibilidad */
        input[type="file"]:focus {
            outline: 2px solid #23aee3;
        }
        
        /* Animaciones sutiles */
        .form-control, .form-select {
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }
        
        .form-group {
            margin-bottom: 1rem;
        }

        /* Ajustes para dispositivos móviles */
        @media (max-width: 576px) {
            .mb-3 {
                margin-bottom: 1rem !important;
            }
            .btn-submit-lockton {
                padding: 0.75rem 1rem;
            }
        }