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:#dbcca5;--accent-fg:#0a0a0a;--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 #dbcca559}[data-theme=dark]{--bg-body:#0a0a0a;--bg-card:#141414;--text-main:#fff;--text-secondary:#9e9e9e;--border-color:#1f1f1f;--input-bg:#141414;--input-border:#1f1f1f;--header-bg:#0a0a0a;--header-border:#1f1f1f;--btn-hover:#1f1f1f;--shadow-color:#0009;--accent-color:#dbcca5;--accent-fg:#0a0a0a;--focus-ring:0 0 0 3px #dbcca559}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:1px solid var(--header-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);margin-top:var(--spacing-md);overflow:hidden;padding:var(--spacing-lg) 0 var(--spacing-md);position:relative;text-align:center;transition:background-color .3s ease,border-color .3s ease}.app-header:after{background:var(--accent-color);border-radius:2px;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:80px}[data-theme=dark] .app-header{box-shadow:0 4px 24px #0006}.app-banner-img{display:block;height:90px;margin:0 auto;max-width:95%;object-fit:contain;width:auto}.tabs-container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.tabs-spacer{flex:1 1;min-width:var(--spacing-md)}.kebab-menu{position:relative}.kebab-menu,.kebab-trigger{align-items:center;display:flex}.kebab-trigger{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:22px;height:40px;justify-content:center;line-height:1;transition:background-color .2s,color .2s,box-shadow .2s;width:40px}.kebab-trigger:hover{background:var(--btn-hover);color:var(--text-main)}.kebab-trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.kebab-dropdown{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #0000002e;box-shadow:var(--shadow-md,0 4px 16px #0000002e);display:flex;flex-direction:column;min-width:190px;padding:6px 0;position:absolute;right:0;top:calc(100% + 6px);z-index:200}.kebab-item{align-items:center;background:#0000;border:none;color:var(--text-main);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 18px;text-align:left;transition:background-color .15s}.kebab-item:hover{background:var(--btn-hover)}.kebab-item:focus-visible{background:var(--btn-hover);box-shadow:var(--focus-ring);outline:none}.kebab-item__icon{flex-shrink:0;font-size:16px}.kebab-item--danger{color:#d9534f}.kebab-item--danger:hover{background:#d9534f1a}.kebab-item--secondary{color:var(--text-secondary)}.kebab-divider{background:var(--border-color);height:1px;margin:4px 0}.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 var(--accent-fg);color:var(--accent-fg)}.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{background:var(--bg-body);display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-brand{align-items:flex-start;background:linear-gradient(160deg,#0a0a0a,#141414);color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:60px 70px;position:relative}.login-brand:before{background:radial-gradient(circle,#dbcca51f 0,#0000 60%);content:"";height:600px;pointer-events:none;position:absolute;right:-20%;top:-30%;width:600px}.login-brand-logo{margin-bottom:48px;max-width:280px;width:100%;z-index:1}.login-brand-tagline{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:400;letter-spacing:-.3px;line-height:1.3;margin:0 0 20px;z-index:1}.login-brand-tagline em{color:var(--accent-color);font-style:normal}.login-brand-sub{color:#9e9e9e;font-size:14px;line-height:1.6;max-width:380px;z-index:1}.login-brand-accent-line{background:var(--accent-color);height:2px;margin-bottom:28px;width:60px;z-index:1}.login-brand-footer{bottom:32px;color:#6b6b6b;font-size:11px;left:70px;letter-spacing:1.5px;position:absolute;text-transform:uppercase;z-index:1}.login-card{background:var(--bg-card);display:flex;flex-direction:column;justify-content:center;padding:0 80px;text-align:left}.login-card-inner{margin:0 auto;max-width:380px;width:100%}.login-card h2{color:var(--text-main);font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:700;letter-spacing:-.3px;margin:0 0 8px}.login-card-subtitle{color:var(--text-secondary);font-size:14px;margin:0 0 32px}.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:14px;margin-bottom:var(--spacing-md);padding:14px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.login-card input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.login-btn{background:var(--accent-color);border:none;border-radius:var(--radius-md);color:var(--accent-fg);cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.3px;margin-top:8px;padding:14px;text-transform:uppercase;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease;width:100%}.login-btn:hover{box-shadow:0 8px 20px #dbcca540;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-error{background:#ef444414;border:1px solid #ef444440;border-radius:var(--radius-md);color:#ef4444;font-size:13px;margin-bottom:var(--spacing-md);padding:10px 14px}.login-logo{display:none}@media (max-width:900px){.login-container{grid-template-columns:1fr}.login-brand{min-height:240px;padding:40px 32px 32px}.login-brand-logo{margin-bottom:24px;max-width:200px}.login-brand-tagline{font-size:22px}.login-brand-footer{display:none}.login-card{padding:32px}.login-card-inner{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(--accent-fg);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:10px 24px;text-transform:uppercase;transition:opacity .2s;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.admin-create-btn:hover{box-shadow:0 6px 18px #dbcca54d;transform:translateY(-1px)}.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}.editor-tab{padding-bottom:100px}.editor-actionbar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffe0;background:rgba(var(--actionbar-bg-rgb,255,255,255),.88);border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -2px 12px var(--shadow-color);display:flex;justify-content:space-between;padding:12px 20px;position:-webkit-sticky;position:sticky;z-index:50}[data-theme=dark] .editor-actionbar{background:#141414e0}.editor-actionbar__status{flex:1 1;min-width:0}.editor-actionbar__actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.editor-actionbar__btn{border:none;border-radius:4px;border-radius:var(--radius-sm,4px);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:10px 20px;transition:opacity .2s ease,background .2s ease;white-space:nowrap}.editor-actionbar__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.editor-actionbar__btn--ghost{background:#0000;border:1px solid var(--border-color);color:var(--text-main)}.editor-actionbar__btn--ghost:hover{background:var(--btn-hover)}.editor-actionbar__btn--primary{background:var(--accent-color);border:none;color:var(--accent-fg);letter-spacing:1.5px;text-transform:uppercase}.editor-actionbar__btn--primary:hover{opacity:.88}.editor-actionbar__status-text{color:#777;color:var(--text-secondary,#777);font-size:13px;font-style:italic}.editor-actionbar__status-text--idle{opacity:.65}.logs-tab h2{margin-bottom:8px}.logs-toolbar{align-items:center;background:#fafafa;background:var(--bg-elevated,#fafafa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:4px;border-radius:var(--radius-sm,4px);display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;padding:12px}.logs-toolbar input[type=text]{flex:1 1;min-width:200px}.logs-toolbar input[type=text],.logs-toolbar select{background:#fff;background:var(--input-bg,#fff);border:1px solid #ccc;border:1px solid var(--input-border,#ccc);border-radius:4px;border-radius:var(--radius-sm,4px);color:var(--text-main);padding:6px 10px}.logs-btn,.logs-toolbar select{cursor:pointer}.logs-btn{background:var(--accent-color);border:none;border-radius:4px;border-radius:var(--radius-sm,4px);color:#fff;color:var(--accent-fg,#fff);font-weight:600;padding:6px 14px}.logs-btn:disabled{cursor:not-allowed;opacity:.6}.logs-autorefresh{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:6px;-webkit-user-select:none;user-select:none}.logs-error{background:#dc32321a;border:1px solid #dc323266;border-radius:4px;border-radius:var(--radius-sm,4px);color:#c0392b;margin-bottom:10px;padding:10px}.logs-stats{color:#777;color:var(--text-secondary,#777);font-size:13px;margin-bottom:8px}.logs-viewer{background:#1a1a1a;background:var(--bg-code,#1a1a1a);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:4px;border-radius:var(--radius-sm,4px);color:#eaeaea;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12.5px;line-height:1.5;max-height:65vh;overflow-y:auto;padding:8px 0}.logs-empty{opacity:.6;padding:30px;text-align:center}.log-row{grid-gap:8px;border-left:3px solid #0000;display:grid;gap:8px;grid-template-columns:145px 70px 180px 1fr;padding:3px 12px;white-space:pre-wrap;word-break:break-word}.log-row:hover{background:#ffffff0a}.log-row--error{border-left-color:#e74c3c;color:#ff8b80}.log-row--warning{border-left-color:#f39c12;color:#ffd17a}.log-row--info{border-left-color:#3498db}.log-row--debug{border-left-color:#7f8c8d;opacity:.7}.log-timestamp{color:#888}.log-level{font-weight:700}.log-logger{color:#9bb4d1}.log-message{white-space:pre-wrap}@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:var(--accent-fg);transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.confirm-dialog-btn--confirm:hover{box-shadow:0 6px 18px #dbcca54d;transform:translateY(-1px)}.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}.password-prompt-form{display:flex;flex-direction:column;gap:16px}.password-prompt-label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:6px}.password-prompt-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-main);font-size:14px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.password-prompt-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.password-prompt-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:13px;padding:8px 12px}[data-theme=dark] .password-prompt-error{background:#2a1313;border-color:#5b1f1f;color:#fca5a5}
/*# sourceMappingURL=main.41b8113b.css.map*/