body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-body:#f4f6f8;--bg-card:#fff;--text-main:#333;--text-secondary:#555;--border-color:#e0e0e0;--input-bg:#fff;--input-border:#ccc;--header-bg:#000;--header-border:#0000;--btn-hover:#eee;--shadow-color:#0000000d;--accent-color:#000;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--spacing-2xl:40px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:20px;--radius-circle:50%;--shadow-sm:0 2px 4px var(--shadow-color);--shadow-md:0 2px 8px var(--shadow-color);--shadow-lg:0 4px 12px var(--shadow-color);--shadow-xl:0 4px 20px var(--shadow-color);--focus-ring:0 0 0 3px #0003}[data-theme=dark]{--bg-body:#121212;--bg-card:#1e1e1e;--text-main:#e0e0e0;--text-secondary:#b0b0b0;--border-color:#333;--input-bg:#333;--input-border:#555;--header-bg:#000;--header-border:#fff3;--btn-hover:#333;--shadow-color:#00000080;--accent-color:#fff;--focus-ring:0 0 0 3px #ffffff40}html{overflow-y:scroll}body{background-color:var(--bg-body);color:var(--text-main);cursor:default;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;margin:0;transition:background-color .3s ease,color .3s ease;user-select:none;-webkit-user-select:none}.app-container{margin:0 auto 40px;max-width:1100px;padding:0 var(--spacing-lg)}h2,h3{border-bottom:1px solid var(--border-color);color:var(--text-main);font-size:1.1rem;font-weight:800;letter-spacing:1px;margin-bottom:25px;padding-bottom:var(--spacing-md);text-transform:uppercase}.rich-editor,input,select,textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-main);cursor:text;font-family:inherit;font-size:14px;padding:12px;transition:background-color .3s,color .3s,border-color .3s;user-select:text;-webkit-user-select:text;width:100%}.rich-editor{min-height:100px}.rich-editor:focus,input:focus,select:focus,textarea:focus{border-color:var(--text-main);box-shadow:var(--focus-ring);outline:none}.action-btn{background:var(--accent-color);border:none;border-radius:var(--radius-sm);color:var(--bg-card);cursor:pointer;font-size:16px;font-weight:800;letter-spacing:2px;margin-top:var(--spacing-lg);padding:18px;text-transform:uppercase;transition:opacity .3s;width:100%}.action-btn:hover{opacity:.9}[role=button]:focus-visible,a:focus-visible,button:focus-visible{box-shadow:var(--focus-ring);outline:none}.action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-header{background-color:var(--header-bg);border:2px solid var(--header-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-xl);margin-top:var(--spacing-lg);overflow:hidden;padding:var(--spacing-md) 0;text-align:center;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}[data-theme=dark] .app-header{box-shadow:0 0 15px #ffffff26}.app-banner-img{display:block;height:90px;margin:0 auto;max-width:95%;object-fit:contain;width:auto}.tabs-container{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-xl)}.tab-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 25px;text-transform:uppercase;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}.tab-btn:hover{background:var(--btn-hover);color:var(--text-main);transform:translateY(-1px)}.tab-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.tab-btn.active,.tab-btn.active-match{background:var(--accent-color);border-color:var(--accent-color);border-bottom:3px solid #666;color:var(--bg-card)}.tab-btn .dirty-badge{background:#f0ad4e;border-radius:50%;display:inline-block;height:8px;margin-left:6px;vertical-align:middle;width:8px}.tab-btn.active .dirty-badge{background:#fff}.tab-btn--preview{background:#444!important;border-color:#444!important;color:#fff!important}.tab-btn--preview:hover{background:#555!important;color:#fff!important}.tab-btn--danger{background:#d9534f!important;border-color:#d9534f!important;color:#fff!important}.tab-btn--danger:hover{background:#c9302c!important;color:#fff!important}.tab-btn--secondary{background:#666!important;border-color:#666!important;color:#fff!important}.tab-btn--secondary:hover{background:#555!important;color:#fff!important}.card{background:var(--bg-card);box-shadow:var(--shadow-md);margin-bottom:25px;padding:var(--spacing-xl);transition:background-color .3s ease,border-color .3s ease}.card,.display-options{border:1px solid var(--border-color);border-radius:var(--radius-md)}.display-options{background:var(--bg-body);display:flex;flex-direction:column;gap:10px;margin-top:15px;padding:15px}.display-options-label{color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.display-option-row{align-items:center;display:flex;gap:12px}.display-option-toggle{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;min-width:120px}.display-option-toggle input[type=checkbox]{accent-color:var(--accent-color);cursor:pointer;height:18px;width:18px}.display-option-input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);flex:1 1;font-size:14px;max-width:200px;padding:8px 12px;transition:border-color .2s}.display-option-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.progress-container{background:var(--border-color);border-radius:var(--radius-pill);height:10px;overflow:hidden;width:100%}.progress-bar-fill{border-radius:var(--radius-pill);height:100%;transition:width .5s ease}.drop-zone{background:var(--bg-body);border:2px dashed var(--input-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--spacing-2xl);text-align:center;transition:border-color .3s,background-color .3s}.drop-zone:hover{background:var(--bg-card);border-color:var(--text-main)}.drop-zone:focus-visible{border-color:var(--text-main);box-shadow:var(--focus-ring);outline:none}.item-action-btn{align-items:center;background:var(--bg-card);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;display:inline-flex;font-size:1rem;justify-content:center;margin-left:8px;padding:var(--spacing-xs) var(--spacing-sm);transition:background-color .2s ease,border-color .2s ease,color .2s ease}.item-action-btn:hover{background-color:var(--btn-hover);border-color:var(--text-secondary)}.item-action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.item-action-btn.delete-btn{border-color:#d9534f;color:#d9534f}.item-action-btn.delete-btn:hover{background-color:#d9534f;color:#fff}.item-actions-container{align-items:center;display:flex;opacity:1}.theme-toggle-fixed{align-items:center;background-color:#fff;border:2px solid #000;border-radius:var(--radius-circle);box-shadow:0 4px 10px #0000001a;color:#000;cursor:pointer;display:flex;height:50px;justify-content:center;position:fixed;right:25px;top:25px;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;width:50px;z-index:9999}.theme-toggle-fixed:hover{background-color:#000;color:#fff;transform:scale(1.1)}.theme-toggle-fixed:focus-visible{box-shadow:var(--focus-ring);outline:none}[data-theme=dark] .theme-toggle-fixed{background-color:#000;border:2px solid #fff;box-shadow:0 4px 10px #ffffff1a;color:#fff}[data-theme=dark] .theme-toggle-fixed:hover{background-color:#fff;color:#000}.login-container{align-items:center;background:var(--bg-body);display:flex;justify-content:center;min-height:100vh}.login-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:400px;padding:var(--spacing-2xl);text-align:center;width:100%}.login-card h2{color:var(--text-main);margin:var(--spacing-lg) 0}.login-card input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-main);font-size:1em;margin-bottom:var(--spacing-md);padding:12px;width:100%}.login-btn{background:#000;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:1.1em;font-weight:700;padding:12px;transition:background-color .2s;width:100%}.login-btn:hover{background:#333}.login-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-error{color:#f44336;font-weight:700;margin-bottom:var(--spacing-md)}.login-logo{border-radius:var(--radius-md);max-width:100%}.history-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.history-filters input,.history-filters select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-main);flex:1 1;min-width:120px;padding:var(--spacing-sm)}.history-score-filter{align-items:center;color:var(--text-secondary);display:flex;font-size:.85em;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.history-score-filter input[type=range]{flex:1 1}.history-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.history-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;padding:var(--spacing-md) var(--spacing-lg);transition:border-color .2s,box-shadow .2s}.history-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.history-card:focus-visible{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.history-card-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.history-trigramme{background:#000;border-radius:6px;color:#fff;font-size:.85em;font-weight:700;letter-spacing:1px;padding:4px var(--spacing-sm)}.history-titre{flex:1 1;font-size:1.05em;font-weight:600}.history-score{border-radius:var(--radius-pill);color:#fff;font-size:.9em;font-weight:700;padding:4px 12px}.history-card-meta{color:var(--text-secondary);display:flex;font-size:.85em;gap:var(--spacing-lg)}.modal-overlay{align-items:flex-start;background:#0009;bottom:0;left:0;overflow-y:auto;padding:var(--spacing-2xl);right:0;top:0;z-index:1000}.modal-content{border-radius:var(--radius-lg);max-height:90vh;max-width:800px;overflow-y:auto;padding:var(--spacing-xl);position:relative;width:100%}.modal-close{font-size:1.3em;font-weight:700;position:absolute;right:var(--spacing-md);top:var(--spacing-md)}.modal-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.detail-meta{background:var(--bg-body);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;font-size:.95em;gap:var(--spacing-lg);margin:var(--spacing-md) 0 25px 0;padding:var(--spacing-md)}.detail-section{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:25px;padding:var(--spacing-md)}.detail-section h3{margin-top:0}.detail-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.admin-create-section{background:var(--bg-body);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:20px;padding:24px}.admin-create-title{color:var(--text-secondary);font-size:15px;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.admin-create-form{display:flex;flex-direction:column;gap:16px}.admin-create-fields{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.admin-field-label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.admin-field-input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-main);font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.admin-field-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.admin-password-wrapper{position:relative}.admin-password-wrapper .admin-field-input{padding-right:42px}.admin-password-toggle{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;opacity:.6;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:opacity .2s}.admin-password-toggle:hover{opacity:1}.admin-create-actions{align-items:center;display:flex;gap:16px;justify-content:space-between}.admin-checkbox-label{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px}.admin-checkbox{accent-color:var(--accent-color);cursor:pointer;height:18px;width:18px}.admin-create-btn{background:var(--accent-color);border:none;border-radius:var(--radius-sm);color:var(--bg-card);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:10px 24px;text-transform:uppercase;transition:opacity .2s}.admin-create-btn:hover{opacity:.85}.admin-create-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.admin-user-list{display:flex;flex-direction:column}.admin-user-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;padding:14px 0}.admin-user-row:last-child{border-bottom:none}.admin-user-name{align-items:center;display:flex;font-size:15px;gap:8px}.admin-user-date{color:var(--text-secondary);font-size:12px;margin-top:2px}.admin-badge{border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 10px}.admin-badge--admin{background:#000;color:#fff}.admin-badge--user{background:var(--border-color);color:var(--text-secondary)}.admin-user-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.admin-action-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;font-size:13px;padding:6px 12px;transition:background-color .2s,border-color .2s;white-space:nowrap}.admin-action-btn:hover{background:var(--btn-hover);border-color:var(--text-secondary)}.admin-action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.admin-action-btn--danger{border-color:#d9534f;color:#d9534f}.admin-action-btn--danger:hover{background:#d9534f;color:#fff}@media (max-width:767px){.app-container{padding:0 10px}.app-banner-img{height:60px}.app-header{margin-bottom:15px;margin-top:10px;padding:10px 0}.tabs-container{flex-direction:column;gap:8px}.tab-btn{font-size:13px;padding:10px;text-align:center}.card{padding:15px}.card,h2,h3{margin-bottom:15px}h2,h3{font-size:.95rem;padding-bottom:10px}.display-option-input{max-width:none}.history-card-meta,.history-filters{flex-direction:column}.history-card-meta{gap:5px}.history-score-filter{flex-direction:column;gap:8px}.modal-overlay{padding:10px}.modal-content{border-radius:8px;max-height:95vh;padding:20px}.item-actions-container{flex-wrap:wrap;gap:4px}.detail-actions{flex-direction:column}.admin-create-fields{grid-template-columns:1fr}.admin-create-actions{align-items:stretch;flex-direction:column}.admin-create-btn{text-align:center}.admin-user-row{align-items:flex-start;flex-direction:column;gap:10px}.admin-user-actions{flex-wrap:wrap}.theme-toggle-fixed{height:40px;right:10px;top:10px;width:40px}.theme-toggle-fixed svg{height:20px;width:20px}}@media (min-width:768px) and (max-width:1024px){.app-container{max-width:900px;padding:0 15px}.app-banner-img{height:75px}.tabs-container{gap:8px}.tab-btn{font-size:13px;padding:10px 15px}.card{padding:20px}}.file-upload-zone{align-items:center;background:var(--input-bg);border:2px dashed var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:32px 24px;text-align:center;transition:border-color .2s,background .2s}.file-upload-zone:hover{border-color:var(--accent-color)}.file-upload-zone:focus-visible{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.file-upload-zone--dragover{background:var(--bg-body);border-color:var(--accent-color)}.file-upload-zone--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.file-upload-icon{font-size:32px;line-height:1}.file-upload-label{color:var(--text-main);font-size:15px}.file-upload-hint{color:var(--text-secondary);font-size:13px}.file-upload-filename{color:var(--accent-color);font-size:14px;font-weight:500;margin-top:4px}.file-upload-input{display:none}.toast-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.toast{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px var(--shadow-color);color:var(--text-main);font-size:14px;gap:12px;line-height:1.4;max-width:420px;min-width:300px;padding:14px 18px;pointer-events:auto}.toast,.toast-icon{align-items:center;display:flex}.toast-icon{border-radius:50%;color:#fff;flex-shrink:0;font-size:13px;font-weight:700;height:22px;justify-content:center;width:22px}.toast-success .toast-icon{background:#22c55e}.toast-error .toast-icon{background:#ef4444}.toast-info .toast-icon{background:var(--accent-color)}.toast-message{flex:1 1}.toast-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:0 2px;transition:color .15s}.toast-close:hover{color:var(--text-main)}.toast-enter{animation:toast-slide-in .3s ease forwards}.toast-exit{animation:toast-slide-out .25s ease forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(40px)}}.modal-overlay{align-items:center;animation:modal-fade-in .2s ease forwards;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9000}.modal-content{animation:modal-slide-down .25s ease forwards;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px var(--shadow-color);color:var(--text-main);display:flex;flex-direction:column;max-height:85vh;width:90%}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:780px}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:18px 24px}.modal-header h2{color:var(--text-main);font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:22px;line-height:1;padding:4px 8px;transition:background .15s,color .15s}.modal-close:hover{background:var(--bg-body);color:var(--text-main)}.modal-body{flex:1 1;overflow-y:auto;padding:24px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-message{color:var(--text-main);font-size:15px;line-height:1.5;margin-bottom:24px}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-btn{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .15s,border-color .15s}.confirm-dialog-btn--cancel{background:var(--bg-body);color:var(--text-main)}.confirm-dialog-btn--cancel:hover{background:var(--input-bg)}.confirm-dialog-btn--confirm{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.confirm-dialog-btn--confirm:hover{opacity:.9}.confirm-dialog-btn--danger{background:#ef4444;border-color:#ef4444;color:#fff}.confirm-dialog-btn--danger:hover{background:#dc2626;border-color:#dc2626}.confirm-dialog-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}
/*# sourceMappingURL=main.ad91b4c5.css.map*/