        /* General Reset & Body Styles */
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: #FDF6E3;
            min-height: 100svh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }

       *::-webkit-scrollbar {
            width: 6px;
        }

        *::-webkit-scrollbar-thumb {
            background-color: rgba(0, 0, 0, 0.2);
        }

        *::-webkit-scrollbar-thumb:hover {
            background-color: rgba(0, 0, 0, 0.4);
        }
        
        /* Main container for the form */
        .container {
            width: 100%;
            max-width: 512px; /* Corresponds to max-w-lg */
        }

        /* Card styles for form and success message */
        .card {
            border: 4px solid #000;
            border-radius: 1rem; /* 16px */
            padding: 1.5rem; /* p-6 */
            transition: all 0.3s ease-in-out;
        }

        .form-card {
             background-color: #FFF9EA;
             position: relative;
        }

        /* Doodle Shadow Styles */
        .doodle-shadow {
            box-shadow: 6px 6px 0px 0px #000;
        }
        .doodle-shadow-sm {
            box-shadow: 4px 4px 0px 0px #000;
        }
        
        /* Header styles */
        .form-header {
            text-align: center;
            margin-bottom: 2rem;
        }
        .form-header h1 {
            font-size: 1.5rem; /* text-2xl */
            font-weight: 800; /* font-extrabold */
            color: #000;
        }
        .form-header p {
            color: #4A5568; /* text-gray-600 */
            margin-top: 0.25rem;
            font-weight: 600; /* font-semibold */
        }
        
        /* Form element spacing */
        form > div + div {
            margin-top: 1.5rem;
        }

        /* Form label */
        label {
            font-weight: 700; /* font-bold */
            color: #2D3748; /* text-gray-800 */
            margin-bottom: 0.5rem;
            display: block;
        }
        
        /* Base input styles */
        .form-input {
            width: 100%;
            padding: 0.75rem;
            background-color: #fff;
            border: 2px solid #000;
            border-radius: 0.75rem; /* rounded-xl */
            transition: all 0.3s;
        }
        .form-input:focus {
            outline: none;
            box-shadow: 0 0 0 4px #FBBF24; /* focus:ring-4 focus:ring-yellow-300 */
        }

        /* Phone number input group */
        .input-group {
            display: flex;
            align-items: center;
            background-color: #fff;
            border: 2px solid #000;
            border-radius: 0.75rem; /* rounded-xl */
            overflow: hidden;
        }
        .input-group-prefix {
            display: inline-flex;
            align-items: center;
            padding: 0.75rem 1rem;
            background-color: #E2E8F0; /* bg-gray-200 */
            color: #4A5568; /* text-gray-700 */
            font-weight: 700;
        }
        .input-group .form-input {
            border: none;
            box-shadow: none;
            border-radius: 0;
            flex: 1;
        }

        /* Button styles */
        .btn {
            width: 100%;
            margin-top: 1rem;
            padding: 1rem;
            color: #000;
            font-weight: 700; /* font-bold */
            font-size: 1.125rem; /* text-lg */
            border: 2px solid #000;
            border-radius: 0.75rem; /* rounded-xl */
            cursor: pointer;
            transform: translate(0, 0);
            transition: all 0.15s ease-out;
        }
        .btn-primary {
             background-color: #F97316; /* bg-orange-400 */
        }
        .btn-primary:hover {
            background-color: #EA580C; /* hover:bg-orange-500 */
            box-shadow: 5px 5px 0px 0px #000;
        }
        .btn:active {
            transform: translate(4px, 4px);
            box-shadow: 0px 0px 0px 0px #000 !important;
        }
        .btn:focus {
             outline: none;
             box-shadow: 0 0 0 4px #FDBA74; /* focus:ring-4 focus:ring-orange-300 */
        }

        /* Success Message */
        #success-message {
            display: none;
        }
        .success-card {
            background-color: #D4EDDA;
            text-align: center;
            padding: 2.5rem;
        }
        .success-card h2 {
            font-size: 1.875rem; /* text-3xl */
            font-weight: 800; /* font-extrabold */
            color: #000;
        }
        .success-card p {
            color: #2D3748; /* text-gray-800 */
            margin-top: 0.75rem;
            font-size: 1.125rem; /* text-lg */
        }
        .btn-success {
            margin-top: 2rem;
            padding: 0.75rem 1.5rem;
            background-color: #22C55E; /* bg-green-500 */
            width: auto;
        }
        .btn-success:hover {
             background-color: #16A34A; /* hover:bg-green-600 */
             box-shadow: 5px 5px 0px 0px #000;
        }
         .btn-success:focus {
             box-shadow: 0 0 0 4px #86EFAC; /* focus:ring-green-300 */
        }

        /* Utility */
        .hidden {
            display: none;
        }
        
        /* Modal Styles */
        .modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.6);
            z-index: 1000;
            justify-content: center;
            align-items: center;
            padding: 1rem;
        }
        
        .modal-content {
            width: 100%;
            max-width: 320px;
            border: 4px solid #000;
            border-radius: 1rem;
            padding: 1.5rem;
            text-align: center;
            animation: modal-pop 0.3s ease-out forwards;
            transform: scale(0.8);
            opacity: 0;
        }
        
        @keyframes modal-pop {
            0% {
                transform: scale(0.8);
                opacity: 0;
            }
            100% {
                transform: scale(1);
                opacity: 1;
            }
        }
        
        .success-modal {
            background-color: #D4EDDA;
        }
        
        .error-modal {
            background-color: #F8D7DA;
        }
        
        .modal-icon {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
            font-size: 1.5rem;
            font-weight: 800;
            border: 3px solid #000;
        }
        
        .success-modal .modal-icon {
            background-color: #22C55E;
            color: white;
        }
        
        .error-modal .modal-icon {
            background-color: #EF4444;
            color: white;
        }
        
        .modal-content h3 {
            font-size: 1.5rem;
            font-weight: 800;
            margin-bottom: 0.5rem;
        }
        
        .modal-content p {
            margin-bottom: 1.5rem;
            color: #2D3748;
        }
        
        .btn-error {
            background-color: #EF4444;
            color: white;
        }
        
        .btn-error:hover {
            background-color: #DC2626;
            box-shadow: 5px 5px 0px 0px #000;
        }
        
        .btn-error:focus {
            box-shadow: 0 0 0 4px #FCA5A5;
        }

        /* Custom Dropdown */
        .dropdown {
            position: relative;
            background-color: #fff;
            border: 2px solid #000;
            border-radius: 0.75rem;
        }
        .dropdown-toggle {
            width: 100%;
            background: transparent;
            border: 0;
            padding: 0.75rem 2.5rem 0.75rem 0.75rem;
            text-align: left;
            font-weight: 600;
            cursor: pointer;
        }
        .dropdown-toggle:focus {
            outline: none;
            box-shadow: 0 0 0 4px #FBBF24;
            border-radius: 0.75rem; /* ring should follow corners */
        }
        .dropdown-caret {
            position: absolute;
            right: 0.75rem;
            top: 50%;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            border-top: 8px solid #000;
            transition: transform 0.2s ease;
        }
        .dropdown[aria-expanded="true"] .dropdown-caret,
        .dropdown.open .dropdown-caret {
            transform: translateY(-50%) rotate(180deg);
        }
        .dropdown-menu {
            position: absolute;
            left: -2px;
            right: -2px;
            top: calc(100% + 6px);
            background: #fff;
            border: 2px solid #000;
            border-radius: 0.75rem;
            max-height: 240px;
            overflow: auto;
            z-index: 10;
            display: none;
        }
        .dropdown.open .dropdown-menu {
            display: block;
        }
        .dropdown-option {
            padding: 0.75rem;
            cursor: pointer;
        }
        .dropdown-option:hover,
        .dropdown-option[aria-selected="true"],
        .dropdown-option.active {
            background-color: #FFF3D4; /* light warm tone */
        }
        .dropdown-selected {
            color: #4A5568;
        }

        /* Decorative Star */
        .decorative-star {
            position: absolute;
            top: 20%;
            left: 10px;
            transform: translate(-50%, -50%) rotate(-12deg);
            animation: float-star 15s ease-in-out infinite;
        }
        
        .star {
            width: 5rem; /* slightly larger than before */
            height: 5rem;
            color: #F97316; /* orange-400 instead of green */
            stroke-linecap: round;
            stroke-linejoin: round;
        }
        
        @keyframes float-star {
            0%, 100% { transform: translate(-50%, -50%) rotate(-12deg) scale(1); }
            50% { transform: translate(-45%, -55%) rotate(-5deg) scale(1.05); }
        }

        /* Responsive Styles */
        @media (min-width: 640px) { /* sm breakpoint */
            .card {
                padding: 2.5rem; /* sm:p-10 */
            }
            .form-header h1 {
                font-size: 1.875rem; /* sm:text-3xl */
            }
        }

        @media screen and (max-width:768px) {
            input{
                font-size: 16px;
            }

            *{
                scrollbar-width: none;
                -ms-overflow-style: none;
            }
            *::-webkit-scrollbar {
                display: none;
            }

            body{
                padding: 0 1rem;
            }
        }