/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com */
*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}

/* Variables CSS pour les couleurs dark */
:root {
  --dark-50: #f8fafc;
  --dark-100: #f1f5f9;
  --dark-200: #e2e8f0;
  --dark-300: #cbd5e1;
  --dark-400: #94a3b8;
  --dark-500: #64748b;
  --dark-600: #475569;
  --dark-700: #334155;
  --dark-800: #1e293b;
  --dark-900: #0f172a;
}

/* Classes Tailwind essentielles */
.container{width:100%}
@media (min-width:640px){.container{max-width:640px}}
@media (min-width:768px){.container{max-width:768px}}
@media (min-width:1024px){.container{max-width:1024px}}
@media (min-width:1280px){.container{max-width:1280px}}
@media (min-width:1536px){.container{max-width:1536px}}

.mx-auto{margin-left:auto;margin-right:auto}
.p-4{padding:1rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.font-semibold{font-weight:600}
.text-sm{font-size:.875rem;line-height:1.25rem}
.mb-4{margin-bottom:1rem}
.bg-white{background-color:#fff}
.text-gray-900{color:#111827}
.text-gray-600{color:#4b5563}
.text-gray-100{color:#f3f4f6}
.text-gray-400{color:#9ca3af}
.bg-gray-50{background-color:#f9fafb}
.border{border-width:1px}
.border-gray-200{border-color:#e5e7eb}
.rounded-lg{border-radius:.5rem}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.min-w-full{min-width:100%}
.text-left{text-align:left}
.text-center{text-align:center}
.text-xs{font-size:.75rem;line-height:1rem}
.font-medium{font-weight:500}
.uppercase{text-transform:uppercase}
.tracking-wider{letter-spacing:.05em}
.divide-y{border-top-width:0;border-bottom-width:1px}
.divide-gray-200>:not([hidden])~:not([hidden]){border-color:#e5e7eb}
.overflow-hidden{overflow:hidden}
.flex{display:flex}
.justify-between{justify-content:space-between}
.items-center{align-items:center}
.space-x-4>:not([hidden])~:not([hidden]){margin-left:1rem}
.text-blue-600{color:#2563eb}
.hover\:text-blue-800:hover{color:#1e40af}
.text-red-600{color:#dc2626}
.hover\:text-red-800:hover{color:#991b1b}
.min-h-screen{min-height:100vh}
.hidden{display:none}
.block{display:block}
.inline-flex{display:inline-flex}
.gap-2{gap:.5rem}
.mt-4{margin-top:1rem}
.mb-2{margin-bottom:.5rem}
.max-w-md{max-width:28rem}
.w-full{width:100%}
.relative{position:relative}
.absolute{position:absolute}
.right-2{right:.5rem}
.top-1\/2{top:50%}
.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.-translate-y-1\/2{--tw-translate-y:-50%}
.fixed{position:fixed}
.bottom-2rem{bottom:2rem}
.right-2rem{right:2rem}
.z-50{z-index:50}

/* Mode dark */
.dark .bg-white{background-color:var(--dark-800)}
.dark .text-gray-900{color:var(--dark-100)}
.dark .text-gray-600{color:var(--dark-400)}
.dark .text-gray-100{color:var(--dark-100)}
.dark .text-gray-400{color:var(--dark-400)}
.dark .bg-gray-50{background-color:var(--dark-900)}
.dark .border-gray-200{border-color:var(--dark-700)}
.dark .text-blue-600{color:#60a5fa}
.dark .hover\:text-blue-800:hover{color:#3b82f6}
.dark .text-red-600{color:#f87171}
.dark .hover\:text-red-800:hover{color:#ef4444}
.dark .divide-gray-200>:not([hidden])~:not([hidden]){border-color:var(--dark-700)}

/* Classes dark personnalisées */
.dark .dark\:bg-dark-800{background-color:var(--dark-800)}
.dark .dark\:bg-dark-900{background-color:var(--dark-900)}
.dark .dark\:bg-dark-700{background-color:var(--dark-700)}
.dark .dark\:text-gray-100{color:#f3f4f6}
.dark .dark\:text-gray-300{color:#d1d5db}
.dark .dark\:text-gray-400{color:#9ca3af}
.dark .dark\:border-dark-700{border-color:var(--dark-700)}
.dark .dark\:divide-dark-700>:not([hidden])~:not([hidden]){border-color:var(--dark-700)}
.dark .dark\:text-blue-400{color:#60a5fa}
.dark .dark\:hover\:text-blue-300:hover{color:#93c5fd}
.dark .dark\:text-red-400{color:#f87171}
.dark .dark\:hover\:text-red-300:hover{color:#fca5a5}

/* Styles personnalisés pour l'application */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    transition: background-color 0.3s, color 0.3s;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Theme toggle button */
.theme-toggle {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 50;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    width: 3.5rem;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.dark .theme-toggle {
    background: rgba(31, 41, 55, 0.95);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.theme-toggle:hover {
    transform: scale(1.1) rotate(360deg);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2);
}

/* Responsive */
@media (max-width: 768px) {
    .theme-toggle {
        bottom: 1rem;
        right: 1rem;
        width: 3rem;
        height: 3rem;
        font-size: 1rem;
    }
}