html, body {
            height: 100%;
            margin: 0;
            padding: 0;
            font-family: 'Poppins', sans-serif;
            background-color: #fdfdfd;
            color: #333;
            display: flex;
            flex-direction: column;
        }

        main {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: start;
            padding: 40px 20px;
        }

        .container {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 10px; /* add padding to prevent edge overflow */
        }

        form {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px 40px;
            background: #fff;
            padding: 30px;
            border-radius: 10px;
            border: 1px solid #d3d3a9;
        }

        form h2 {
            grid-column: span 2;
        }

        label {
            font-weight: 600;
            margin-bottom: 5px;
            display: block;
        }

        input[type="text"],
        input[type="email"],
        input[type="number"],
        input[type="url"],
        select,
        textarea {
            width: 100%;
            box-sizing: border-box;
            padding: 10px 14px;
            border: 2px solid #c3c361;
            border-radius: 8px;
            font-size: 14px;
            color: #333;
            background-color: #fff;
            outline: none;
            transition: 0.2s;
        }

        input:focus,
        select:focus,
        textarea:focus {
            border-color: #8a9e3f;
        }

        .custom-multiselect {
            position: relative;
            border: 2px solid #B4B671;
            border-radius: 8px;
            background: #fff;
            padding: 8px;
            min-height: 44px;
            cursor: pointer;
        }

        .custom-multiselect .search-input {
            width: 100%;
            padding: 8px 12px;
            border: none;
            outline: none;
            background: transparent;
            font-size: 14px;
            margin-top: 6px;
        }

        .custom-multiselect .selected-items {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }

        .custom-multiselect .selected-items span {
            background: #B4B671;
            padding: 4px 10px;
            border-radius: 20px;
            color: white;
            font-size: 13px;
            display: flex;
            align-items: center;
        }

        .custom-multiselect .selected-items span .remove {
            margin-left: 8px;
            cursor: pointer;
            font-weight: bold;
        }

        .custom-multiselect .dropdown-btn {
            margin-top: 6px;
            color: #999;
        }

        .custom-multiselect .dropdown-list {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: white;
            border: 1px solid #B4B671;
            border-radius: 4px;
            z-index: 100;
            display: none;
            max-height: 200px;
            overflow-y: auto;
        }

        .custom-multiselect.show .dropdown-list {
            display: block;
        }

        .dropdown-list div {
            padding: 8px 12px;
            cursor: pointer;
        }

        .dropdown-list div:hover {
            background: #f0f0e8;
        }

        .dropdown-list div.hidden {
            display: none;
        }

        .dropdown-list .no-results {
            padding: 8px 12px;
            color: #999;
            font-style: italic;
            text-align: center;
        }

        .styled-file-input {
            padding: 10px;
            border: 4px solid #B4B671;
            border-radius: 6px;
            background-color: #f8f9fb;
            color: #6c757d;
            font-family: 'Poppins', sans-serif;
            cursor: pointer;
            transition: 0.3s ease;
        }

        .styled-file-input:hover {
            background-color: #eef1f5;
            border-color: #7d81a3;
        }

        .checkbox-group {
        grid-column: span 2;
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 20px;
        }

        .checkbox-group input[type="checkbox"] {
        transform: scale(1.2);
        }


        button {
            grid-column: span 2;
            padding: 12px;
            background-color: #B4B671;
            color: white;
            border: none;
            border-radius: 8px;
            font-size: 20px;
            cursor: pointer;
            font-family: 'Poppins', sans-serif;
            transition: 0.3s ease-in-out;
        }

        button:hover {
            background-color: #4F6E4C;
            filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.6));
            transform: scale(1.05);
        }
        
        #loadingSpinner {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: rgba(255,255,255,0.8);
          display: flex;
          justify-content: center;
          align-items: center;
          z-index: 9999;
        }
        
        .spinner {
          border: 8px solid #f3f3f3;
          border-top: 8px solid #3498db;
          border-radius: 50%;
          width: 60px;
          height: 60px;
          animation: spin 1s linear infinite;
        }
        
        @keyframes spin {
          0% { transform: rotate(0deg); }
          100% { transform: rotate(360deg); }
        }