@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap";.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;padding:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:#666;font-size:16px;margin:0}.tab-navigation{display:flex;border-bottom:2px solid #e5e7eb;background-color:#f9fafb;margin-bottom:2rem;position:relative;width:100%;box-sizing:border-box;justify-content:center}.tab-navigation-content{display:flex;max-width:1200px;width:100%;padding:0;justify-content:flex-start}@media (max-width: 1200px){.tab-navigation-content{padding:0}}.nav-dropdown{position:relative}.tab-button{background:none;border:none;padding:1rem 20px;font-size:1rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;position:relative;text-decoration:none;display:flex;align-items:center}.tab-button:hover:not(:disabled){color:#374151;background-color:#f3f4f6}.tab-button:disabled{cursor:not-allowed;opacity:.6}.dropdown-trigger{border-bottom:none}.coming-soon{font-size:.85rem;font-style:italic;color:#9ca3af}.dropdown-menu{position:absolute;top:100%;left:0;background:white;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1000;min-width:220px;max-width:300px;padding:.5rem 0;white-space:nowrap;overflow:hidden}.dropdown-item{display:block;padding:.75rem 1rem;color:#374151;text-decoration:none;transition:background-color .15s ease;border:none;width:100%;text-align:left;font-size:.95rem;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item:hover{background-color:#f3f4f6;color:#1f2937}.submenu-container{border-bottom:1px solid #e5e7eb;margin-bottom:.5rem;padding-bottom:.5rem;overflow:hidden}.submenu-label{padding:.5rem 1rem;font-weight:600;color:#1f2937;font-size:.9rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submenu-item{padding-left:2rem;font-size:.9rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submenu-item:hover{background-color:#eff6ff;color:#2563eb}.tab-content{padding:0}.translate-container,.terms-container,.urls-container,.languages-container{padding:1rem;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.translate-container h2,.terms-container h2,.urls-container h2,.languages-container h2{margin-top:0;color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.translate-content,.terms-content,.urls-content,.languages-content{color:#4b5563;line-height:1.6}.languages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.languages-header h2{margin:0}.add-button{background-color:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.add-button:hover:not(:disabled){background-color:#1d4ed8}.add-button:disabled{background-color:#9ca3af;cursor:not-allowed}.language-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.form-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.form-row input{flex:1;min-width:200px;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.form-row input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.translator-select{flex:0 0 auto;min-width:120px;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;background-color:#fff;cursor:pointer}.translator-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-buttons{display:flex;gap:.5rem}.save-button{background-color:#059669;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-button:hover{background-color:#047857}.cancel-button{background-color:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.cancel-button:hover{background-color:#4b5563}.translations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.translate-button{background-color:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease;font-size:.875rem}.translate-button:hover:not(:disabled){background-color:#2563eb}.translate-button:disabled{background-color:#9ca3af;cursor:not-allowed}.translator-indicator{font-size:.75rem;color:#6b7280;font-weight:400;margin-left:.5rem}.translator-indicator.supported{color:#059669}.translator-indicator.unsupported{color:#dc2626}.translation-field input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb}.translation-field input{border-left:3px solid transparent;transition:border-left-color .2s ease}.translation-field input:not([value=""]):not(:placeholder-shown){border-left-color:#10b981}.translation-field input[value=""]:placeholder-shown{border-left-color:#fbbf24}.languages-list{display:flex;flex-direction:column;gap:.75rem}.language-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:background-color .2s ease}.language-item:hover{background-color:#f3f4f6}.language-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.language-meta{display:flex;align-items:center;gap:.75rem}.language-name{font-weight:600;color:#1f2937;font-size:1.1rem}.language-code{color:#6b7280;font-size:.9rem;font-family:Courier New,monospace;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:4px;width:fit-content}.language-actions{position:relative;display:flex;gap:.5rem}.menu-button{background:none;border:none;font-size:1.25rem;font-weight:700;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s ease;line-height:1}.menu-button:hover:not(:disabled){background-color:#e5e7eb;color:#374151}.menu-button:disabled{color:#d1d5db;cursor:not-allowed}.action-menu{position:absolute;top:100%;right:0;background:white;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:10;min-width:120px}.menu-item{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.875rem;transition:background-color .2s ease}.menu-item:first-child{border-radius:6px 6px 0 0}.menu-item:last-child{border-radius:0 0 6px 6px}.menu-item:only-child{border-radius:6px}.edit-item{color:#374151}.edit-item:hover{background-color:#f3f4f6}.delete-item{color:#374151}.delete-item:hover{background-color:#f3f4f6}.loading{text-align:center;padding:2rem;color:#6b7280;font-style:italic}.empty-state{text-align:center;padding:2rem;color:#6b7280}.empty-state p{margin:0}.terms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.terms-header h2{margin:0}.notification{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:8px;font-weight:500;position:relative;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification.success{background-color:#dcfce7;border:1px solid #bbf7d0;color:#166534}.notification.error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.notification-message{flex:1;margin-right:1rem}.notification-close{background:none;border:none;font-size:1.5rem;font-weight:700;cursor:pointer;color:inherit;opacity:.7;transition:opacity .2s ease;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-close:hover{opacity:1}.term-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.form-section{margin-bottom:1.5rem}.form-section:last-child{margin-bottom:0}.form-section label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem}.form-section>input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.form-section>input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.translations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.translation-field label{display:block;font-size:.875rem;font-weight:500;color:#6b7280;margin-bottom:.25rem}.translation-field input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem}.translation-field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.terms-list{display:flex;flex-direction:column;gap:1rem}.term-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:background-color .2s ease}.term-item:hover{background-color:#f3f4f6}.term-info{flex:1;display:flex;flex-direction:column;gap:1rem}.canonical-term{font-weight:700;color:#1f2937;font-size:1.125rem;letter-spacing:.5px}.term-actions{position:relative;margin-left:1rem}.term-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.translations-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid #d1d5db;border-radius:4px;padding:.5rem .75rem;font-size:.875rem;color:#6b7280;cursor:pointer;transition:all .2s ease}.translations-toggle:hover{background-color:#f3f4f6;border-color:#9ca3af}.caret{font-size:.75rem;transition:transform .2s ease;transform-origin:center}.caret.expanded{transform:rotate(180deg)}.translations-list{margin-top:1rem;animation:slideDown .2s ease-out;display:flex;flex-direction:column;gap:.75rem}.translation-item{display:flex;align-items:center;gap:.75rem}.language-badge{background-color:#e5e7eb;color:#374151;font-size:.75rem;font-weight:600;padding:.375rem .75rem;border-radius:6px;min-width:80px;text-align:center;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.translation-text{color:#1f2937;font-size:.875rem;font-weight:500;flex:1}.translator-toggle{padding:.375rem .75rem;border-radius:6px;border:1px solid;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:70px;text-align:center}.translator-toggle.deepl{background-color:#1e40af;color:#fff;border-color:#1e40af}.translator-toggle.deepl:hover:not(:disabled){background-color:#1d4ed8;border-color:#1d4ed8}.translator-toggle.gemini{background-color:#7c3aed;color:#fff;border-color:#7c3aed}.translator-toggle.gemini:hover:not(:disabled){background-color:#8b5cf6;border-color:#8b5cf6}.translator-toggle:disabled{opacity:.5;cursor:not-allowed}.urls-container{max-width:1200px;margin:0 auto;padding:2rem}.urls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.urls-header h2{margin:0;color:#2c3e50}.url-form{background:white;border:1px solid #e1e8ed;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.urls-list{display:flex;flex-direction:column;gap:1rem}.url-item{background:white;border:1px solid #e1e8ed;border-radius:8px;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s ease}.url-item:hover{border-color:#3498db}.url-info{flex:1;min-width:0}.url-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.url-actions{position:relative;margin-left:1rem}.canonical-url{font-weight:600;color:#2c3e50;font-size:1rem;flex:1;min-width:0}.canonical-url a{color:#3498db;text-decoration:none;word-break:break-all}.canonical-url a:hover{text-decoration:underline}.translation-text a{color:#3498db;text-decoration:none;word-break:break-all}.translation-text a:hover{text-decoration:underline}.file-preview{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:2rem;text-align:center;margin:2rem 0}.file-info{margin-bottom:2rem}.file-info h3{color:#1e293b;margin-bottom:1rem;font-size:1.5rem}.file-info p{color:#64748b;margin:.5rem 0;font-size:1rem}.translation-actions{display:flex;gap:1rem;justify-content:center;align-items:center}.translation-error{background:#fef2f2;border:2px solid #fecaca;border-radius:12px;padding:2rem;text-align:center;margin:2rem 0}.translation-error h3{color:#dc2626;margin-bottom:1rem}.translation-error p{color:#7f1d1d;margin-bottom:1.5rem}.translation-results{background:#ffffff;border-radius:12px;margin:2rem 0}.results-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.results-header h3{color:#059669;margin:0;font-size:1.5rem}.download-button{background:#059669;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.download-button:hover{background:#047857}.results-content{padding:1.5rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.summary-card.success{background:#f0fdf4;border-color:#bbf7d0}.summary-card.info{background:#eff6ff;border-color:#bfdbfe}.summary-card.error{background:#fef2f2;border-color:#fecaca}.summary-card h4{margin:0 0 1rem;font-size:1.1rem}.summary-card.success h4{color:#059669}.summary-card.info h4{color:#2563eb}.summary-card.error h4{color:#dc2626}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:1rem;text-align:center}.stat{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:2rem;font-weight:700;color:#059669;display:block}.stat-label{font-size:.875rem;color:#6b7280;margin-top:.25rem}.errors-section{margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e7eb}.errors-section h4{color:#d97706;margin-bottom:1rem}.error-list{max-height:300px;overflow-y:auto;background:#fffbeb;border:1px solid #fed7aa;border-radius:8px;padding:1rem}.error-item{padding:.75rem;margin-bottom:.5rem;border-radius:6px;border-left:4px solid #d97706;background:#fef3c7}.error-item:last-child{margin-bottom:0}.error-location{font-weight:600;color:#92400e;display:block;margin-bottom:.25rem}.error-message{color:#451a03;font-size:.875rem}.results-actions{text-align:center;margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e7eb}.error-section{margin:2rem 0}.inline-edit-form{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;margin:.5rem 0;padding:1rem;animation:slideDown .2s ease-out}.language-form.inline-edit-form{margin:.5rem 0;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;animation:slideDown .2s ease-out}.language-form.add-form{margin:1rem 0 2rem;background:#ffffff;border:2px solid #e5e7eb;border-radius:8px;padding:1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.inline-edit-form .form-row{margin:0}.inline-edit-form .form-buttons{margin-top:1rem;display:flex;gap:.5rem;justify-content:flex-end}.inline-edit-form .save-button,.inline-edit-form .cancel-button{min-width:80px}.auth-loading,.auth-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#f8fafc}.auth-error{height:auto}.auth-loading p,.auth-error p{margin-top:1rem;color:#64748b;font-size:1.1rem}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite}.auth-error p{color:#dc2626;font-weight:500}.logout-button{background:none;border:none;padding:1rem 1.5rem;font-size:1.2rem;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;margin-left:auto;opacity:.7}.logout-button:hover{opacity:1;background-color:#fef2f2;color:#dc2626}.language-selection-container{background:#ffffff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px #0000001a;margin:2rem 0}.language-selection-header{text-align:center;margin-bottom:2rem}.language-selection-header h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.language-selection-header p{color:#6b7280;font-size:1rem;margin:0}.language-selection-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.bulk-actions{display:flex;gap:.75rem}.select-all-button,.unselect-all-button{padding:.5rem 1rem;border-radius:6px;border:1px solid #d1d5db;background:white;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.select-all-button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.unselect-all-button:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#dc2626}.select-all-button:disabled,.unselect-all-button:disabled{opacity:.5;cursor:not-allowed}.selection-count{color:#6b7280;font-size:.875rem;font-weight:500}.languages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.language-checkbox-item{border:2px solid #e5e7eb;border-radius:8px;transition:all .2s ease;background:white;overflow:hidden}.language-checkbox-item:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.language-checkbox-item.selected{border-color:#2563eb;background:#eff6ff}.language-checkbox-item.selected .language-name{color:#2563eb}.language-checkbox-label{display:flex;align-items:flex-start;padding:1rem;cursor:pointer;width:100%;gap:.75rem}.language-checkbox{flex-shrink:0;width:18px;height:18px;margin:0;cursor:pointer;accent-color:#2563eb}.language-checkbox-content{flex:1;min-width:0}.language-checkbox-content .language-name{font-weight:600;color:#1f2937;font-size:1rem;margin-bottom:.5rem;line-height:1.2}.language-details{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.language-details .language-code{background:#f3f4f6;color:#374151;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace}.language-details .language-iso{background:#e5e7eb;color:#6b7280;font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace}.language-details .translator-badge{font-size:.65rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.language-details .translator-badge.deepl{background:#1e40af;color:#fff}.language-details .translator-badge.gemini{background:#7c3aed;color:#fff}.language-selection-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;border-top:1px solid #e5e7eb}.back-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.back-button:hover{background:#4b5563}.start-translation-button{background:#2563eb;color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .2s ease;font-size:1rem}.start-translation-button:hover:not(:disabled){background:#1d4ed8}.start-translation-button:disabled{background:#9ca3af;cursor:not-allowed}.language-selection-error{text-align:center;padding:2rem;background:#fef2f2;border:2px solid #fecaca;border-radius:12px}.language-selection-error h3{color:#dc2626;margin-bottom:1rem}.language-selection-error p{color:#7f1d1d;margin-bottom:1.5rem}.retry-button{background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.retry-button:hover{background:#b91c1c}.qa-shadcn-card{max-width:600px;margin:2rem auto;background:#fff;border-radius:var(--radius, .5rem);box-shadow:0 4px 24px #00000014;padding:2.5rem 2rem 2rem;border:1px solid hsl(var(--border, 0 0% 89.8%))}.qa-shadcn-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:hsl(var(--foreground, 222.2 47.4% 11.2%))}.qa-shadcn-form{display:flex;flex-direction:column;gap:1.5rem}.qa-shadcn-form-group{display:flex;flex-direction:column;gap:.5rem}.qa-shadcn-form-group label{font-weight:600;font-size:1rem;color:hsl(var(--muted-foreground, 215.4 16.3% 46.9%))}.qa-shadcn-input,.qa-shadcn-select,.qa-shadcn-textarea{width:100%;padding:.75rem .85rem;border:1px solid hsl(var(--input, 0 0% 89.8%));border-radius:var(--radius, .5rem);font-size:1rem;font-family:inherit;background:#fff;transition:border-color .15s}.qa-shadcn-input:focus,.qa-shadcn-select:focus,.qa-shadcn-textarea:focus{outline:none;border-color:hsl(var(--primary, 222.2 47.4% 11.2%));box-shadow:0 0 0 2px hsl(var(--primary, 222.2 47.4% 11.2%) / .08)}.qa-shadcn-textarea{font-family:monospace;line-height:1.4}.qa-shadcn-row{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.qa-shadcn-lang-select-wrapper{max-width:320px}.qa-shadcn-inline-options{display:flex;gap:2rem;flex-wrap:wrap;margin-top:.25rem}.qa-shadcn-checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:500}.qa-shadcn-checkbox{accent-color:hsl(var(--primary, 222.2 47.4% 11.2%));width:1.1rem;height:1.1rem}.qa-shadcn-actions{margin-top:1rem;display:flex;gap:1rem;flex-wrap:wrap}.qa-shadcn-btn-primary{background:hsl(var(--primary, 222.2 47.4% 11.2%));color:#fff;border:none;border-radius:var(--radius, .5rem);padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #00000014;transition:background .15s,transform .15s}.qa-shadcn-btn-primary:hover:not([disabled]){background:hsl(var(--primary, 222.2 47.4% 11.2%) / .85)}.qa-shadcn-btn-primary:active:not([disabled]){transform:translateY(1px)}.qa-shadcn-btn-primary[disabled]{opacity:.6;cursor:not-allowed}.qa-shadcn-btn-extract{background:hsl(142.1 76.2% 36.3%);color:#fff;border:none;border-radius:var(--radius, .5rem);padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #00000014;transition:background .15s,transform .15s}.qa-shadcn-btn-extract:hover:not([disabled]){background:hsl(142.1 76.2% 32%)}.qa-shadcn-btn-extract:active:not([disabled]){transform:translateY(1px)}.qa-shadcn-btn-extract[disabled]{opacity:.6;cursor:not-allowed}.qa-shadcn-btn-secondary{background:hsl(var(--muted, 215.4 16.3% 46.9%) / .1);color:hsl(var(--primary, 222.2 47.4% 11.2%));border:1px solid hsl(var(--primary, 222.2 47.4% 11.2%) / .2);font-weight:500}.qa-shadcn-btn-link{text-decoration:none;text-align:center;display:inline-block;width:fit-content}.qa-shadcn-help{font-size:.85rem;color:hsl(var(--muted-foreground, 215.4 16.3% 46.9%));line-height:1.2}.qa-shadcn-flex-col{display:flex;flex-direction:column;gap:.5rem}.qa-shadcn-loading{font-size:1rem;color:hsl(var(--muted-foreground, 215.4 16.3% 46.9%));text-align:center}.qa-shadcn-error-msg{font-size:.95rem;color:hsl(var(--destructive, 0 84.2% 60.2%));background:hsl(var(--destructive, 0 84.2% 60.2%) / .08);border:1px solid hsl(var(--destructive, 0 84.2% 60.2%) / .15);border-radius:var(--radius, .5rem);padding:.5rem 1rem;margin-top:.5rem}.qa-shadcn-success-msg{font-size:.95rem;color:#16a34a;background:hsl(142.1 76.2% 36.3% / .08);border:1px solid hsl(142.1 76.2% 36.3% / .15);border-radius:var(--radius, .5rem);padding:.5rem 1rem;margin-top:.5rem}.qa-shadcn-progress{margin-top:.5rem;font-size:.9rem;color:hsl(var(--muted-foreground, 215.4 16.3% 46.9%))}.url-form{margin-top:0;max-width:600px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1.5rem;background-color:hsl(var(--card))}.url-form .form-group{margin-bottom:1.5rem}.url-form .form-label{display:block;margin-bottom:.5rem;font-weight:500;color:hsl(var(--foreground));font-size:.875rem}.url-form .form-input-wrapper.wide-input{width:100%}.url-form .form-input-wrapper.wide-input .form-input{width:100%;box-sizing:border-box;height:2.5rem;padding:.5rem .75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius));background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;transition:border-color .2s ease}.url-form .form-input-wrapper.wide-input .form-input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.url-form .form-actions{margin-top:1.5rem;margin-bottom:0}.url-input{flex-grow:1;padding:8px;border:1px solid #ccc;border-radius:4px}.translate-button,.back-button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:700}.translate-button{background-color:#007bff;color:#fff}.back-button{background-color:#6c757d;color:#fff}.translate-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:red;margin-top:10px}.success-message{color:green;margin-top:10px;font-weight:700}.config-container{margin-top:20px;padding:15px;border:1px solid #ddd;border-radius:5px}.form-group{margin:15px 0}.form-group label{display:block;margin-bottom:5px;font-weight:700}.website-translate-container .form-group select{width:100%;padding:8px;border-radius:4px;border:1px solid #ccc}.language-selection-container{max-width:700px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1.5rem;background-color:hsl(var(--card));margin-bottom:1.5rem}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-input,.form-select{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;background-color:#fff;transition:border-color .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#007cba;box-shadow:0 0 0 2px #007cba1a}.form-input:disabled,.form-select:disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.button{padding:12px 24px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center;font-family:inherit}.button-primary{background-color:#007cba;color:#fff}.button-primary:hover:not(:disabled){background-color:#005a8b;transform:translateY(-1px)}.button-secondary{background-color:#f8f9fa;color:#333;border:1px solid #ddd}.button-secondary:hover:not(:disabled){background-color:#e9ecef;border-color:#adb5bd}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.google-signin-container{text-align:left;padding:0;margin-bottom:1.5rem}.google-signin-button{background-color:#4285f4;color:#fff;padding:12px 24px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .2s ease}.google-signin-button:hover{background-color:#3367d6}.language-selection-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;margin-bottom:0}.translation-progress-container{max-width:700px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1.5rem;background-color:hsl(var(--card));margin-bottom:1.5rem}.translation-progress-header{margin-bottom:1rem}.translation-progress-content{text-align:left}.progress-bar-container{width:100%;height:8px;background-color:hsl(var(--muted));border-radius:calc(var(--radius));overflow:hidden;position:relative}.progress-bar-fill{height:100%;background-color:hsl(var(--foreground));transition:width .3s ease;border-radius:calc(var(--radius))}.translation-results{text-align:center;padding:20px;border:1px solid #d4edda;background-color:#d1ecf1;border-radius:4px;margin:20px 0}.error-message{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;padding:12px;border-radius:4px;margin:20px 0}.sheet-configuration{max-width:600px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1.5rem;background-color:hsl(var(--card));margin-bottom:1.5rem}.sheet-configuration .form-group{margin-bottom:1.5rem}.sheet-configuration .form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;margin-bottom:0}.language-item{display:flex;align-items:center}.language-selection-actions{margin-top:20px;display:flex;justify-content:space-between}.translation-progress-container{margin-top:20px}.progress-bar-container{width:100%;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar{height:20px;background-color:#007bff;color:#fff;text-align:center;line-height:20px;transition:width .2s}.translation-results-container{max-width:700px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1.5rem;background-color:hsl(var(--card));margin-bottom:1.5rem}.translation-results-header,.translation-results-content{margin-bottom:1.5rem}.success-card{padding:1rem;border-radius:calc(var(--radius));background-color:#16a34a0d;border:1px solid hsl(142.1 76.2% 36.3% / .2);margin-bottom:1.5rem}.translation-results-info{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:calc(var(--radius));background-color:hsl(var(--muted) / .3);border:1px solid hsl(var(--border))}.info-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.info-label{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));min-width:100px}.info-value{font-size:.875rem;color:hsl(var(--foreground));text-align:right;flex:1}.info-value.success{color:#16a34a;font-weight:500}.translation-results-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:0}.quality-mode-section{border-top:1px solid hsl(var(--border));padding-top:1.5rem}.quality-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.quality-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid hsl(var(--border));border-radius:calc(var(--radius));cursor:pointer;transition:all .2s ease;background-color:hsl(var(--background))}.quality-option:hover{border-color:hsl(var(--primary) / .5);background-color:hsl(var(--muted) / .3)}.quality-option:has(input:checked){border-color:hsl(var(--primary));background-color:hsl(var(--primary) / .05)}.quality-radio{margin-top:.25rem;width:1.25rem;height:1.25rem;cursor:pointer;accent-color:hsl(var(--primary));flex-shrink:0}.quality-info{flex:1}.quality-title{font-weight:600;font-size:.95rem;color:hsl(var(--foreground));margin-bottom:.25rem}.quality-description{font-size:.85rem;color:hsl(var(--muted-foreground));line-height:1.4}.time-estimate{padding:.75rem 1rem;background-color:hsl(var(--muted) / .3);border-radius:calc(var(--radius));font-size:.9rem;color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.time-estimate strong{color:hsl(var(--foreground));margin-right:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:white;border-radius:12px;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background-color:#f3f4f6;color:#111827}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem}.term-preview{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.term-row{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.5rem}.term-row:last-child{margin-bottom:0}.term-label{font-weight:600;color:#6b7280;min-width:100px}.term-value{color:#111827;font-size:1.125rem}.modal-description{margin:0 0 1rem;color:#374151;font-size:1rem}.modal-note{margin:0;color:#6b7280;font-size:.875rem}.translating-progress{text-align:center;padding:2rem 0}.progress-info p{margin:0 0 .5rem;color:#374151}.progress-note{font-size:.875rem;color:#f59e0b!important;font-weight:500;margin-bottom:1rem!important}.progress-counter{font-size:.875rem;color:#6b7280}.progress-bar{width:100%;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden;margin-top:1rem}.progress-fill{height:100%;background:linear-gradient(to right,#3b82f6,#2563eb);transition:width .3s ease;border-radius:4px}.review-intro{margin:0 0 1.5rem;color:#374151;padding:1rem;background-color:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px}.translations-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto}.translation-item{border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background-color:#f9fafb}.translation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.language-name{font-weight:600;color:#111827;font-size:1rem}.rating-badge{padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.rating-1,.rating-2,.rating-3{background-color:#fef3c7;color:#92400e}.rating-4,.rating-5{background-color:#d1fae5;color:#065f46}.translation-value{color:#374151;font-size:1rem;padding:.5rem;background-color:#fff;border-radius:4px}.translation-input{width:100%;padding:.625rem;font-size:1rem;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;transition:all .2s ease}.translation-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.translation-input:hover{border-color:#9ca3af}.translation-error{color:#dc2626;font-size:.875rem;padding:.5rem;background-color:#fee2e2;border-radius:4px}.btn{padding:.625rem 1.25rem;border-radius:6px;font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.glossary-edit-container{width:100%;max-width:1200px;margin:0;padding:0}.glossary-edit-header{margin-bottom:2rem}.back-button{background:transparent;border:none;color:#6366f1;font-size:14px;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;display:inline-block}.back-button:hover{text-decoration:underline}.header-title h1{margin:0 0 .5rem;font-size:28px;color:#111}.language-code-display{color:#666;font-size:14px;margin:0}.error-message{background:#fee2e2;border:1px solid #ef4444;color:#991b1b;padding:1rem;border-radius:6px;margin-bottom:1rem}.glossary-edit-loading{text-align:center;padding:3rem;color:#666}.no-glossary{background:white;border:2px dashed #e5e7eb;border-radius:8px;padding:3rem;text-align:center}.no-glossary p{margin-bottom:1.5rem;color:#666}.create-button{background:#6366f1;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.create-button:hover{background:#4f46e5}.create-button:disabled{background:#9ca3af;cursor:not-allowed}.entries-section{background:white;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.section-header h2{margin:0;font-size:20px;color:#111}.saving-indicator{color:#6366f1;font-size:14px;font-weight:500}.add-entry-form{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#f9fafb;border-radius:6px}.entry-input{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.entry-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.add-button{background:#000;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:14px;font-weight:400;cursor:pointer;white-space:nowrap;transition:background .2s}.add-button:hover{background:#333}.add-button:disabled{background:#9ca3af;cursor:not-allowed}.entries-list{display:flex;flex-direction:column;gap:.75rem}.no-entries{text-align:center;color:#666;padding:2rem;font-style:italic}.entry-row{display:grid;grid-template-columns:1fr auto 1fr auto;gap:1rem;align-items:center;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s}.entry-row:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.entry-text{font-size:14px;color:#111}.entry-arrow{color:#6366f1;font-weight:700;font-size:16px}.entry-edit-actions{display:flex;gap:.5rem;grid-column:1 / -1;justify-content:flex-end;margin-top:.5rem}.save-edit-button{background:#6366f1;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.save-edit-button:hover{background:#4f46e5}.save-edit-button:disabled{background:#9ca3af;cursor:not-allowed}.cancel-edit-button{background:transparent;color:#6b7280;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.cancel-edit-button:hover{background:#f3f4f6;border-color:#9ca3af}@media (max-width: 768px){.add-entry-form{grid-template-columns:1fr}.entry-row{grid-template-columns:1fr;gap:.5rem}.entry-arrow{display:none}}.corrections-container{padding:2rem;max-width:1200px;margin:0 auto}.corrections-header{margin-bottom:2rem;border-bottom:1px solid #e2e8f0;padding-bottom:1rem}.corrections-header h2{margin:0 0 .5rem;color:#1f2937;font-size:1.875rem;font-weight:600}.corrections-header p{margin:0;color:#6b7280;font-size:1rem}.corrections-filters{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-label{font-weight:500;color:#374151;white-space:nowrap}.language-select{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;background-color:#fff;cursor:pointer;min-width:200px}.language-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.language-select:disabled{background-color:#f3f4f6;cursor:not-allowed}.corrections-content{display:flex;flex-direction:column;gap:1.5rem}.corrections-placeholder{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:2rem;text-align:center}.corrections-placeholder h3{margin:0 0 1rem;color:#374151;font-size:1.25rem;font-weight:500}.corrections-placeholder p{margin:0 0 1rem;color:#6b7280}.loading-message{text-align:center;padding:2rem;color:#6b7280;font-size:1.1rem}.error-message{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:1rem;border-radius:6px;margin-bottom:1rem}.corrections-list{display:flex;flex-direction:column;gap:1rem}.corrections-list-header{margin-bottom:1rem}.corrections-list-header h3{margin:0;color:#374151;font-size:1.25rem;font-weight:500}.correction-item{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:box-shadow .2s ease}.correction-item:hover{box-shadow:0 4px 6px -1px #0000001a}.correction-content{margin-bottom:1rem}.correction-texts{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.text-section{display:flex;flex-direction:column;gap:.25rem}.text-label{font-weight:500;color:#374151;font-size:.875rem}.text-content{margin:0;padding:.75rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;line-height:1.5}.english-text{border-left:4px solid #2563eb}.translated-text{border-left:4px solid #dc2626}.revised-text{border-left:4px solid #059669}.comments-text{border-left:4px solid #7c3aed}.correction-meta{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;font-size:.875rem}.meta-info{display:flex;gap:.25rem}.meta-label{font-weight:500;color:#6b7280}.meta-value{color:#374151}.correction-actions{display:flex;gap:.5rem;justify-content:flex-end}.correction-actions button{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.edit-button{background-color:#2563eb;color:#fff}.edit-button:hover{background-color:#1d4ed8}.delete-button{background-color:#dc2626;color:#fff}.delete-button:hover{background-color:#b91c1c}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:hsl(var(--card));border-radius:calc(var(--radius));border:1px solid hsl(var(--border));box-shadow:0 20px 25px -5px #0000001a;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid hsl(var(--border))}.modal-header h3{margin:0;color:hsl(var(--foreground));font-size:1.25rem;font-weight:600}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:hsl(var(--muted-foreground));padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:hsl(var(--foreground))}.correction-form{padding:1.5rem}.form-group:not(:first-child) .form-label{margin-top:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:hsl(var(--foreground))}.corrections-container .form-textarea{width:100%;padding:.75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:1rem;font-family:inherit;resize:vertical;box-sizing:border-box;background-color:hsl(var(--background));color:hsl(var(--foreground))}.corrections-container .form-textarea:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.corrections-container .form-textarea.error{border-color:hsl(var(--destructive))}.error-text{color:hsl(var(--destructive));font-size:.875rem;margin-top:.25rem;display:block}.form-buttons{display:flex;gap:.5rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.save-button{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;padding:.75rem 1.5rem;border-radius:calc(var(--radius) - 2px);font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-button:hover{background-color:hsl(var(--primary) / .9)}.cancel-button{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border:none;padding:.75rem 1.5rem;border-radius:calc(var(--radius) - 2px);font-weight:500;cursor:pointer;transition:background-color .2s ease}.cancel-button:hover{background-color:hsl(var(--muted) / .8)}.hooks-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem}.hook-card{position:relative;border-radius:calc(var(--radius));overflow:visible;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 1px 3px #0000001a;width:280px;flex-shrink:0}.hook-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.hook-card-media{position:relative;width:100%;height:320px;overflow:hidden;background:linear-gradient(135deg,hsl(var(--primary)) 0%,hsl(var(--primary) / .8) 100%);border-radius:calc(var(--radius))}.hook-card-thumbnail{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.hook-card:hover .hook-card-thumbnail{transform:scale(1.05)}.hook-card-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,hsl(var(--primary)) 0%,hsl(var(--primary) / .8) 100%)}.loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.hook-card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.placeholder-icon{font-size:52px;opacity:.8;display:flex;align-items:center;justify-content:center}.hook-card-overlay{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 50%,transparent 100%);pointer-events:none}.hook-card-title{position:absolute;bottom:0;left:0;right:0;padding:18px;color:#fff;z-index:2}.hook-card-title h3{margin:0;font-size:17px;font-weight:600;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 1px 2px rgba(0,0,0,.5)}.hook-delete-button{position:absolute;top:12px;right:12px;background:hsl(var(--background) / .95);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid hsl(var(--border));border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:hsl(var(--muted-foreground));z-index:10;transition:all .2s ease;box-shadow:0 2px 8px #00000026;opacity:0;transform:scale(.8)}.hook-card:hover .hook-delete-button{opacity:1;transform:scale(1)}.hook-delete-button:hover{background:hsl(var(--background));color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3);transform:scale(1.1);box-shadow:0 4px 12px hsl(var(--destructive) / .2)}.hook-delete-button:disabled{opacity:.5;cursor:not-allowed}.hook-form{border:1px solid #ddd;padding:20px;margin-bottom:20px;border-radius:5px;background-color:#f9f9f9}.hook-form .form-group{margin-bottom:15px}.hook-form .form-group label{display:block;margin-bottom:5px;font-weight:700}.hook-form .form-group input,.hook-form .form-group textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}.form-actions{display:flex;gap:10px;margin-top:20px}.btn{padding:8px 15px;border-radius:4px;cursor:pointer;border:none}.empty-state{text-align:center;padding:30px;color:#666}.loading{text-align:center;padding:20px;font-style:italic;color:#666}@media (max-width: 768px){.hooks-grid{gap:.875rem}.hook-card{width:240px}.hook-card-media{height:240px}.hooks-container{padding:16px}}.hook-preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;padding:80px 20px 40px;overflow-y:auto;overscroll-behavior:contain;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hook-preview-modal{position:relative;max-width:400px;width:100%;display:flex;flex-direction:column;align-items:center;flex-shrink:0;margin-top:20px}.hook-preview-close{position:fixed;top:20px;right:20px;background:hsl(var(--card));border:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:24px;cursor:pointer;z-index:1001;padding:8px 12px;border-radius:calc(var(--radius));transition:all .2s;width:50px;height:50px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d}.hook-preview-close:hover{background-color:hsl(var(--muted));border-color:hsl(var(--primary))}.hook-video-container{position:relative;width:100%;max-width:400px;border-radius:calc(var(--radius) + 4px);overflow:hidden;box-shadow:0 10px 30px #0006;background-color:hsl(var(--muted));border:1px solid hsl(var(--border));min-height:300px;display:flex;align-items:center;justify-content:center}.hook-preview-video{width:100%;height:auto;display:block;max-height:60vh;object-fit:cover;transition:opacity .3s ease}.hook-video-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;color:#fff;z-index:5}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-bottom:10px}.hook-video-loading p{margin:0;font-size:14px;color:#fffc}.hook-title-overlay{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10;text-align:center;width:90%}.hook-title-text{display:inline-block;background-color:#0003;color:#fff;padding:12px 20px;border-radius:8px;font-size:24px;font-weight:700;line-height:1.3;max-width:100%;word-wrap:break-word;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hook-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:hsl(var(--card));border:1px solid hsl(var(--border));width:50px;height:50px;border-radius:50%;font-size:16px;color:hsl(var(--foreground));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:20;box-shadow:0 4px 12px #0003}.hook-nav-btn:hover{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary));transform:translateY(-50%) scale(1.1)}.hook-nav-prev{left:-70px}.hook-nav-next{right:-70px}.hook-counter{color:#fff;font-size:12px;font-weight:600}.hook-overlay-box{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px 15px 15px;z-index:15;color:#fff}.hook-explanation-overlay{margin:0}.hook-explanation-overlay h3{font-size:14px;font-weight:600;margin:0 0 6px;color:#fff}.explanation-toggle-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:#fff;width:32px;height:32px;border-radius:calc(var(--radius));cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .2s;flex-shrink:0;line-height:1}.explanation-toggle-btn:hover{background:rgba(255,255,255,.25);border-color:#fff6}.hook-title-container{position:relative;cursor:pointer;display:inline-block;margin-bottom:6px}.hook-explanation-overlay p{font-size:12px;line-height:1.4;margin:0;color:#ffffffe6}.hook-overlay-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.hook-overlay-left{flex:1;display:flex;flex-direction:column;gap:8px}.hook-overlay-right{display:flex;align-items:flex-start;justify-content:flex-end}.hook-counter-overlay{font-size:11px;font-weight:600;color:#fffc;white-space:nowrap;margin-bottom:4px}.hook-description-section{width:100%;max-width:400px;margin-top:1.5rem;margin-bottom:1.5rem;background-color:#000000d9;border-radius:calc(var(--radius) + 4px);overflow:hidden;border:1px solid rgba(255,255,255,.15);flex-shrink:0;box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hook-description-content{padding:1.5rem}.hook-instructions-section h3{margin:0 0 1rem;color:#fffffff2;font-size:1.125rem;font-weight:600}.hook-instructions-textarea{width:100%;min-height:100px;padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:calc(var(--radius) - 2px);background-color:#0006;color:#fffffff2;font-family:inherit;font-size:.875rem;line-height:1.5;resize:vertical;margin-bottom:1rem;box-sizing:border-box;transition:all .2s}.hook-instructions-textarea:focus{outline:none;border-color:#fff6;background-color:#00000080;box-shadow:0 0 0 3px #ffffff1a}.hook-instructions-textarea::placeholder{color:#ffffff80}.hook-instructions-actions{display:flex;gap:.75rem;justify-content:flex-end}.save-instructions-btn,.generate-single-hook-btn{padding:.625rem 1.25rem;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.save-instructions-btn{background-color:#ffffff26;color:#fffffff2;border:1px solid rgba(255,255,255,.25)}.save-instructions-btn:hover{background-color:#ffffff40;border-color:#fff6}.generate-single-hook-btn{background-color:#ffffffe6;color:#000000e6;flex:1}.generate-single-hook-btn:hover:not(:disabled){background-color:#fff}.generate-single-hook-btn:disabled{background-color:#ffffff4d;color:#ffffff80;cursor:not-allowed;opacity:.6}.hook-instructions-actions .generate-single-hook-btn:only-child{flex:1}@media (max-width: 768px){.hook-preview-modal-overlay{padding:80px 15px 40px;justify-content:flex-start}.hook-preview-modal{margin-top:10px}.hook-preview-close{top:15px;right:15px;font-size:24px;width:40px;height:40px}.hook-overlay-box{padding:15px 12px 12px}.hook-explanation-overlay h3{font-size:13px}.hook-explanation-overlay p{font-size:11px}.hook-counter-overlay{font-size:10px}.hook-delete-btn-overlay{width:24px;height:24px;font-size:12px}.hook-instructions-actions{flex-direction:column}.save-instructions-btn,.generate-single-hook-btn{width:100%}.hook-nav-prev{left:10px;top:20px;transform:none}.hook-nav-next{right:10px;top:20px;transform:none}.hook-title-text{font-size:18px;padding:8px 14px}.hook-description-section{margin-top:15px;margin-bottom:20px}.hook-preview-video{max-height:50vh}}.page-header{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.page-header h2{margin:0;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground))}.header-left{display:flex;justify-content:flex-start}.back-button{background-color:transparent;border:none;color:hsl(var(--primary));cursor:pointer;font-size:.95rem;padding:.375rem .75rem;border-radius:calc(var(--radius) - 2px);display:inline-flex;align-items:center;gap:.5rem;transition:background-color .2s;font-weight:500;margin-bottom:.5rem}.back-button:hover{background-color:hsl(var(--muted))}.edit-hook-form{display:flex;flex-direction:column;gap:1.5rem}.edit-hook-form .form-group{display:flex;flex-direction:column;gap:.5rem}.edit-hook-form .form-group label{font-weight:500;color:hsl(var(--foreground));font-size:.875rem}.edit-hook-form .form-group input,.edit-hook-form .form-group textarea,.edit-hook-form .form-group select{width:100%;max-width:600px;padding:.75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-family:inherit;background-color:hsl(var(--background));color:hsl(var(--foreground));box-sizing:border-box;transition:border-color .2s;line-height:1.5}.edit-hook-form .form-group input:focus,.edit-hook-form .form-group textarea:focus,.edit-hook-form .form-group select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.edit-hook-form .form-group textarea{min-height:120px;resize:vertical}.title-input{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem;font-family:inherit;line-height:1.5}.form-actions{display:flex;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.btn{padding:10px 15px;border-radius:4px;cursor:pointer;border:none;font-size:1rem}.primary-btn{background-color:#06c;color:#fff}.secondary-btn{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.btn-outline{padding:.5rem 1rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem;font-weight:500;border:1px solid;background-color:transparent;transition:background-color .2s,border-color .2s}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-outline-primary{border-color:hsl(var(--primary));color:hsl(var(--primary))}.btn-outline-primary:hover:not(:disabled){background-color:hsl(var(--primary) / .1)}.btn-outline-secondary{border-color:hsl(var(--border));color:hsl(var(--foreground))}.btn-outline-secondary:hover:not(:disabled){background-color:hsl(var(--muted) / .5)}.btn-outline-destructive{border-color:hsl(var(--destructive));color:hsl(var(--destructive))}.btn-outline-destructive:hover:not(:disabled){background-color:hsl(var(--destructive) / .1)}.loading{text-align:center;padding:30px;font-style:italic}.error-container{text-align:center;padding:2rem;color:hsl(var(--destructive))}.success-message{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary));padding:.75rem 1rem;margin:1rem 0;border-radius:calc(var(--radius) - 2px);text-align:center;font-weight:500;border-left:4px solid hsl(var(--primary));animation:fadeIn .3s ease-in}.unsaved-changes-message{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));padding:.75rem 1rem;margin:1rem 0;border-radius:calc(var(--radius) - 2px);text-align:center;font-weight:500;border-left:4px solid hsl(var(--muted-foreground));animation:fadeIn .3s ease-in}.media-upload-container{margin-bottom:1.5rem}.file-input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.media-upload-container .file-input-label{display:inline-block!important;padding:.5rem 1rem;background-color:hsl(var(--primary));color:#fff!important;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem!important;transition:background-color .2s;font-weight:500!important;border:none;width:auto!important;max-width:none!important}.media-upload-container .file-input-label:hover{background-color:hsl(var(--primary) / .9)}.file-input:focus+.file-input-label{outline:2px solid hsl(var(--primary));outline-offset:2px}.file-input-label.disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.5}.file-input-label.disabled:hover{background-color:hsl(var(--muted))}.upload-hint{margin-top:.5rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.media-preview-container{margin-top:10px;padding-top:5px}.media-preview-container h4{margin-top:0;margin-bottom:15px}.single-media-preview{max-width:600px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.media-item{border:1px solid #ddd;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.media-content{position:relative}.image-container,.video-container{background-color:#f5f5f5;display:flex;justify-content:center;padding:15px}.media-preview-natural{max-width:100%;max-height:400px;object-fit:contain;display:block}.file-preview{height:150px;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center}.file-name{padding:10px;text-align:center;word-break:break-word}.media-actions{position:absolute;top:8px;right:8px;z-index:10}.media-menu{position:relative}.media-menu-btn{background:rgba(200,200,200,.8)!important;border:none!important;color:#000!important;font-size:18px!important;width:28px!important;height:28px!important;border-radius:50%!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:background-color .2s!important}.media-menu-btn:hover{background:rgba(180,180,180,.9)!important}.media-menu-dropdown{position:absolute;top:32px;right:0;background:white;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;min-width:100px;opacity:0;visibility:hidden;transform:translateY(-5px);transition:all .2s ease;z-index:20}.media-menu:hover .media-menu-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.media-menu-item{display:block!important;width:100%!important;padding:8px 12px!important;background:none!important;border:none!important;text-align:left!important;cursor:pointer!important;font-size:14px!important;color:#333!important;text-decoration:none!important;transition:background-color .2s!important;font-family:inherit!important;font-weight:400!important}.media-menu-item:hover{background-color:#f5f5f5!important;color:#333!important}.media-action-btn{background:none!important;border:none!important;font-size:14px!important;cursor:pointer!important;text-decoration:underline!important;color:#06c!important;padding:2px 4px!important;transition:color .2s!important;font-family:inherit!important;font-weight:400!important;line-height:1.2!important;margin:0!important;display:inline-block!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;outline:none!important;white-space:nowrap!important}.media-action-btn:hover{color:#049!important;text-decoration:underline!important}.change-btn,.delete-btn{color:#06c!important;font-size:14px!important;font-family:inherit!important;font-weight:400!important;text-decoration:underline!important}.change-btn:hover,.delete-btn:hover{color:#049!important;text-decoration:underline!important}.ai-summary{margin-top:15px;padding:15px;background-color:#f8f9fa;border-radius:8px}.ai-summary h4{margin:0 0 10px;color:#666;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.ai-icon{width:16px;height:16px;object-fit:contain}.ai-summary p{margin:0 0 5px;color:#333;line-height:1.5;font-size:14px}.ai-summary small{color:#666;font-size:12px;font-style:italic}.ai-processing-status{margin-top:10px;padding:10px;background-color:#e8f4fd;border-radius:6px;border-left:4px solid #0066cc;display:flex;align-items:center;gap:10px;font-size:14px;color:#06c}.ai-spinner{width:16px;height:16px;border:2px solid #e0e0e0;border-top:2px solid #0066cc;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-status-message{margin-top:10px;padding:8px 12px;background-color:#d4edda;border-radius:4px;color:#155724;font-size:13px}.upload-progress{margin-top:.75rem;padding:.75rem 1rem;background-color:hsl(var(--muted) / .3);border-radius:calc(var(--radius) - 2px);max-width:600px}.progress-bar{width:100%;height:3px;background-color:hsl(var(--muted));border-radius:2px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background-color:hsl(var(--foreground));border-radius:2px;animation:progress-animation 2s infinite}@keyframes progress-animation{0%{width:0%}50%{width:70%}to{width:100%}}.progress-message{font-size:.8125rem;color:hsl(var(--foreground));font-weight:500;margin-bottom:.25rem}.progress-warning{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic}.hooks-section{margin-top:0}.hooks-empty{text-align:center;padding:2rem;border:2px dashed hsl(var(--border));border-radius:calc(var(--radius));background-color:hsl(var(--muted) / .3)}.hooks-empty p{margin:0 0 1.5rem;color:hsl(var(--muted-foreground));font-size:.95rem}.hooks-empty-actions{display:flex;gap:.75rem;justify-content:center;align-items:center;margin-bottom:1rem}.generate-hooks-btn{padding:12px 24px;font-size:.95rem;font-weight:600}.hooks-list{border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1rem;background-color:hsl(var(--card))}.hooks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border))}.hooks-actions{display:flex;gap:.5rem;align-items:center}.hooks-count{font-weight:600;color:hsl(var(--foreground));font-size:.95rem}.danger-btn{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));border:1px solid hsl(var(--destructive));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-weight:500;transition:background-color .2s;padding:.5rem 1rem;font-size:.875rem}.danger-btn:hover:not(:disabled){background-color:hsl(var(--destructive) / .9);border-color:hsl(var(--destructive) / .9)}.danger-btn:disabled{background-color:hsl(var(--muted));border-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.hooks-error{margin:1rem 0 0;padding:.75rem;background-color:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:calc(var(--radius) - 2px);color:hsl(var(--destructive));font-size:.875rem}.edit-hook-list{display:flex;flex-direction:column;gap:.75rem}.hook-item{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1rem;transition:border-color .2s,box-shadow .2s;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.hook-item:hover{border-color:hsl(var(--primary));box-shadow:0 2px 4px #0000000d}.hook-content{flex:1;background-color:transparent}.hook-title{font-weight:600;font-size:.9375rem;line-height:1.4;color:hsl(var(--foreground));margin-bottom:.5rem}.hook-description{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5;margin-bottom:.75rem}.hook-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.hook-delete-btn{background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));cursor:pointer;padding:.375rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:calc(var(--radius) - 2px);transition:all .2s;flex-shrink:0}.hook-delete-btn:hover{background-color:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive));color:hsl(var(--destructive))}.hook-preview-btn{background-color:transparent;color:hsl(var(--primary));border:1px solid hsl(var(--primary));padding:.375rem .75rem;border-radius:calc(var(--radius) - 2px);font-size:.875rem;cursor:pointer;transition:all .2s ease;font-weight:500;align-self:flex-start}.hook-preview-btn:hover:not(:disabled){background-color:hsl(var(--primary) / .1)}.hook-preview-btn:disabled{opacity:.5;cursor:not-allowed;border-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.access-denied{text-align:center;padding:3rem;background-color:hsl(var(--muted) / .3);border-radius:calc(var(--radius));border:1px solid hsl(var(--border));margin:2rem 0}.access-denied p{color:hsl(var(--muted-foreground));font-size:1rem;margin:0}.users-table-container{background-color:hsl(var(--card));border-radius:calc(var(--radius));overflow-x:auto;box-shadow:0 1px 3px #0000001a;border:1px solid hsl(var(--border));margin-bottom:2rem}.users-table{width:100%;min-width:800px;border-collapse:collapse}.users-table th,.users-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid hsl(var(--border));font-size:.875rem}.users-table th{background-color:hsl(var(--muted) / .5);font-weight:500;color:hsl(var(--muted-foreground));font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em;position:sticky;top:0;z-index:10}.users-table tbody tr{transition:background-color .15s}.users-table tbody tr:hover{background-color:hsl(var(--muted) / .3)}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody td{color:hsl(var(--foreground))}.user-info{display:flex;align-items:center;gap:.5rem}.user-name{font-weight:400;color:hsl(var(--foreground))}.current-user-badge{font-size:.6875rem;color:hsl(var(--primary));font-weight:500;padding:.125rem .375rem;background-color:hsl(var(--primary) / .1);border-radius:calc(var(--radius) - 4px);border:1px solid hsl(var(--primary) / .2)}.role-checkbox{display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.checkmark{width:1.125rem;height:1.125rem;border:1.5px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);display:flex;align-items:center;justify-content:center;transition:all .15s ease;position:relative;background-color:hsl(var(--background))}.checkmark:hover{border-color:hsl(var(--primary) / .5)}.users-table .role-checkbox input[type=checkbox]:checked+.checkmark{background-color:#000;border-color:#000}.users-table .role-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:.75rem;font-weight:600;line-height:1}.role-checkbox input[type=checkbox]:disabled+.checkmark{opacity:.4;cursor:not-allowed;background-color:hsl(var(--muted) / .5);border-color:hsl(var(--border))}.role-checkbox input[type=checkbox]:disabled+.checkmark:hover{border-color:hsl(var(--border))}.no-users{text-align:center;padding:3rem;color:hsl(var(--muted-foreground));font-size:.95rem}@media (max-width: 768px){.users-table-container{overflow-x:auto}.users-table{min-width:800px}}@media (max-width: 480px){.users-table th,.users-table td{padding:.5rem;font-size:.875rem}}.form-container{background-color:hsl(var(--card));border-radius:calc(var(--radius));padding:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid hsl(var(--border));margin-bottom:2rem}.create-user-form{display:flex;flex-direction:column;gap:1.5rem}.create-user-form .form-group{display:flex;flex-direction:column;gap:.5rem}.create-user-form .form-group label{font-weight:500;color:hsl(var(--foreground));font-size:.875rem}.create-user-form .form-group input{max-width:600px;padding:.75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s}.create-user-form .form-group input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.create-user-form .form-group input:disabled{background-color:hsl(var(--muted) / .3);cursor:not-allowed;opacity:.6}.password-hint{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.25rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-start;margin-top:1rem}.btn{padding:.625rem 1.25rem;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn.primary:hover:not(:disabled){background-color:hsl(var(--primary) / .9)}.btn.secondary{background-color:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.btn.secondary:hover:not(:disabled){background-color:hsl(var(--muted) / .8)}.info-section{background-color:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1.5rem;max-width:600px}.info-section h3{margin:0 0 1rem;color:hsl(var(--foreground));font-size:1rem;font-weight:600}.info-section ul{margin:0;padding-left:1.5rem}.info-section li{color:hsl(var(--muted-foreground));margin-bottom:.5rem;line-height:1.5;font-size:.875rem}.roles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.5rem;max-width:600px}.role-option{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--card));transition:all .15s}.role-option:hover{border-color:hsl(var(--primary) / .5);background-color:hsl(var(--muted) / .3)}.role-checkbox{display:flex;align-items:center;padding:.75rem;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.role-checkbox input[type=checkbox]{display:none}.checkmark{width:1rem;height:1rem;border:1.5px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0;background-color:hsl(var(--background));margin-right:.5rem}.role-checkbox input[type=checkbox]:checked+.checkmark{background-color:#000;border-color:#000}.role-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:.6875rem;font-weight:600;line-height:1}.role-checkbox input[type=checkbox]:disabled+.checkmark{opacity:.4;cursor:not-allowed;background-color:hsl(var(--muted) / .5)}.role-title{font-weight:500;color:hsl(var(--foreground));font-size:.875rem;line-height:1.3;display:inline-flex;align-items:center;flex:1}.role-description{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.4;width:100%;margin-top:.25rem;padding-left:1.625rem}.admin-note{font-size:.75rem;color:hsl(var(--destructive));font-weight:500;width:100%;margin-top:.25rem;padding-left:1.625rem}.role-checkbox.disabled{opacity:.6;cursor:not-allowed}.roles-loading{text-align:center;color:hsl(var(--muted-foreground));padding:1rem;font-style:italic}.roles-hint{display:block;margin-top:.5rem;color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.4;max-width:600px}@media (max-width: 768px){.form-container{padding:1.5rem}.form-group input,.roles-grid,.roles-hint,.info-section{max-width:100%}.roles-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}.success-message{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary));padding:.75rem 1rem;border:1px solid hsl(var(--primary) / .2);border-radius:calc(var(--radius) - 2px);margin-bottom:1.5rem;border-left:4px solid hsl(var(--primary));font-weight:500;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-message{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive));padding:.75rem 1rem;border:1px solid hsl(var(--destructive) / .2);border-radius:calc(var(--radius) - 2px);margin-bottom:1.5rem;border-left:4px solid hsl(var(--destructive));font-weight:500}.loading{text-align:center;padding:3rem;color:hsl(var(--muted-foreground));font-style:italic}.permissions-table-container{background-color:hsl(var(--card));border-radius:calc(var(--radius));overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid hsl(var(--border));margin-bottom:2rem}.permissions-table{width:100%;border-collapse:collapse;font-size:.875rem}.permissions-table th{background-color:hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border));padding:.875rem .75rem;text-align:left;font-weight:500;color:hsl(var(--muted-foreground));font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em}.permissions-table th:first-child{width:200px}.permissions-table th:nth-child(2){width:300px}.role-header{text-align:center!important;min-width:100px;position:relative}.permissions-table td{border-bottom:1px solid hsl(var(--border));padding:.875rem .75rem;vertical-align:middle}.permissions-table tbody tr{transition:background-color .15s}.permissions-table tbody tr:hover:not(.category-row){background-color:hsl(var(--muted) / .3)}.permissions-table tbody tr:last-child td{border-bottom:none}.category-row{background-color:hsl(var(--muted) / .5)}.category-header{font-weight:600;color:hsl(var(--foreground));padding:.75rem 1rem!important;font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em}.permission-info{display:flex;flex-direction:column;gap:.25rem}.permission-name{font-weight:500;color:hsl(var(--foreground));font-size:.875rem}.permission-id{font-size:.75rem;color:hsl(var(--muted-foreground));font-family:monospace}.permission-description{color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.4}.permission-checkbox{display:flex;justify-content:center;align-items:center;cursor:pointer;position:relative}.permission-checkbox input[type=checkbox]{display:none}.permission-checkbox .checkmark{width:1.125rem;height:1.125rem;border:1.5px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);background-color:hsl(var(--background));display:flex;align-items:center;justify-content:center;transition:all .15s ease}.permission-checkbox .checkmark:hover{border-color:hsl(var(--primary) / .5)}.permission-checkbox input[type=checkbox]:checked+.checkmark{background-color:#000;border-color:#000}.permission-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:.75rem;font-weight:600;line-height:1}.permission-checkbox input[type=checkbox]:disabled+.checkmark{opacity:.4;cursor:not-allowed;background-color:hsl(var(--muted) / .5)}.security-lock{margin-left:.5rem;font-size:.75rem;opacity:.7;cursor:help}.no-data{text-align:center;padding:3rem;color:hsl(var(--muted-foreground));font-style:italic;font-size:.95rem}@media (max-width: 768px){.permissions-table-container{overflow-x:auto}.permissions-table{min-width:800px}}.import-modal{max-width:700px;width:95%}.import-tabs{display:flex;border-bottom:1px solid hsl(var(--border));padding:0 1.5rem;gap:.5rem}.import-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.import-tab:hover:not(:disabled){color:hsl(var(--foreground));background:hsl(var(--muted) / .5)}.import-tab.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary))}.import-tab:disabled{opacity:.5;cursor:not-allowed}.import-section{margin-bottom:1.5rem}.import-section label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.import-section label.instructions-label{margin-top:1rem;font-weight:400;color:hsl(var(--muted-foreground))}.import-textarea{width:100%;min-height:300px;padding:.75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));font-family:inherit;font-size:.875rem;line-height:1.6;resize:vertical;transition:border-color .2s;box-sizing:border-box}.import-textarea:focus{outline:none;border-color:hsl(var(--primary))}.import-textarea.code{font-family:Monaco,Menlo,Consolas,monospace;font-size:.8rem}.import-textarea.instructions{min-height:80px;font-style:italic;background:hsl(var(--muted) / .3)}.import-input{width:100%;padding:.75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));font-family:inherit;font-size:.875rem;transition:border-color .2s;box-sizing:border-box}.import-input:focus{outline:none;border-color:hsl(var(--primary))}.import-hint{margin-top:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.file-upload-area{position:relative;border:2px dashed hsl(var(--border));border-radius:calc(var(--radius) - 2px);padding:2rem;text-align:center;transition:all .2s;background:hsl(var(--muted) / .3)}.file-upload-area:hover{border-color:hsl(var(--primary));background:hsl(var(--muted) / .5)}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.file-input:disabled{cursor:not-allowed}.file-upload-label{pointer-events:none}.file-name{color:hsl(var(--foreground));font-weight:500}.file-placeholder{color:hsl(var(--muted-foreground))}.error-message{color:hsl(var(--destructive));font-size:.875rem;margin-top:.5rem}.search-box{width:100%}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.75rem;font-size:1rem;opacity:.5;pointer-events:none}.search-input{width:100%;padding:.75rem 2.5rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));transition:all .2s;box-sizing:border-box;font-family:inherit}.search-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.search-input::placeholder{color:hsl(var(--muted-foreground));opacity:.6}.search-clear{position:absolute;right:.5rem;background:none;border:none;font-size:1.5rem;color:hsl(var(--muted-foreground));cursor:pointer;padding:.25rem .5rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s;line-height:1}.search-clear:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.search-clear:active{transform:scale(.95)}.articles-header{margin-bottom:2rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.header-actions{display:flex;gap:1rem}.btn-import-article,.btn-create-article{padding:.75rem 1.5rem;background:hsl(var(--primary));color:#fff;border:none;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-import-article{background:hsl(var(--muted));color:hsl(var(--foreground))}.btn-import-article .btn-icon{font-size:1.25rem;font-weight:400;color:#000;line-height:1}.btn-create-article .btn-icon{font-size:1.25rem;font-weight:400;color:#fff;line-height:1}.btn-import-article:hover,.btn-create-article:hover{background:hsl(var(--primary) / .9);transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--primary) / .3)}.btn-import-article:hover{background:hsl(var(--muted) / .8);box-shadow:0 4px 12px hsl(var(--muted) / .3)}.btn-import-article:active,.btn-create-article:active{transform:translateY(0)}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:1rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);align-items:center}.category-filter-badge{display:inline-block;padding:.25rem .75rem;background:transparent;color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));font-size:.75rem;font-weight:500;border-radius:.25rem;cursor:pointer;transition:all .2s;font-family:inherit}.category-filter-badge:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.category-filter-badge.selected{background:hsl(0,0%,0%);color:#fff;border-color:#000}.clear-filters-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:none;color:hsl(var(--destructive));border:none;font-size:.75rem;font-weight:500;border-radius:.25rem;cursor:pointer;transition:all .2s;font-family:inherit}.clear-filters-btn:hover{text-decoration:underline}.articles-loading,.articles-empty{text-align:center;padding:3rem 1rem;color:hsl(var(--muted-foreground))}.articles-loading .spinner{width:48px;height:48px;margin:0 auto 1rem;border:4px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}.articles-empty p{margin:.5rem 0}.articles-list{display:grid;gap:1rem}.article-card{padding:1.5rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all .2s ease;position:relative;z-index:1}.article-card.active-menu{z-index:1000}.article-card:hover{border-color:hsl(var(--primary));box-shadow:0 4px 12px hsl(var(--primary) / .1);transform:translateY(-2px)}.article-card-header{position:relative;margin-bottom:.75rem}.action-menu-wrapper{position:absolute;top:0;right:0;z-index:999}.article-title{margin:0;font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));padding-right:3rem}.article-categories{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.category-badge{display:inline-block;padding:.125rem .5rem;background:transparent;color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));font-size:.75rem;font-weight:500;border-radius:.25rem;line-height:1.5}.article-author{margin:.5rem 0 0;font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:400}.article-status{padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:1rem;white-space:nowrap}.status-draft{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.status-public{background:hsl(var(--muted));color:#16a249}.status-internal{background:hsl(var(--muted));color:#2463eb}.article-card-meta{display:flex;gap:1rem;margin-bottom:.5rem}.article-card-status{display:flex;margin-top:.25rem}.article-date{font-size:.875rem;color:hsl(var(--muted-foreground))}.article-preview{margin:0;font-size:.875rem;line-height:1.6;color:hsl(var(--muted-foreground))}.form-input{width:100%;padding:.75rem;font-size:1rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));transition:all .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.form-input:disabled{opacity:.5;cursor:not-allowed}.btn-cancel,.btn-primary{padding:.625rem 1.25rem;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-cancel:hover:not(:disabled){background:hsl(var(--muted) / .8)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.articles-header{flex-direction:column;align-items:stretch}.search-section{max-width:100%}.header-actions{flex-direction:column}}.rich-text-editor{width:100%}.rich-text-editor.disabled{opacity:.6;pointer-events:none}.rich-text-editor .ck.ck-label.ck-voice-label{display:none}.rich-text-editor .ck.ck-editor,.rich-text-editor .ck.ck-editor__main{width:100%}.rich-text-editor .ck.ck-toolbar{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0;padding:.5rem}.rich-text-editor .ck.ck-toolbar .ck-toolbar__items{gap:.25rem}.rich-text-editor .ck.ck-button{color:hsl(var(--foreground));border-radius:calc(var(--radius) - 4px)}.rich-text-editor .ck.ck-button:hover{background:hsl(var(--accent))}.rich-text-editor .ck.ck-button.ck-on{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.rich-text-editor .ck.ck-button.ck-on:hover{background:hsl(var(--primary) / .9)}.rich-text-editor .ck.ck-toolbar__separator{background:hsl(var(--border))}.rich-text-editor .ck.ck-editor__editable{border:1px solid hsl(var(--border));border-top:none;background:hsl(var(--background));color:hsl(var(--foreground));border-radius:0 0 calc(var(--radius) - 2px) calc(var(--radius) - 2px);padding:1rem;font-family:inherit;font-size:1rem;line-height:1.6}.rich-text-editor .ck.ck-editor__editable .ck-editor__editable_inline{max-width:800px;margin:0 auto}.rich-text-editor .ck.ck-editor__editable:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.rich-text-editor .ck.ck-editor__editable .ck-placeholder:before{color:hsl(var(--muted-foreground))}.rich-text-editor .ck-content *{max-width:800px}.rich-text-editor .ck-content h1,.rich-text-editor .ck-content h2,.rich-text-editor .ck-content h3,.rich-text-editor .ck-content h4{color:hsl(var(--foreground));font-weight:600;margin-top:1.5rem;margin-bottom:.75rem}.rich-text-editor .ck-content h1:first-child,.rich-text-editor .ck-content h2:first-child,.rich-text-editor .ck-content h3:first-child,.rich-text-editor .ck-content h4:first-child{margin-top:0}.rich-text-editor .ck-content h1{font-size:2.5rem;line-height:1.2}.rich-text-editor .ck-content h2{font-size:2rem;line-height:1.3}.rich-text-editor .ck-content h3{font-size:1.5rem;line-height:1.4}.rich-text-editor .ck-content h4{font-size:1.25rem;line-height:1.4}.rich-text-editor .ck-content p{margin-bottom:1rem}.rich-text-editor .ck-content a{color:hsl(var(--primary));text-decoration:underline}.rich-text-editor .ck-content a:hover{color:hsl(var(--primary) / .8)}.rich-text-editor .ck-content blockquote{border-left:4px solid hsl(var(--primary));padding-left:1rem;margin:1rem 0;font-style:italic;color:hsl(var(--muted-foreground))}.rich-text-editor .ck-content ul,.rich-text-editor .ck-content ol{margin:1rem 0;padding-left:2rem}.rich-text-editor .ck-content li{margin-bottom:.5rem}.rich-text-editor .ck.ck-dropdown .ck-dropdown__panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);box-shadow:0 4px 6px -1px #0000001a}.rich-text-editor .ck.ck-list__item{color:hsl(var(--foreground))}.rich-text-editor .ck.ck-list__item:hover{background:hsl(var(--accent))}.rich-text-editor .ck.ck-list__item.ck-on{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.rich-text-editor .ck.ck-tooltip{background:hsl(var(--foreground));color:hsl(var(--background));border-radius:calc(var(--radius) - 4px);font-size:.75rem}.rich-text-editor .ck.ck-tooltip .ck-tooltip__text{color:hsl(var(--background))}@media (max-width: 768px){.rich-text-editor .ck.ck-toolbar{padding:.375rem}.rich-text-editor .ck.ck-editor__editable{padding:.75rem;font-size:.9375rem}}.writing-assistant{display:flex;flex-direction:column;height:100%;max-height:600px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius));overflow:hidden;margin-top:2rem}.writing-assistant.disabled{opacity:.6;pointer-events:none}.writing-assistant-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.writing-assistant-icon{width:24px;height:24px;object-fit:contain}.writing-assistant-title{margin:0;font-size:.875rem;font-weight:600;color:hsl(var(--foreground));flex:1}.fullscreen-btn{padding:.375rem .625rem;font-size:1.125rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all .2s;font-weight:400;line-height:1;display:flex;align-items:center;justify-content:center}.fullscreen-btn:hover{background:hsl(var(--muted) / .8);border-color:hsl(var(--primary) / .5)}.clear-history-btn{padding:0;font-size:.75rem;background:none;color:#000;border:none;cursor:pointer;transition:opacity .2s;font-weight:500;text-decoration:underline}.clear-history-btn:hover{opacity:.7}.writing-assistant.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;max-height:100vh;border-radius:0;margin:0}.writing-assistant-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;background:hsl(var(--background))}.writing-assistant-messages::-webkit-scrollbar{width:6px}.writing-assistant-messages::-webkit-scrollbar-track{background:hsl(var(--muted) / .2);border-radius:3px}.writing-assistant-messages::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .3);border-radius:3px}.writing-assistant-messages::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.writing-assistant-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:hsl(var(--muted-foreground));text-align:center;padding:2rem}.writing-assistant-empty-state p{margin:0;font-size:.95rem}.message{display:flex;flex-direction:column;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-content{flex:1;display:flex;flex-direction:column;gap:.25rem;position:relative}.message.user .message-content{align-items:flex-end;max-width:1000px;margin-left:auto}.message.assistant .message-content{align-items:flex-start;max-width:1000px}.message-text{padding:12px 16px;border-radius:18px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;display:flex;flex-direction:column;gap:.5rem;position:relative}.delete-message-btn{position:absolute;top:0;width:20px;height:20px;border-radius:50%;background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive) / .3);cursor:pointer;font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s;padding:0;z-index:10}.message.user .delete-message-btn{left:-25px}.message.assistant .delete-message-btn{right:-25px}.message:hover .delete-message-btn{opacity:1}.delete-message-btn:hover{background:hsl(var(--destructive) / .2);border-color:hsl(var(--destructive) / .5);transform:scale(1.15)}.mode-indicator{position:absolute;top:-1.5rem;right:0;font-size:.7rem;color:hsl(var(--muted-foreground));font-weight:500;text-transform:uppercase;letter-spacing:.02em}.mode-indicator.chat{background:hsl(var(--primary) / .2);color:hsl(var(--primary-foreground))}.mode-indicator.write{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.message.user .message-text{background:hsl(var(--primary));color:hsl(var(--primary-foreground));max-width:85%}.message.assistant .message-text{background:transparent;color:hsl(var(--foreground));max-width:95%}.message.error .message-text{background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);color:hsl(var(--destructive));max-width:95%}.error-content{margin-bottom:.5rem}.retry-button{padding:.5rem 1rem;background:hsl(var(--destructive));color:#fff;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;align-self:flex-start}.retry-button:hover{background:hsl(var(--destructive) / .9);transform:translateY(-1px)}.message-timestamp{font-size:.7rem;color:hsl(var(--muted-foreground));padding:0 .25rem}.message-author{font-weight:600;color:hsl(var(--foreground))}.message-loading{display:flex;gap:.5rem;padding:.75rem 1rem;background:hsl(var(--muted) / .5);border-radius:calc(var(--radius) - 2px);width:fit-content}.loading-dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--muted-foreground) / .6);animation:pulse 1.4s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.writing-assistant-input-container{padding:1rem;border-top:1px solid hsl(var(--border));background:hsl(var(--background));display:flex;flex-direction:column;gap:.75rem}.writing-assistant-textarea-wrapper{width:100%;position:relative;display:block}.writing-assistant-textarea{width:100%;max-width:100%;min-height:56px;max-height:200px;padding:14px 52px 14px 16px;border:1px solid hsl(var(--border));border-radius:28px;background:hsl(var(--background));color:hsl(var(--foreground));font-family:inherit;font-size:16px;line-height:1.5;resize:none;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;overflow:hidden;field-sizing:content}.writing-assistant-textarea.has-overflow{overflow-y:auto}.writing-assistant-textarea::-webkit-scrollbar{width:6px}.writing-assistant-textarea::-webkit-scrollbar-track{background:transparent;margin:10px 0}.writing-assistant-textarea::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .3);border-radius:3px}.writing-assistant-textarea::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.writing-assistant-send-button{position:absolute;bottom:12px;right:12px;width:40px;height:40px;padding:0;border:none;border-radius:18px;background:hsl(var(--primary));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.writing-assistant-send-button:hover:not(:disabled){background:hsl(var(--primary) / .9);transform:scale(1.05)}.writing-assistant-send-button:active:not(:disabled){transform:scale(.95)}.writing-assistant-send-button:disabled{opacity:.5;cursor:not-allowed}.writing-assistant-send-button svg{width:18px;height:18px}.writing-assistant-privacy-notice{text-align:center;font-size:13px;color:hsl(var(--muted-foreground));margin-top:0;font-style:italic}.writing-assistant-controls{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.writing-assistant-tips-toggle{display:flex;flex-direction:column;gap:.5rem;max-width:70%}.tips-toggle-btn{padding:0;font-size:.75rem;background:none;color:hsl(var(--muted-foreground));border:none;cursor:pointer;transition:color .2s;font-weight:500;text-decoration:none;text-align:left;width:fit-content;display:flex;align-items:center;gap:.25rem}.info-icon{display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;color:hsl(var(--muted-foreground));opacity:.7}.tips-toggle-btn:hover{color:hsl(var(--foreground))}.writing-assistant-actions{display:flex;gap:.75rem;align-items:center}.writing-assistant-tips{font-size:13px;color:hsl(var(--muted-foreground))}.writing-assistant-tips strong{color:hsl(var(--foreground));font-weight:500}.writing-assistant-tips ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.25rem}.writing-assistant-tips li{line-height:1.4}.writing-assistant-mode-select{height:40px;padding:0 32px 0 16px!important;border:1px solid hsl(var(--border));border-radius:28px;background:hsl(var(--background));color:hsl(var(--foreground));font-family:inherit;font-size:.875rem;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;min-width:160px!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.writing-assistant-mode-select:hover:not(:disabled){border-color:hsl(var(--primary))}.writing-assistant-mode-select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.writing-assistant-mode-select:disabled{opacity:.6;cursor:not-allowed}.writing-assistant-textarea:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.writing-assistant-textarea:disabled{opacity:.6;cursor:not-allowed}.writing-assistant-textarea::placeholder{color:hsl(var(--muted-foreground))}.writing-assistant-send-button:hover:not(:disabled){background:hsl(var(--primary) / .9);transform:translateY(-1px)}.writing-assistant-send-button:active:not(:disabled){transform:translateY(0)}.writing-assistant-send-button:disabled{opacity:.4;cursor:not-allowed}.writing-assistant-send-button svg{width:20px;height:20px}.markdown-content{line-height:1.6}.markdown-content p{margin:.5em 0}.markdown-content p:first-child{margin-top:0}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin:.5em 0;padding-left:1.5em}.markdown-content li{margin:.25em 0}.markdown-content code{background:hsl(var(--muted) / .5);padding:.2em .4em;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.9em}.markdown-content pre{background:hsl(var(--muted) / .5);padding:.75em;border-radius:6px;overflow-x:auto;margin:.5em 0}.markdown-content pre code{background:none;padding:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:.75em 0 .5em;font-weight:600}.markdown-content h1{font-size:1.25em}.markdown-content h2{font-size:1.15em}.markdown-content h3{font-size:1.1em}.markdown-content strong{font-weight:600}.markdown-content em{font-style:italic}.markdown-content blockquote{border-left:3px solid hsl(var(--primary));padding-left:1em;margin:.5em 0;color:hsl(var(--muted-foreground))}.markdown-content a{color:hsl(var(--primary));text-decoration:underline}.markdown-content table{border-collapse:collapse;width:100%;margin:.5em 0}.markdown-content th,.markdown-content td{border:1px solid hsl(var(--border));padding:.5em;text-align:left}.markdown-content th{background:hsl(var(--muted) / .3);font-weight:600}@media (max-width: 768px){.writing-assistant{max-height:500px}.writing-assistant-header,.writing-assistant-messages,.writing-assistant-input-container{padding:.75rem}.message-text{padding:.625rem .875rem;font-size:.9rem}}.article-edit-container{max-width:1200px;margin:0 auto}.article-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.save-section{display:flex;align-items:center;gap:1rem}.save-status{min-width:250px;text-align:right}.unsaved-changes{font-size:.875rem;color:#ffa600;font-weight:500}.saved-changes{font-size:.875rem;color:#16a249}.btn-back{padding:.625rem 1.25rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:none;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-back:hover{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-preview{padding:.625rem 1.5rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:none;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;min-width:80px}.btn-preview:hover{background:hsl(var(--muted) / .8);transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--muted) / .3)}.btn-preview:active{transform:translateY(0)}.btn-save{padding:.625rem 1.5rem;background:hsl(var(--primary));color:#fff;border:none;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;min-width:80px}.btn-save:hover:not(:disabled){background:hsl(var(--primary) / .9);transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--primary) / .3)}.btn-save:active:not(:disabled){transform:translateY(0)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-loader{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.error-banner{padding:1rem;margin-bottom:1.5rem;background:hsl(0,84%,60% / .1);border:1px solid hsl(0,84%,60%);border-radius:calc(var(--radius) - 2px);color:#ef4343;font-size:.875rem}.article-edit-form{background:transparent;border:none;border-radius:0;padding:0}.article-author-info{margin:0 0 1rem;font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:400}.article-edit-container .form-group{margin-bottom:1.5rem}.article-edit-container .form-group:last-child{margin-bottom:0}.article-edit-container .form-group label{display:block;margin-bottom:.5rem;margin-top:1rem;font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.article-edit-container .form-group label[for=article-content]{margin-bottom:0}.article-edit-form .form-input,.article-edit-form .form-select,.article-edit-form .form-textarea{width:100%;padding:.75rem;font-size:1rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));font-family:inherit;transition:all .2s}.article-edit-form .form-input:focus,.article-edit-form .form-select:focus,.article-edit-form .form-textarea:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.article-edit-form .form-input:disabled,.article-edit-form .form-select:disabled,.article-edit-form .form-textarea:disabled{opacity:.6;cursor:not-allowed;background:hsl(var(--muted) / .3)}.article-edit-form .form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.article-edit-form .form-select:disabled{cursor:not-allowed}.article-edit-form .form-textarea{resize:vertical;min-height:400px;line-height:1.6;box-sizing:border-box}.read-only-notice{margin-top:1.5rem;padding:1rem;background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));font-size:.875rem;text-align:center}.article-edit-loading,.article-edit-error{text-align:center;padding:3rem 1rem}.spinner{width:48px;height:48px;margin:0 auto 1rem;border:4px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}.article-edit-loading p,.article-edit-error p{color:hsl(var(--muted-foreground));margin-bottom:1.5rem}.article-edit-error .btn-back{margin-top:1rem}.categories-selector{margin-top:.5rem}.no-categories-message{padding:1rem;background:hsl(var(--muted) / .3);border:1px dashed hsl(var(--border));border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));font-size:.875rem;text-align:center;margin:0}.categories-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem;row-gap:.375rem;padding:.75rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px)}.category-checkbox-label{display:inline-flex;align-items:center;gap:.625rem;padding:.375rem .5rem;border-radius:.25rem;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none;margin:0!important;white-space:nowrap}.category-checkbox-label:hover{background:hsl(var(--muted) / .3)}.category-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:hsl(var(--primary));margin:0 .5rem 0 0;flex-shrink:0;vertical-align:middle}.category-checkbox:disabled{cursor:not-allowed;opacity:.5}.category-checkbox-text{font-size:.875rem;color:hsl(var(--foreground));line-height:1rem;margin:0;display:inline-block;vertical-align:middle}.category-checkbox-label:has(.category-checkbox:disabled){cursor:not-allowed;opacity:.6}@media (max-width: 768px){.categories-checkboxes{flex-direction:column}}.article-preview-loading,.article-preview-error{text-align:center;padding:4rem 2rem}.article-preview-loading .spinner{width:48px;height:48px;margin:0 auto 1rem;border:4px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}.article-preview-error .error-icon{font-size:4rem;margin-bottom:1rem}.article-preview-error h2{margin:1rem 0;color:hsl(var(--foreground))}.article-preview-error p{color:hsl(var(--muted-foreground));margin-bottom:2rem}.btn-back,.btn-back-article{padding:.75rem 1.5rem;background:hsl(var(--primary));color:#fff;border:none;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-back-article{background:hsl(var(--muted));color:hsl(var(--foreground))}.btn-back:hover,.btn-back-article:hover{opacity:.9;transform:translateY(-1px)}.article-preview-container{max-width:900px;margin:0 auto;padding:2rem 1rem}.article-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.article-preview-status{display:flex;align-items:center;gap:.5rem}.status-badge{padding:.375rem .875rem;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:1rem;white-space:nowrap}.status-badge.status-draft{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.status-badge.status-public{background:hsl(var(--muted));color:#16a249}.status-badge.status-internal{background:hsl(var(--muted));color:#2463eb}.article-preview-content{background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);padding:3rem 2.5rem}.article-header{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid hsl(var(--border))}.article-preview-title{font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 1.5rem;color:hsl(var(--foreground))}.article-meta{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.9rem;color:hsl(var(--muted-foreground))}.article-author{font-weight:500}.article-date{color:hsl(var(--muted-foreground))}.article-body{font-size:1.05rem;line-height:1.8;color:hsl(var(--foreground))}.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6{margin-top:2rem;margin-bottom:1rem;font-weight:600;line-height:1.3}.article-body h1{font-size:2rem}.article-body h2{font-size:1.75rem}.article-body h3{font-size:1.5rem}.article-body h4{font-size:1.25rem}.article-body h5{font-size:1.1rem}.article-body h6{font-size:1rem}.article-body p{margin-bottom:1.25rem}.article-body ul,.article-body ol{margin-bottom:1.25rem;padding-left:1.75rem}.article-body li{margin-bottom:.5rem}.article-body a{color:hsl(var(--primary));text-decoration:underline}.article-body a:hover{opacity:.8}.article-body blockquote{border-left:4px solid hsl(var(--primary));padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:hsl(var(--muted-foreground))}.article-body code{background:hsl(var(--muted));padding:.2rem .4rem;border-radius:calc(var(--radius) - 4px);font-family:monospace;font-size:.9em}.article-body pre{background:hsl(var(--muted));padding:1rem;border-radius:calc(var(--radius) - 2px);overflow-x:auto;margin-bottom:1.25rem}.article-body pre code{background:none;padding:0}.article-body img{max-width:100%;height:auto;border-radius:calc(var(--radius) - 2px);margin:1.5rem 0}.article-body table{width:100%;border-collapse:collapse;margin:1.5rem 0}.article-body th,.article-body td{border:1px solid hsl(var(--border));padding:.75rem;text-align:left}.article-body th{background:hsl(var(--muted));font-weight:600}@media (max-width: 768px){.article-preview-container{padding:1rem .5rem}.article-preview-content{padding:2rem 1.5rem}.article-preview-title{font-size:2rem}.article-body{font-size:1rem}}.categories-container{max-width:1200px;margin:0 auto}.categories-header{margin-bottom:2rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.search-section{flex:1;max-width:400px}.btn-create-category{padding:.75rem 1.5rem;background:hsl(var(--primary));color:#fff;border:none;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-create-category .btn-icon{font-size:1.25rem;font-weight:400;line-height:1}.btn-create-category:hover{background:hsl(var(--primary) / .9);transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--primary) / .3)}.btn-create-category:active{transform:translateY(0)}.categories-loading,.categories-empty{text-align:center;padding:3rem 1rem;color:hsl(var(--muted-foreground))}.categories-loading .spinner{width:48px;height:48px;margin:0 auto 1rem;border:4px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.categories-empty p{margin:.5rem 0}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media (min-width: 768px){.categories-grid{grid-template-columns:repeat(3,1fr)}}.category-card{padding:1.5rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);transition:all .2s ease;position:relative;display:flex;flex-direction:column;gap:.75rem}.category-card:hover{border-color:hsl(var(--primary) / .3);box-shadow:0 2px 8px hsl(var(--primary) / .1)}.category-menu{position:absolute;top:1rem;right:1rem;z-index:10}.category-title{margin:0;font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));line-height:1.4;padding-right:2rem}.category-description{margin:0;font-size:.875rem;line-height:1.6;color:hsl(var(--muted-foreground));flex:1}.category-meta{display:flex;align-items:center;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.category-date{font-size:.75rem;color:hsl(var(--muted-foreground))}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:hsl(var(--foreground))}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:hsl(var(--muted-foreground));padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.modal-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.form-input,.form-textarea{width:100%;padding:.75rem;font-size:1rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));transition:all .2s;box-sizing:border-box;font-family:inherit}.form-textarea{resize:vertical;min-height:100px}.form-input:focus,.form-textarea:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.form-input:disabled,.form-textarea:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#ef4343;font-size:.875rem;margin-top:.5rem;margin-bottom:0}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn-cancel,.btn-primary{padding:.625rem 1.25rem;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:hsl(var(--muted));color:hsl(var(--foreground))}.btn-cancel:hover{background:hsl(var(--muted) / .8)}.btn-primary{background:hsl(var(--primary));color:#fff}.btn-primary:hover{background:hsl(var(--primary) / .9)}.btn-cancel:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.categories-header{flex-direction:column;align-items:stretch}.search-section{max-width:100%}.categories-grid{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.categories-grid{grid-template-columns:repeat(2,1fr)}}.invoice-list-container{max-width:1400px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:30px}.left-column{width:100%;max-width:600px}.upload-section-compact{width:100%}.upload-card-compact{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.upload-card-compact h3{margin:0 0 15px;font-size:16px;font-weight:600;color:#111827}.file-input-compact{margin-bottom:12px}.file-label-compact{display:flex;align-items:center;gap:10px;padding:10px 15px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-label-compact:hover{background:#f3f4f6;border-color:#9ca3af}.error-message-compact{font-size:13px;color:#dc2626;margin-bottom:12px;padding:8px 12px;background:#fef2f2;border-radius:4px;border-left:3px solid #dc2626}.btn-upload-compact{width:100%;padding:10px;font-size:14px}.invoices-list-section{width:100%}.loading-state{text-align:center;padding:60px 20px;color:#6b7280;font-size:16px}.empty-state{text-align:center;padding:80px 20px;color:#6b7280}.empty-state svg{margin-bottom:20px;opacity:.4}.empty-state p{margin:10px 0;font-size:16px}.empty-state-subtitle{font-size:14px;color:#9ca3af}.invoices-table-container{background:white;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.invoices-table{width:100%;border-collapse:collapse}.invoices-table thead{background:#f9fafb}.invoices-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.invoices-table td{padding:16px;font-size:14px;color:#374151;border-bottom:1px solid #f3f4f6}.invoices-table tbody tr{transition:background-color .15s}.invoices-table tbody tr:hover{background-color:#f9fafb}.invoices-table tbody tr:last-child td{border-bottom:none}.invoice-id{font-weight:600;color:#111827}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-processing{background:#fef3c7;color:#92400e}.status-ready,.status-submitted{background:#d1fae5;color:#065f46}.status-error{background:#fee2e2;color:#991b1b}.actions-cell{width:60px;text-align:center}.btn-icon{padding:6px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f3f4f6;color:#111827}.btn-icon-danger:hover{background:#fef2f2;color:#dc2626}@media (max-width: 768px){.left-column{max-width:100%}}@media (max-width: 768px){.invoices-table{font-size:12px}.invoices-table th,.invoices-table td{padding:10px 12px}}.invoice-detail-container{max-width:1400px;margin:0 auto;padding:20px}.loading-state,.error-state{text-align:center;padding:60px 20px;color:#6b7280;font-size:16px}.error-state button{margin-top:20px}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.status-card{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:30px;box-shadow:0 1px 3px #0000001a}.status-card.status-processing{background:#f3f4f6}.status-card.status-ready{background:#f0fdf4}.status-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.status-icon{font-size:32px;line-height:1}.status-card h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#111827}.status-card p{margin:0;color:#6b7280;font-size:14px}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background:#111827;transition:width .3s ease}.progress-text{font-size:14px;color:#6b7280;margin:0}.detail-section{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.section-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 20px}.info-item{padding:10px 0;border-bottom:1px solid #f3f4f6;line-height:1.6}.info-item:last-child{border-bottom:none}.info-label{font-size:14px;font-weight:600;color:#6b7280;margin-right:8px}.info-value{font-size:14px;color:#111827;font-weight:400;text-align:left}.table-container{overflow-x:auto}.detail-table{width:100%;border-collapse:collapse;font-size:14px}.detail-table thead{background:#f9fafb}.detail-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.detail-table td{padding:12px 16px;color:#374151;border-bottom:1px solid #f3f4f6}.detail-table tbody tr:hover{background:#f9fafb}.detail-table tbody tr:last-child td{border-bottom:none}.cert-cell{font-weight:600;color:#111827}.desc-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-status{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.po-status.pending{background:#f3f4f6;color:#6b7280}.po-status.processing{background:#dbeafe;color:#1e40af}.po-status.found{background:#d1fae5;color:#065f46}.po-status.not-found{background:#fee2e2;color:#991b1b}.po-status.error{background:#fef2f2;color:#dc2626}.certificate-helper{display:flex;gap:16px;align-items:center;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.certificate-codes{flex:1;font-family:monospace;font-size:13px;color:#374151;word-wrap:break-word;word-break:break-all;white-space:normal}.csv-actions{display:flex;gap:16px;margin-bottom:16px}.csv-note{font-size:14px;color:#6b7280;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:#f3f4f6;color:#6b7280}.modal-body{padding:24px}.warning-box{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:12px;margin-bottom:20px;color:#92400e;font-size:14px;font-weight:500}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.supplier-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:white}.supplier-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb}.validation-summary-wrapper{margin-top:24px}.validation-summary{display:flex;align-items:center;gap:12px;padding:16px;border-radius:8px;margin-bottom:12px}.validation-summary.validation-success{background:#d1fae5;border:1px solid #10b981}.validation-summary.validation-warning{background:#fee2e2;border:1px solid #ef4444}.validation-icon{font-size:24px;line-height:1}.validation-message{font-size:15px;font-weight:500;color:#111827}.validation-note{font-size:13px;color:#6b7280;margin:0}@media (max-width: 768px){.detail-header{flex-direction:column;gap:12px;align-items:stretch}.csv-actions{flex-direction:column}.detail-table{font-size:12px}.detail-table th,.detail-table td{padding:8px 10px}}.homepage{min-height:100vh;background-color:hsl(var(--background));color:hsl(var(--foreground))}.homepage-hero{padding:4rem 1.25rem 2.5rem;text-align:center;background:hsl(var(--muted) / .3);border-bottom:1px solid hsl(var(--border))}.hero-content{max-width:800px;margin:0 auto}.hero-icon{margin-bottom:1.5rem}.hero-logo{width:80px;height:80px;border-radius:1rem}.hero-title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:hsl(var(--foreground))}.hero-subtitle{font-size:1.25rem;margin:0 0 1.5rem;color:hsl(var(--muted-foreground));font-weight:400}.hero-description{max-width:600px;margin:0 auto}.hero-description p{font-size:1rem;line-height:1.6;color:hsl(var(--muted-foreground));margin:0}.homepage-content{padding:2.5rem 1.25rem;max-width:1200px;margin:0 auto}.welcome-section{text-align:center;margin-bottom:3rem}.welcome-section h2{font-size:2rem;margin:0 0 1rem;font-weight:600;color:hsl(var(--foreground))}.welcome-section p{font-size:1.1rem;color:hsl(var(--muted-foreground));margin:0}.quick-actions{margin-bottom:3.75rem}.quick-actions h3{font-size:1.5rem;margin:0 0 1.5rem;text-align:center;font-weight:600;color:hsl(var(--primary))}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem}.action-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1.5rem;text-decoration:none;color:hsl(var(--foreground));display:flex;align-items:center;gap:1rem;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a}.action-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:hsl(var(--primary) / .05);opacity:0;transition:opacity .2s ease;z-index:0}.action-card:hover:before{opacity:1}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--primary) / .15);border-color:hsl(var(--primary) / .5)}.action-content{flex:1;position:relative;z-index:1}.action-content h4{font-size:1.125rem;margin:0 0 .5rem;font-weight:600;color:hsl(var(--foreground))}.action-content p{font-size:.875rem;margin:0;color:hsl(var(--muted-foreground));line-height:1.4}.action-arrow{font-size:1.5rem;color:hsl(var(--primary));transition:all .2s ease;position:relative;z-index:1}.action-card:hover .action-arrow{color:hsl(var(--primary) / .8);transform:translate(4px)}.no-access{text-align:center;padding:3.75rem 1.25rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius));margin-bottom:3.75rem;box-shadow:0 1px 3px #0000001a}.no-access h3{font-size:1.5rem;margin:0 0 1rem;font-weight:600;color:hsl(var(--foreground))}.no-access p{font-size:1rem;color:hsl(var(--muted-foreground));line-height:1.6;max-width:500px;margin:0 auto}.features-section{text-align:center}.features-section h3{font-size:1.5rem;margin:0 0 2rem;font-weight:600;color:hsl(var(--primary))}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.feature-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius));padding:1.5rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.feature-card:hover{transform:translateY(-2px);border-color:hsl(var(--primary) / .5);box-shadow:0 4px 12px hsl(var(--primary) / .1)}.feature-card h4{font-size:1.1rem;margin:0 0 .75rem;font-weight:600;color:hsl(var(--foreground))}.feature-card p{font-size:.875rem;margin:0;color:hsl(var(--muted-foreground));line-height:1.5}@media (max-width: 768px){.hero-title{font-size:2.5rem}.homepage-content{padding:1.875rem 1rem}.actions-grid{grid-template-columns:1fr}.action-card{padding:1.25rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.auth-card{background:white;border-radius:12px;box-shadow:0 10px 25px #0000001a;padding:40px;width:100%;max-width:400px}.auth-title{text-align:center;margin-bottom:30px;color:#333;font-size:28px;font-weight:600}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#555;font-size:14px}.card-content .input{display:block;box-sizing:border-box;height:auto}.card-content .form-group input{padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .3s ease;box-sizing:border-box;display:block}.card-content .form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.auth-error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;padding:12px;border-radius:6px;font-size:14px;font-weight:500;margin-bottom:16px;text-align:center}.error-icon{display:none}.auth-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.auth-button:active{transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{margin-top:24px;text-align:center}.auth-toggle p{color:#666;margin:0}.auth-toggle-button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;text-decoration:underline}.auth-toggle-button:hover:not(:disabled){color:#764ba2}.auth-toggle-button:disabled{opacity:.6;cursor:not-allowed}.auth-info{margin-top:24px;text-align:center;padding-top:20px;border-top:1px solid #e1e5e9}.auth-note{color:#666;font-size:14px;margin:0;font-style:italic}.auth-link-button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;text-decoration:underline;font-size:inherit;padding:0;margin:0}.auth-link-button:hover:not(:disabled){color:#764ba2}.auth-link-button:disabled{opacity:.6;cursor:not-allowed}.reset-success{text-align:center;padding:40px 20px}.success-icon{width:60px;height:60px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;font-size:30px;font-weight:700}.reset-success h3{color:#10b981;margin:0 0 16px;font-size:24px;font-weight:600}.reset-success p{color:#666;line-height:1.6;margin:0 0 32px;font-size:16px}.reset-success strong{color:#333;font-weight:600}:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--radius: .5rem;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{border-color:hsl(var(--border))}body{margin:0;padding:0;background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.page-wrapper{padding-bottom:3rem}.language-list-actions{display:flex;gap:.75rem;margin-bottom:1rem;align-items:center;flex-wrap:wrap}.language-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1.5rem;max-height:300px;overflow-y:auto;padding:1rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius));background-color:hsl(var(--muted) / .3)}.language-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--background));border:1px solid hsl(var(--border));transition:all .2s ease}.language-item:hover{background-color:hsl(var(--muted) / .5)}.language-checkbox{width:1rem;height:1rem;border:1px solid hsl(var(--foreground));border-radius:2px;background-color:hsl(var(--background));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;transition:all .2s ease}.language-checkbox:checked{background-color:hsl(var(--foreground));border-color:hsl(var(--foreground))}.language-checkbox:checked:after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid hsl(var(--background));border-width:0 2px 2px 0;transform:rotate(45deg)}.language-label{font-size:.875rem;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;transition:colors .2s;cursor:pointer;border:1px solid transparent;text-decoration:none}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.5}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.btn-primary:hover:not(:disabled){background-color:hsl(var(--primary) / .9)}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-color:hsl(var(--border))}.btn-secondary:hover:not(:disabled){background-color:hsl(var(--secondary) / .8)}.btn-outline{background-color:transparent;color:hsl(var(--foreground));border-color:hsl(var(--border));border-width:1px}.btn-outline:hover:not(:disabled){background-color:hsl(var(--muted) / .5)}.btn-sm{height:2.25rem;padding:0 .75rem;font-size:.8125rem}.btn-md{height:2.5rem;padding:0 1rem}.btn-lg{height:2.75rem;padding:0 2rem}.card{border-radius:calc(var(--radius) + 2px);border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.card-header{display:flex;flex-direction:column;gap:.375rem;padding:2rem 1.5rem;margin-bottom:0}.card-title{font-size:1.5rem;font-weight:600;line-height:1;letter-spacing:-.025em;margin:0}.card-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.card-content{padding:1.5rem;padding-top:0}.input{display:flex;height:2.5rem;width:100%;border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--input));background-color:hsl(var(--background));padding:0 .75rem;font-size:.875rem;color:hsl(var(--foreground));transition:border-color .2s}.input:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.input::placeholder{color:hsl(var(--muted-foreground))}.label{font-size:.875rem;font-weight:500;line-height:1;color:hsl(var(--foreground))}.form-group{display:flex;flex-direction:column;gap:.375rem;margin:4px 0}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2rem;line-height:2.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.h1{font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.025em;margin:0}.h2{font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.025em;margin:0}.h3{font-size:1.25rem;font-weight:600;line-height:1.4;margin:0}.h4{font-size:1.125rem;font-weight:600;line-height:1.4;margin:0}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:hsl(var(--muted-foreground))}.text-destructive{color:hsl(var(--destructive))}.page-header{padding-top:1.5rem;margin-bottom:2rem}.page-header .h1{margin-bottom:.25rem}
