/* Container Styling */
    .upload-card {
        max-width: 600px;
        background: #ffffff;
        border: 1px solid #e1e4e8;
        border-radius: 8px;
        padding: 24px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        margin-bottom: 20px;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    }

    .upload-header {
        font-size: 1.1em;
        font-weight: 600;
        margin-bottom: 15px;
        display: block;
    }

    .required-tag { color: #d73a49; font-weight: bold; }

    /* Flex layout for Input and Validate Button */
    .upload-controls {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
        margin-bottom: 15px;
    }

    /* Customizing the File Input appearance */
    input[type="file"] {
        padding: 8px;
        background: #f6f8fa;
        border: 1px dashed #d1d5da;
        border-radius: 6px;
        flex-grow: 1;
    }

    /* Primary Action Buttons */
    .btn-secondary {
        background-color: #0366d6;
        color: white;
        border: none;
        padding: 10px 18px;
        border-radius: 6px;
        font-weight: 500;
        cursor: pointer;
        transition: background 0.2s;
    }
    .btn-secondary:hover { background-color: #0056b3; }
    .btn-secondary:disabled { background-color: #95c2f0; cursor: not-allowed; }

    .btn-cart {
        background-color: #2ea44f;
        color: white;
        border: none;
        padding: 12px 24px;
        border-radius: 6px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: transform 0.1s;
    }
    .btn-cart:hover { background-color: #2c974b; }
    .btn-cart:disabled {
        background-color: #e1e4e8 !important; /* Light grey */
        color: #959da5 !important; /* Muted text */
        border: 1px solid #d1d5da;
        cursor: not-allowed !important; /* The "don't allow" pointer */
        opacity: 1; /* Ensure it's not just transparent */
        transform: none !important;
    }

    #status-msg { font-size: 0.9em; margin-top: 5px; }