:root{--color-primary: #8b5cf6;--color-primary-hover: #7c3aed;--color-primary-light: #ede9fe;--color-primary-dark: #6d28d9;--color-success: #22c55e;--color-success-bg: #dcfce7;--color-warning: #f59e0b;--color-warning-bg: #fef3c7;--color-error: #ef4444;--color-error-bg: #fee2e2;--color-info: #3b82f6;--color-info-bg: #dbeafe;--color-bg: #f8fafc;--color-bg-elevated: #ffffff;--color-surface: #ffffff;--color-surface-hover: #f1f5f9;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--header-bg: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 50%, #c4b5fd 100%);--header-text: #ffffff;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-glow: 0 0 20px rgba(139, 92, 246, .3);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}[data-theme=dark]{--color-primary: #a78bfa;--color-primary-hover: #8b5cf6;--color-primary-light: rgba(167, 139, 250, .15);--color-primary-dark: #c4b5fd;--color-success: #4ade80;--color-success-bg: rgba(74, 222, 128, .15);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .15);--color-error: #f87171;--color-error-bg: rgba(248, 113, 113, .15);--color-info: #60a5fa;--color-info-bg: rgba(96, 165, 250, .15);--color-bg: #121212;--color-bg-elevated: #1a1a1a;--color-surface: #1e1e1e;--color-surface-hover: #2a2a2a;--color-border: #333333;--color-border-light: #252525;--color-text: #f5f5f5;--color-text-secondary: #a0a0a0;--color-text-muted: #666666;--header-bg: linear-gradient(135deg, #1a1a1a 0%, #252525 100%);--header-text: #ffffff;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-glow: 0 0 20px rgba(167, 139, 250, .3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color var(--transition-normal),color var(--transition-normal)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--header-bg);color:var(--header-text);padding:0;box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.header-brand{display:flex;align-items:center;gap:.75rem}.header-brand h1{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.app-nav{display:flex;gap:.25rem}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:var(--radius-md);color:#ffffffd9;text-decoration:none;font-weight:500;font-size:.875rem;transition:var(--transition-fast);background:transparent;border:1px solid transparent}.nav-link:hover{background:#ffffff26;color:#fff}.nav-link.active{background:#fff3;color:#fff;border-color:#ffffff4d}.header-actions{display:flex;align-items:center;gap:.75rem}.user-email{font-size:.8125rem;opacity:.9;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:none;background:#ffffff26;color:#fff;cursor:pointer;transition:var(--transition-fast)}.btn-icon:hover{background:#ffffff40;transform:scale(1.05)}.btn-logout:hover{background:#ef444480}.app-content{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.card-header{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-elevated)}.card-header h2{font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.card-body{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition-fast);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-full{width:100%}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase}.status-pending{background:var(--color-info-bg);color:var(--color-info)}.status-processing{background:var(--color-warning-bg);color:var(--color-warning)}.status-completed{background:var(--color-success-bg);color:var(--color-success)}.status-error{background:var(--color-error-bg);color:var(--color-error)}.status-needs_review{background:var(--color-primary-light);color:var(--color-primary)}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:3rem;text-align:center;transition:var(--transition-normal);cursor:pointer;background:var(--color-bg)}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-primary);background:var(--color-primary-light)}.upload-zone.uploading{opacity:.7;pointer-events:none}.upload-icon{margin-bottom:1rem;color:var(--color-text-muted)}.upload-zone h3{font-size:1.125rem;margin-bottom:.5rem;color:var(--color-text)}.upload-zone p{color:var(--color-text-secondary);font-size:.875rem}.document-list{display:flex;flex-direction:column;gap:.75rem}.document-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.document-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translate(4px)}.document-info{display:flex;align-items:center;gap:1rem}.document-icon{width:44px;height:44px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.document-name{font-weight:500;color:var(--color-text)}.document-meta{font-size:.8125rem;color:var(--color-text-secondary)}.data-editor{display:flex;flex-direction:column;gap:1.5rem}.data-section{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.data-section-header{background:var(--color-bg);padding:.75rem 1rem;font-weight:600;font-size:.875rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:.5rem}.data-row{display:grid;grid-template-columns:1fr 2fr;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.data-row:last-child{border-bottom:none}.data-label{font-size:.875rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:.5rem}.data-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;transition:var(--transition-fast);background:var(--color-surface);color:var(--color-text)}.data-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.data-input:disabled{background:var(--color-bg);cursor:not-allowed}.items-table{width:100%;border-collapse:collapse}.items-table th{text-align:left;padding:.75rem;background:var(--color-bg);font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase}.items-table td{padding:.75rem;border-top:1px solid var(--color-border)}.items-table input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--color-surface);color:var(--color-text)}.items-table input:focus{outline:none;border-color:var(--color-primary)}.incident-item{padding:1rem;background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:.75rem}.incident-item.resolved{background:var(--color-success-bg);border-color:var(--color-success);opacity:.7}.incident-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.incident-type{font-weight:600;font-size:.875rem;color:var(--color-text)}.incident-description{font-size:.875rem;color:var(--color-text-secondary)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-spin{animation:spin 1s linear infinite}.empty-state{text-align:center;padding:3rem;color:var(--color-text-secondary)}.empty-state-icon{margin-bottom:1rem;opacity:.5;color:var(--color-text-muted)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-bg)}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:2.5rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{color:var(--color-primary);margin-bottom:1rem}.auth-header h1{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:var(--color-text)}.auth-header p{color:var(--color-text-secondary);font-size:.875rem}.auth-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.form-group input{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;background:var(--color-bg);color:var(--color-text);transition:var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);background:var(--color-surface)}.form-group input::placeholder{color:var(--color-text-muted)}.auth-footer{margin-top:1.5rem;text-align:center}.auth-footer p{color:var(--color-text-secondary);font-size:.875rem}.auth-footer a{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:768px){.grid-2{grid-template-columns:1fr}}.split-view{display:flex;gap:1.5rem}.split-view.with-preview .split-view-left{flex:1;min-width:0;max-width:50%}.split-view.with-preview .split-view-right{flex:1;min-width:0}.split-view:not(.with-preview) .split-view-right{width:100%}@media(max-width:1024px){.split-view{flex-direction:column}.split-view.with-preview .split-view-left{max-width:100%}}.preview-container{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-bg);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.preview-container.empty,.preview-container.loading,.preview-container.error{display:flex;align-items:center;justify-content:center;height:100%;min-height:0}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.preview-page-info{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.preview-image-container{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--color-bg-elevated);min-height:0}.preview-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:var(--shadow-lg);border-radius:var(--radius-sm)}.preview-thumbnails{display:flex;gap:.5rem;padding:.75rem;background:var(--color-surface);border-top:1px solid var(--color-border);overflow-x:auto;flex-shrink:0}.preview-thumbnail{flex-shrink:0;width:60px;padding:.25rem;background:var(--color-bg);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:.25rem}.preview-thumbnail:hover{border-color:var(--color-primary-light)}.preview-thumbnail.active{border-color:var(--color-primary);background:var(--color-primary-light)}.preview-thumbnail img{width:100%;height:50px;object-fit:cover;border-radius:2px}.preview-thumbnail span{font-size:.625rem;color:var(--color-text-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--color-bg)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--color-bg);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);border-radius:var(--radius-full);border:2px solid var(--color-bg)}*::-webkit-scrollbar-thumb:hover{background:var(--color-primary-hover)}*::-webkit-scrollbar-corner{background:var(--color-bg)}.space-y-4>*+*{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-2{margin-top:1rem}.mr-1{margin-right:.25rem}.text-right{text-align:right}.text-center{text-align:center}.flex{display:flex}.inline{display:inline}.gap-2{gap:.5rem}.gap-4{gap:1rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}@media(max-width:768px){.header-content{flex-wrap:wrap;padding:.75rem 1rem;gap:1rem}.app-nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.nav-link span,.user-email{display:none}.app-content{padding:1rem}}.admin-panel{padding:0}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.admin-tab{padding:.75rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-weight:500;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:.5rem}.admin-tab:hover{color:var(--color-text)}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.admin-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary);background:var(--color-bg)}.admin-table tr:hover td{background:var(--color-surface-hover)}.smart-filters{margin-bottom:1rem}.smart-filters-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;color:var(--color-text);transition:var(--transition-fast)}.smart-filters-toggle:hover{border-color:var(--color-primary)}.smart-filters-content{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 0}.smart-filter-item{display:flex;align-items:center}.smart-filter-search{position:relative;display:flex;align-items:center}.smart-filter-search-icon{position:absolute;left:.75rem;color:var(--color-text-muted);pointer-events:none}.smart-filter-search input{padding-left:2.25rem;min-width:200px}.smart-filter-date{position:relative;display:flex;align-items:center}.smart-filter-date-icon{position:absolute;left:.75rem;color:var(--color-text-muted);pointer-events:none}.smart-filter-date input{padding-left:2.25rem;min-width:150px}.smart-filter-clear{margin-left:auto}.sort-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;color:var(--color-text-secondary);transition:var(--transition-fast)}.sort-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.sort-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:768px){.smart-filters-content{flex-direction:column;align-items:stretch}.smart-filter-search input,.smart-filter-date input{width:100%;min-width:auto}.smart-filter-clear{margin-left:0}}.diff-container{background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.diff-empty{padding:2rem;text-align:center;color:var(--color-text-secondary)}.diff-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.diff-header-info{display:flex;align-items:center;gap:.75rem}.diff-changes-count{font-weight:600;font-size:.875rem;color:var(--color-text)}.diff-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer}.diff-toggle input{accent-color:var(--color-primary)}.diff-legend{display:flex;gap:1rem;padding:.5rem 1rem;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);font-size:.75rem}.diff-legend-item{display:flex;align-items:center;gap:.25rem}.diff-legend-added{color:var(--color-success)}.diff-legend-removed{color:var(--color-error)}.diff-legend-changed{color:var(--color-warning)}.diff-columns-header{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary)}.diff-column-previous,.diff-column-current{text-align:center}.diff-section{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.diff-section:last-child{border-bottom:none}.diff-section-title{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);padding:0 1rem .5rem;text-transform:uppercase;letter-spacing:.025em}.diff-rows{display:flex;flex-direction:column}.diff-row{display:grid;grid-template-columns:auto 140px 1fr;gap:.75rem;align-items:center;padding:.5rem 1rem;border-left:3px solid transparent;transition:var(--transition-fast)}.diff-row:hover{background:var(--color-surface-hover)}.diff-row.diff-added{background:#22c55e14;border-left-color:var(--color-success)}.diff-row.diff-removed{background:#ef444414;border-left-color:var(--color-error)}.diff-row.diff-changed{background:#fbbf2414;border-left-color:var(--color-warning)}.diff-row-icon{width:20px;display:flex;justify-content:center}.diff-icon-added{color:var(--color-success)}.diff-icon-removed{color:var(--color-error)}.diff-icon-changed{color:var(--color-warning)}.diff-row-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.diff-row-values{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.diff-value-old{text-decoration:line-through;opacity:.6;color:var(--color-error)}.diff-value-new{font-weight:600;color:var(--color-success)}.diff-arrow{color:var(--color-text-muted);flex-shrink:0}.diff-line-items{display:flex;flex-direction:column}.diff-line-item{border-left:3px solid transparent;transition:var(--transition-fast)}.diff-line-item.diff-added{background:#22c55e14;border-left-color:var(--color-success)}.diff-line-item.diff-removed{background:#ef444414;border-left-color:var(--color-error)}.diff-line-item.diff-changed{background:#fbbf2414;border-left-color:var(--color-warning)}.diff-line-item-header{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem}.diff-item-desc{color:var(--color-text-secondary);font-weight:400}.diff-item-changes{color:var(--color-text-muted);font-size:.75rem;font-weight:400}.diff-expand-icon{margin-left:auto;color:var(--color-text-muted)}.diff-line-item-details{padding:.5rem 1rem .75rem 2rem;background:#00000008;border-top:1px dashed var(--color-border)}[data-theme=dark] .diff-line-item-details{background:#ffffff05}.changes-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .625rem;background:var(--color-warning-bg);color:var(--color-warning);border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.version-compare-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.version-compare-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.version-compare-panel-header{padding:.75rem 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.version-compare-panel-header.current{color:var(--color-success)}.version-compare-panel-header.previous{color:var(--color-text-secondary)}.version-compare-panel-body{padding:1rem;max-height:500px;overflow-y:auto}.version-item-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:.75rem;overflow:hidden;transition:var(--transition-fast)}.version-item-card:hover{border-color:var(--color-primary)}.version-item-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.version-item-info{display:flex;align-items:center;gap:.75rem}.version-item-number{font-weight:600;font-size:.9375rem}.version-item-meta{font-size:.75rem;color:var(--color-text-secondary)}.version-item-actions{display:flex;gap:.5rem}.version-item-body{padding:.75rem 1rem}.version-item-reason{font-size:.8125rem;color:var(--color-text-secondary);margin-bottom:.5rem}.version-item-user{font-size:.75rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.35rem}@media(max-width:1024px){.version-compare-split{grid-template-columns:1fr}}.confirm-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.confirm-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 40px #00000026;width:90%;max-width:440px;overflow:hidden;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.confirm-modal-title{display:flex;align-items:center;gap:.75rem}.confirm-modal-title h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.confirm-modal-close{background:transparent;border:none;cursor:pointer;padding:.5rem;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:all .15s ease;display:flex;align-items:center;justify-content:center}.confirm-modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.confirm-modal-close:disabled{opacity:.5;cursor:not-allowed}.confirm-modal-body{padding:1.5rem}.confirm-modal-body p{margin:0;color:var(--color-text-secondary);line-height:1.6}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-bg)}.btn-danger{background:var(--color-error);color:#fff;border:1px solid var(--color-error)}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-warning{background:var(--color-warning);color:#fff;border:1px solid var(--color-warning)}.btn-warning:hover{background:#d97706;border-color:#d97706}.preview-toolbar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0}.preview-toolbar-group{display:flex;align-items:center;gap:.25rem}.preview-toolbar-divider{width:1px;height:24px;background:var(--color-border);margin:0 .25rem}.preview-zoom-info{min-width:45px;text-align:center;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:var(--transition-fast)}.preview-zoom-info:hover{background:var(--color-surface-hover);color:var(--color-text)}.preview-page-info{font-size:.8125rem;color:var(--color-text-secondary);padding:0 .5rem;white-space:nowrap}.preview-image-container{overflow:auto;flex:1;background:var(--color-bg);display:flex;justify-content:center;align-items:flex-start;padding:1rem}.preview-image-container.zoomable{cursor:grab}.preview-image-container.dragging{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.preview-image{max-width:100%;height:auto;box-shadow:var(--shadow-md);border-radius:var(--radius-sm);transition:transform .1s ease}.preview-container.fullscreen{position:fixed;inset:0;z-index:1000;background:var(--color-bg);border-radius:0;display:flex;flex-direction:column}.preview-container.fullscreen .preview-image-container{flex:1;height:calc(100vh - 120px)}.preview-fullscreen-close{position:fixed;top:1rem;right:1rem;z-index:1001;width:40px;height:40px;background:#000000b3;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.preview-fullscreen-close:hover{background:#000000e6;transform:scale(1.1)}.btn-icon{background:transparent;border:none;width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:var(--transition-fast)}.btn-icon:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon:active:not(:disabled){transform:scale(.95)}
