body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, "Helvetica Neue", Arial, sans-serif;
    background: linear-gradient(135deg, #dfe9f3 0%, #ffffff 100%);
    margin: 0;
    padding: 0;
}

.container {
    max-width: 850px;
    margin: 70px auto;
    background: white;
    padding: 40px 50px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
    text-align: center;
}

/* LOGO */
.logo {
    width: 140px;
    margin-bottom: 25px;
    opacity: 0.95;
    border-radius: 50%;
}

h1 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #003366;
}

p {
    color: #444;
    font-size: 16px;
    margin-bottom: 30px;
}

input[type="file"] {
    margin-top: 15px;
    font-size: 15px;
}

#run_xlsx {
    margin-top: 30px;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
    background: #047700;
    color: white;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: 0.3s;
    box-shadow: 0 4px 10px #035000e5;
}

#run_xlsx:hover {
    background: #058601f3;
    box-shadow: 0 6px 18px #046401e5;
}


#run {
    margin-top: 30px;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: 0.3s;
    box-shadow: 0 4px 10px rgba(0, 123, 255, 0.3);
    margin-right: 20px;
}

#run:hover {
    background: #005fcc;
    box-shadow: 0 6px 18px rgba(0, 123, 255, 0.45);
}

#status {
    font-size: 17px;
    font-weight: 500;
    margin-top: 25px;
    color: #003366;
}

#output {
    margin-top: 30px;
    text-align: left;
    font-size: 15px;
    color: #222;
    white-space: pre-wrap;
    word-wrap: break-word;
}

a {
    color: #007bff;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}
footer {
    margin-top: 50px;
    font-size: 14px;
    color: #666;
}
footer a {
    color: #666;
}
footer a:hover {
    text-decoration: underline;
}
footer p {
    margin: 5px 0;
}
footer .highlight {
    color: #007bff;
    font-weight: 600;
}
footer .highlight:hover {
    text-decoration: underline;
}
footer .small {
    font-size: 13px;
    color: #999;
}
footer .small a {
    color: #999;
}
footer .small a:hover {
    text-decoration: underline;
}
footer .emoji {
    font-size: 16px;
    margin-right: 5px;
}
footer .emoji:hover {
    transform: scale(1.1);
    transition: transform 0.2s;
}
footer .spacer {
    margin: 0 5px;
}
footer .heart {
    color: #e25555;
}
footer .heart:hover {
    transform: scale(1.1);
    transition: transform 0.2s;
}
footer .bold {
    font-weight: 600;
}
footer .bold:hover {
    text-decoration: underline;
}
footer .italic {
    font-style: italic;
}
footer .italic:hover {
    text-decoration: underline;
}
footer .underline {
    text-decoration: underline;
}
footer .underline:hover {
    text-decoration: none;
}

/* Responsive Design */
@media (max-width: 600px) {
    .container {
        padding: 30px 20px;
        margin: 40px 15px;
    }

    h1 {
        font-size: 24px;
    }

    button {
        width: 100%;
        padding: 15px 0;
    }
}
/* End of style.css */


.security-box {
    background: #eef6ff;
    border-left: 4px solid #0078ff;
    padding: 15px 18px;
    margin-top: 25px;
    border-radius: 8px;
    font-size: 14px;
    color: #003366;
    line-height: 1.5;
}
.security-box strong {
    font-weight: 600;
}
.security-box ul {
    margin: 10px 0 0 20px;
    padding: 0;
}
.security-box li {
    margin-bottom: 6px;
}
.security-box a {
    color: #007bff;
}
.security-box a:hover {
    text-decoration: underline;
}
.security-box .emoji {
    font-size: 16px;
    margin-right: 5px;
}
.security-box .emoji:hover {
    transform: scale(1.1);
    transition: transform 0.2s;
}
/* End of security-box styles */

.choice_file {
    display: inline-block;
    padding: 12px 18px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #007bff, #0056d6);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Remplacer le bouton natif (Chrome, Firefox, Edge) */
.choice_file::-webkit-file-upload-button {
    visibility: hidden;
}
.choice_file::before {
    content: "📄 Sélectionner des fichiers PDF";
    display: inline-block;
    color: #fff;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

/* Hover */
.choice_file:hover {
    background: linear-gradient(135deg, #006ae6, #004bb4);
    transform: translateY(-1px);
}

/* Bouton enfoncé */
.choice_file:active {
    transform: translateY(1px);
}

/* Accessibilité focus clavier */
.choice_file:focus {
    outline: 2px solid #80bdff;
    outline-offset: 3px;
}


.file-count {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    color: #003366;
    font-weight: 500;
}
.file-count.highlight {
    font-weight: 600;
    color: #007bff;
}
.file-count.highlight:hover {
    text-decoration: underline;
}
.file-count .emoji {
    font-size: 16px;
    margin-right: 5px;
}
.file-count .emoji:hover {
    transform: scale(1.1);
    transition: transform 0.2s;
}
.file-count .bold {
    font-weight: 600;
}
.file-count .bold:hover {
    text-decoration: underline;
}
.file-count .italic {
    font-style: italic;
}
.file-count .italic:hover {
    text-decoration: underline;
}
.file-count .underline {
    text-decoration: underline;
}
.file-count .underline:hover {
    text-decoration: none;
}
/* End of choice_file styles */