:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-light:#e0e7ff;--color-primary-dark:#3730a3;--color-secondary:#6b7280;--color-secondary-hover:#4b5563;--color-secondary-light:#f3f4f6;--color-success:#10b981;--color-success-hover:#059669;--color-success-light:#d1fae5;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-light:#fee2e2;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-light:#fef3c7;--color-info:#3b82f6;--color-info-hover:#2563eb;--color-info-light:#dbeafe;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-text-inverse:#fff;--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--border-color:#e5e7eb;--border-color-dark:#d1d5db;--border-radius-sm:4px;--border-radius:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a,0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition-fast:150ms ease;--transition-normal:200ms ease;--transition-slow:300ms ease;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:900;--z-modal:1000;--z-tooltip:1100;--z-notification:1200}.btn{align-items:center;border-radius:var(--border-radius);display:inline-flex;gap:8px;justify-content:center;line-height:1.5;text-decoration:none;transition:all var(--transition-fast)}.btn:focus{box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:focus{box-shadow:0 0 0 3px var(--color-primary-light)}.btn-secondary{background:var(--color-bg-primary);color:var(--color-gray-700)}.btn-secondary:hover:not(:disabled){border-color:var(--border-color-dark)}.btn-secondary:focus{box-shadow:0 0 0 3px var(--color-gray-100)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-danger:focus{box-shadow:0 0 0 3px var(--color-danger-light)}.btn-danger-small{background:var(--color-danger);border:none;border-radius:var(--border-radius-sm);color:var(--color-text-inverse);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:background-color var(--transition-fast)}.btn-danger-small:hover{background:var(--color-danger-hover)}.btn-danger-outline{background:#0000;border:1px solid var(--color-danger);border-radius:var(--border-radius-sm);color:var(--color-danger);padding:6px 12px;transition:all var(--transition-fast)}.btn-danger-outline:hover{background:var(--color-danger);color:var(--color-text-inverse)}.btn-success{background:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background:var(--color-success-hover)}.btn-success:focus{box-shadow:0 0 0 3px var(--color-success-light)}.btn-warning{background:var(--color-warning);color:var(--color-text-inverse)}.btn-warning:hover:not(:disabled){background:var(--color-warning-hover)}.btn-ghost{background:#0000;color:var(--color-gray-600)}.btn-ghost:hover:not(:disabled){background:var(--color-gray-100)}.btn-link{background:#0000;color:var(--color-primary)}.btn-link:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline}.btn-xs{font-size:12px;gap:4px;padding:4px 8px}.btn-sm{font-size:13px;gap:6px;padding:6px 12px}.btn-lg{font-size:16px;gap:10px;padding:12px 24px}.btn-xl{font-size:18px;gap:12px;padding:16px 32px}.btn-block{width:100%}.btn-icon{border-radius:var(--border-radius);padding:8px}.btn-icon.btn-sm{padding:6px}.btn-icon.btn-lg{padding:12px}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--border-radius) 0 0 var(--border-radius)}.btn-group .btn:last-child{border-radius:0 var(--border-radius) var(--border-radius) 0}.btn-group .btn:not(:last-child){border-right:1px solid #fff3}.btn-loading{color:#0000!important;position:relative}.btn-loading:after{animation:btn-spin .6s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;content:"";height:16px;position:absolute;width:16px}@keyframes btn-spin{to{transform:rotate(1turn)}}.form-group label,.form-label{color:var(--color-text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-label-required:after{color:var(--color-danger);content:" *"}.form-error,.form-hint{font-size:13px;margin-top:6px}.form-error{color:var(--color-danger)}.form-input,.form-select,.form-textarea{background:var(--color-bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--color-text-primary);line-height:1.5;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--color-gray-100);cursor:not-allowed}.form-input.error,.form-input:invalid,.form-select.error,.form-select:invalid,.form-textarea.error{border-color:var(--color-danger)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px var(--color-danger-light)}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.form-textarea{min-height:100px}.form-input-sm,.form-select-sm{font-size:13px;padding:6px 10px}.form-input-lg,.form-select-lg{font-size:16px;padding:14px 16px}.form-check{align-items:center;display:flex;gap:8px;margin-bottom:8px}.form-check input[type=checkbox],.form-check input[type=radio]{accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.form-check label{cursor:pointer;font-weight:400;margin:0}.form-inline{align-items:flex-end;display:flex;gap:12px}.form-inline .form-group{flex:1 1;margin-bottom:0}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-actions{border-top:1px solid var(--border-color);margin-top:24px;padding-top:16px}.input-with-icon{position:relative}.input-with-icon .form-input{padding-left:40px}.input-with-icon .input-icon{color:var(--color-text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-group{display:flex}.input-group .form-input{border-radius:var(--border-radius) 0 0 var(--border-radius);border-right:none}.input-group .btn{border-radius:0 var(--border-radius) var(--border-radius) 0}.modal-overlay{animation:modal-fade-in .2s ease;inset:0;z-index:var(--z-modal-backdrop)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{animation:modal-slide-in .2s ease;background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:90vw;z-index:var(--z-modal)}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-sm{width:400px}.modal-md{width:500px}.modal-lg{width:700px}.modal-xl{width:900px}.modal-full{height:calc(100vh - 40px);width:calc(100vw - 40px)}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px 20px}.modal-header .modal-title,.modal-header h2{color:var(--color-text-primary);font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border-radius:var(--border-radius);color:var(--color-gray-400);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-600)}.modal-body{flex:1 1;padding:20px}.modal-footer{border-top:1px solid var(--border-color);flex-shrink:0}.modal-footer-left{justify-content:flex-start}.modal-footer-center{justify-content:center}.modal-footer-between{justify-content:space-between}.modal-alert{max-width:400px;text-align:center}.modal-alert .modal-body{padding:32px 24px}.modal-alert .modal-icon{align-items:center;border-radius:50%;display:flex;height:48px;justify-content:center;margin:0 auto 16px;width:48px}.modal-alert .modal-icon.danger{background:var(--color-danger-light);color:var(--color-danger)}.modal-alert .modal-icon.warning{background:var(--color-warning-light);color:var(--color-warning)}.modal-alert .modal-icon.success{background:var(--color-success-light);color:var(--color-success)}.modal-alert .modal-icon.info{background:var(--color-info-light);color:var(--color-info)}.modal-alert h3{font-size:18px;font-weight:600;margin:0 0 8px}.modal-alert p{color:var(--color-text-secondary);margin:0}.modal-alert .modal-footer{border-top:none;justify-content:center;padding-top:0}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.toast-container{bottom:20px;display:flex;flex-direction:column-reverse;gap:10px;max-width:400px;position:fixed;right:20px;z-index:9999}.toast{align-items:flex-start;animation:toast-slide-in .3s ease-out;background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;gap:12px;padding:14px 16px}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left-color:#10b981;border-left-color:var(--color-success,#10b981)}.toast-success .toast-icon{color:#10b981;color:var(--color-success,#10b981)}.toast-error{border-left-color:#ef4444;border-left-color:var(--color-danger,#ef4444)}.toast-error .toast-icon{color:#ef4444;color:var(--color-danger,#ef4444)}.toast-warning{border-left-color:#f59e0b;border-left-color:var(--color-warning,#f59e0b)}.toast-warning .toast-icon{color:#f59e0b;color:var(--color-warning,#f59e0b)}.toast-info{border-left-color:#4f46e5;border-left-color:var(--color-primary,#4f46e5)}.toast-info .toast-icon{color:#4f46e5;color:var(--color-primary,#4f46e5)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-message{color:#111827;color:var(--color-text-primary,#111827);flex:1 1;font-size:14px;line-height:1.5}.toast-close{background:none;border:none;color:#6b7280;color:var(--color-text-secondary,#6b7280);cursor:pointer;flex-shrink:0;opacity:.6;padding:2px;transition:opacity .15s}.toast-close:hover{opacity:1}.auth-container{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);display:flex;justify-content:center;min-height:100vh}.auth-card{background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:450px;padding:40px;width:100%}.auth-card h1{color:var(--color-text-primary);font-size:28px;margin-bottom:10px;text-align:center}.auth-card h2{color:var(--color-text-secondary);font-size:20px;font-weight:400;margin-bottom:30px;text-align:center}.auth-card .form-group input{padding:12px}.auth-card .form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.auth-card .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.auth-card .btn-primary{font-size:16px;padding:14px;width:100%}.error-message,.success-message{margin-bottom:20px}.success-message{background:var(--color-success-light);border-radius:var(--border-radius);color:var(--color-success);font-size:14px;padding:12px;text-align:center}.auth-links{margin-top:20px;text-align:center}.auth-links a{color:var(--color-primary);font-size:14px;text-decoration:none}.auth-links a:hover{text-decoration:underline}.test-accounts{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px;text-align:center}.global-header{background:var(--color-bg-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-shrink:0;height:64px;justify-content:space-between;min-height:64px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.app-logo,.global-header,.header-left{align-items:center;display:flex}.app-logo{text-decoration:none;transition:opacity .2s}.app-logo:hover{opacity:.8}.logo-img{height:32px;width:auto}.header-right{align-items:center;display:flex;gap:16px}.user-menu-container{position:relative}.user-menu-trigger{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:8px 12px;transition:all .2s}.user-menu-trigger:hover{background:#f9fafb;border-color:#d1d5db}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.user-name{color:#374151;font-size:14px;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-trigger svg{color:#6b7280;transition:transform .2s}.user-menu-trigger svg.rotate{transform:rotate(180deg)}.menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.user-dropdown{animation:dropdownSlide .2s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:200px;position:absolute;right:0;top:calc(100% + 8px);z-index:1001}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{background:#0000;font-family:inherit;gap:10px;text-decoration:none}.dropdown-item:first-child{border-radius:8px 8px 0 0}.dropdown-item:last-child{border-radius:0 0 8px 8px}.dropdown-item svg{color:#6b7280}.dropdown-item.logout,.dropdown-item.logout svg{color:#ef4444}.dropdown-divider{background:#e5e7eb;height:1px;margin:4px 0}@media (max-width:768px){.global-header{padding:0 16px}.app-logo{font-size:16px}.user-name{display:none}.user-menu-trigger{padding:8px}}.profile-page-wrapper{background:#f5f7fa;height:100vh;overflow-y:scroll;width:100%}.profile-container{margin:0 auto;max-width:800px;padding:40px 20px 80px}.profile-header{margin-bottom:30px}.profile-header h1{color:#2c3e50;font-size:28px;margin:0}.profile-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:30px}.profile-section h2{border-bottom:2px solid #f0f0f0;color:#2c3e50;font-size:20px;margin-bottom:20px;margin-top:0;padding-bottom:10px}.profile-info{margin-bottom:20px}.profile-info p{color:#555;font-size:15px;margin:12px 0}.profile-info strong{color:#2c3e50;display:inline-block;min-width:100px}.btn-secondary{background:#95a5a6;border:none;color:#fff;font-weight:600;transition:background .3s}.btn-secondary:hover{background:#7f8c8d}.form-actions{gap:10px;margin-top:20px}.form-actions .btn-primary,.form-actions .btn-secondary{padding:10px 20px;width:auto}.profile-container .error-message,.profile-container .success-message{animation:slideDown .3s ease-out;margin-bottom:20px;position:-webkit-sticky;position:sticky;top:76px;z-index:50}.signature-thumbnail{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative;transition:all .2s ease}.signature-thumbnail:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.signature-thumbnail img{height:100%;object-fit:contain;width:100%}.signature-thumbnail.loading{align-items:center;animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;display:flex;flex-direction:column;justify-content:center}.signature-thumbnail.loading span{color:#6b7280;font-size:14px;font-weight:500}.signature-thumbnail.error{background:#fef2f2;border-color:#fecaca;flex-direction:column;gap:8px}.signature-thumbnail.error svg{color:#ef4444;opacity:.6}.signature-thumbnail.error span{color:#991b1b;font-size:12px;padding:0 16px;text-align:center}.signature-thumbnail.error:hover,.signature-thumbnail.loading:hover{box-shadow:none;transform:none}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.confirm-dialog{animation:slideUp .2s ease-out;background:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);max-width:450px;width:90%}.confirm-dialog-header{border-bottom:1px solid var(--border-color);padding:20px 24px}.confirm-dialog-header h3{color:var(--color-text-primary);font-size:18px;font-weight:600;margin:0}.confirm-dialog-body{padding:24px}.confirm-dialog-body p{color:var(--color-text-secondary);font-size:14px;line-height:1.6;margin:0}.confirm-dialog-footer{border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.template-cell-indicator{align-items:center;animation:slideInDown .3s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px 16px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.template-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.template-icon{flex-shrink:0;font-size:18px}.template-name{flex:1 1;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-version{flex-shrink:0;font-size:12px;opacity:.9}.template-readonly-badge{background:#ffffff40;border:1px solid #ffffff4d;border-radius:4px;flex-shrink:0;font-size:11px;font-weight:500;padding:3px 8px}.template-actions{display:flex;flex-shrink:0;gap:8px}.btn-template-action{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.btn-template-action:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.btn-template-action:active{transform:translateY(0)}.btn-template-action.detach{background:#ef44444d;border-color:#ef444480}.btn-template-action.detach:hover{background:#ef444466}@media (max-width:768px){.template-cell-indicator{align-items:stretch;flex-direction:column}.template-info{flex-wrap:wrap}.template-actions{flex-direction:column}.btn-template-action{text-align:center;width:100%}}@media (prefers-color-scheme:dark){.template-cell-indicator{box-shadow:0 2px 8px #667eea80}}.signature-preview-container{align-items:flex-start;background:#f9fafb;border-radius:8px;display:flex;justify-content:center;max-width:100%;overflow:auto;padding:20px}.signature-preview-canvas{background:#fff;border-radius:4px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.signature-preview-canvas .grid-row{margin:0}.signature-preview-canvas .row-controls{display:none!important}.signature-preview-canvas .grid-cell{border:1px solid #e5e7eb}.signature-preview-empty{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:center;padding:40px}.signature-preview-empty p{margin:0}.version-preview-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1100}.version-preview-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden}.version-preview-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:20px;justify-content:space-between;padding:24px}.version-preview-modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 4px}.version-preview-modal-subtitle{color:#6b7280;font-size:14px;margin:0}.version-preview-modal-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;flex-shrink:0;padding:4px;transition:all .2s}.version-preview-modal-close:hover{background:#f3f4f6;color:#1f2937}.version-preview-modal-body{background:#f9fafb;flex:1 1;overflow:auto;padding:24px}.version-preview-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.version-preview-close-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.version-preview-close-btn:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width:768px){.version-preview-modal-overlay{padding:0}.version-preview-modal-content{border-radius:0;max-height:100vh;max-width:100vw}.version-preview-modal-body{padding:16px}}.signature-card{background:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .2s}.signature-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.signature-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.card-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;min-height:48px;padding:12px 16px}.card-checkbox,.card-header{align-items:center;display:flex}.card-checkbox{cursor:pointer;margin:0}.card-checkbox input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:18px;width:18px}.card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.default-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 2px 4px #f59e0b4d;color:#fff;display:flex;font-size:12px;padding:4px 10px}.default-badge svg{height:14px;width:14px}.pending-changes-badge{align-items:center;animation:pulse-badge 2s ease-in-out infinite;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:12px;box-shadow:0 2px 4px #4f46e54d;color:#fff;display:flex;font-size:12px;font-weight:600;gap:4px;padding:4px 10px}@keyframes pulse-badge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.card-thumbnail{align-items:center;aspect-ratio:3/2;background:#f9fafb;cursor:pointer;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.card-body{flex:1 1;padding:16px}.card-title-row{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.card-title{color:#1f2937;flex:1 1;font-size:16px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{flex-shrink:0;padding:3px 8px}.status-active{background-color:#d1fae5;color:#065f46}.status-inactive{background-color:#fee2e2;color:#991b1b}.card-dates{display:flex;flex-direction:column;gap:6px}.card-date{align-items:center;display:flex;font-size:13px;gap:8px}.date-label{min-width:70px}.card-creator{align-items:center;border-top:1px solid #e5e7eb;display:flex;font-size:12px;gap:6px;margin-top:10px;padding-top:10px}.card-creator svg{color:#6b7280;flex-shrink:0}.creator-label{color:#6b7280;font-weight:500}.card-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:8px;padding:12px 16px}.card-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s;width:100%}.card-btn:hover{background:#f9fafb;border-color:#9ca3af}.card-btn svg{height:14px;width:14px}.btn-menu{border-color:#d1d5db;color:#6b7280}.btn-menu:hover{background:#f3f4f6;border-color:#9ca3af}.dropdown-menu{z-index:10}.dropdown-item{font-size:13px;gap:8px;padding:10px 12px;transition:all .2s}.dropdown-item:hover{background:#f9fafb}.dropdown-item svg{height:14px;width:14px}.dropdown-item-edit{color:var(--color-primary)}.dropdown-item-edit:hover{background:var(--color-primary-light)}.dropdown-item-duplicate{color:#10b981}.dropdown-item-duplicate:hover{background:#f0fdf4}.dropdown-item-history{color:#8b5cf6}.dropdown-item-history:hover{background:#f5f3ff}.dropdown-item-default{color:#f59e0b}.dropdown-item-default:hover{background:#fffbeb}.dropdown-item-delete{border-top:1px solid #e5e7eb;color:#ef4444}.dropdown-item-delete:hover{background:#fef2f2}@media (max-width:768px){.card-footer{flex-direction:column}.card-btn{width:100%}}.signature-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.signature-table{border-collapse:collapse;font-size:14px;width:100%}.signature-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.signature-table th{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.signature-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.signature-table tbody tr:hover{background:#f9fafb}.signature-table tbody tr:last-child{border-bottom:none}.table-row-selected{background:var(--color-primary-light)!important}.signature-table td{padding:12px 16px;vertical-align:middle}.table-checkbox-col{text-align:center;width:40px}.table-preview-col{padding:8px;width:120px}.table-default-col,.table-status-col{text-align:center;width:100px}.table-name-wrapper{align-items:center;display:flex;gap:8px}.table-pending-badge{align-items:center;animation:pulse-table-badge 2s ease-in-out infinite;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:10px;box-shadow:0 2px 4px #4f46e54d;color:#fff;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:3px 8px}@keyframes pulse-table-badge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.table-default-badge{align-items:center;background:#fef3c7;border-radius:50%;color:#f59e0b;display:inline-flex;font-size:14px;height:24px;justify-content:center;width:24px}.table-status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.table-status-badge.status-active{background-color:#d1fae5;color:#065f46}.table-status-badge.status-inactive{background-color:#fee2e2;color:#991b1b}.table-action-default:hover:not(:disabled){background:#fef3c7;color:#f59e0b}.table-action-history:hover:not(:disabled){background:#f5f3ff;color:#8b5cf6}.table-action-delete:hover:not(:disabled){background:#fee}.signature-table input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.signature-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1024px){.signature-table-container{overflow-x:auto}.signature-table{min-width:800px}}@media (max-width:768px){.table-date-col{display:none}.table-actions{flex-direction:column;gap:4px}}.signature-list-toolbar{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:20px}.toolbar-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.toolbar-row:first-child,.toolbar-row:last-child{justify-content:space-between}.search-box{min-width:200px;position:relative}.search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px 10px 48px;transition:all .2s;width:100%}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.toolbar-controls{align-items:center;display:flex;gap:16px}.sort-dropdown{align-items:center;display:flex;gap:8px}.sort-dropdown label{color:#6b7280;font-size:14px;font-weight:500}.sort-dropdown select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 4.5 3 3 3-3' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 32px 8px 12px;transition:all .2s}.sort-dropdown select:hover{border-color:#9ca3af}.sort-dropdown select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.selection-controls{flex:1 1}.checkbox-label{align-items:center;color:#374151;display:flex;font-size:14px;gap:8px}.checkbox-label input[type=checkbox]{accent-color:var(--color-primary);height:18px;width:18px}.checkbox-label span{font-weight:500}.btn-bulk-delete{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s}.btn-bulk-delete:hover{background:#dc2626;box-shadow:0 2px 8px #ef44444d}.btn-bulk-delete:active{transform:scale(.98)}@media (max-width:768px){.toolbar-row{align-items:stretch;flex-direction:column}.search-box{max-width:none}.toolbar-controls{align-items:stretch;flex-direction:column;gap:12px}.sort-dropdown{justify-content:space-between}.btn-bulk-delete,.view-mode-toggle{justify-content:center}}.signature-preview-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1100}.signature-preview-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden}.signature-preview-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:20px;justify-content:space-between;padding:24px}.signature-preview-modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 4px}.signature-preview-modal-subtitle{color:#6b7280;font-size:14px;margin:0}.signature-preview-modal-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;flex-shrink:0;padding:4px;transition:all .2s}.signature-preview-modal-close:hover{background:#f3f4f6;color:#1f2937}.signature-preview-modal-body{background:#f9fafb;flex:1 1;overflow:auto;padding:24px}.signature-preview-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.signature-preview-close-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.signature-preview-close-btn:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width:768px){.signature-preview-modal-overlay{padding:0}.signature-preview-modal-content{border-radius:0;max-height:100vh;max-width:100vw}.signature-preview-modal-body{padding:16px}}.signature-list-page{background:#f5f7fa;display:flex;flex-direction:column;height:100vh;overflow-y:auto}.list-container{flex:1 1;margin:0 auto;max-width:1400px;padding:24px;width:100%}.btn-calendar,.btn-templates{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s}.btn-calendar:hover,.btn-templates:hover{background:var(--color-gray-50);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.btn-calendar:active,.btn-templates:active{transform:scale(.98)}.message{font-size:14px;font-weight:500;padding:14px 20px}.success-message{background:#d1fae5;border:1px solid #a7f3d0}.error-message{background:#fee2e2}.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:80px 20px}.spinner-large{animation:spin .8s linear infinite;height:60px;width:60px}.loading-container p{font-size:16px}.empty-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center}.empty-state svg{color:#d1d5db;margin-bottom:24px}.empty-state h2{color:#374151;font-size:24px;font-weight:600;margin:0 0 8px}.empty-state p{color:#6b7280;margin:0 0 24px}.btn-primary-large{background:var(--color-primary);border:none;border-radius:var(--border-radius-md);color:var(--color-text-inverse);cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all var(--transition-normal)}.btn-primary-large:hover{background:var(--color-primary-hover);box-shadow:0 4px 12px #4f46e54d}.btn-secondary-large{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:15px;font-weight:500;padding:12px 28px;transition:all .2s}.btn-secondary-large:hover{background:#f9fafb;border-color:#9ca3af}.signature-grid{grid-gap:24px;animation:fadeIn .4s ease-out;display:grid;gap:24px}@media (min-width:1024px){.signature-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px) and (max-width:1023px){.signature-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.signature-grid{grid-template-columns:1fr}.list-container{padding:16px}.list-header{align-items:stretch;flex-direction:column}.list-header h1{font-size:24px}.btn-create-new{justify-content:center;width:100%}}.signature-settings-page{background-color:#f9fafb;height:100vh;overflow-y:scroll;width:100%}.settings-container{margin:0 auto;max-width:800px;padding:32px 24px 80px}.settings-header .back-link{align-items:center;background:none;color:var(--color-primary);display:inline-flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:24px;padding:0;text-decoration:none;transition:all .2s}.settings-header .back-link:hover{background:none;color:var(--color-primary-hover);gap:8px}.settings-header .back-link svg{transition:transform .2s}.settings-header .back-link:hover svg{transform:translateX(-2px)}.settings-header h1{color:#111827;font-weight:700}.message{gap:12px;margin-bottom:24px;padding:16px}.success-message{background-color:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.error-message{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.warning-banner{align-items:flex-start;background-color:#fef3c7;border:1px solid #fbbf24;border-radius:8px;display:flex;gap:16px;padding:20px}.warning-banner svg{color:#f59e0b;flex-shrink:0}.warning-banner strong{color:#92400e;font-size:16px}.warning-banner p{color:#78350f;font-size:14px;line-height:1.5;margin:0}.settings-form{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.settings-section{border-bottom:1px solid #e5e7eb;padding:32px}.settings-section:last-of-type{border-bottom:none}.settings-section.disabled{background-color:#f9fafb;opacity:.7;pointer-events:none}.settings-section h2{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.section-description{line-height:1.5;margin:0 0 24px}.form-group:last-child{margin-bottom:0}.form-group>label:not(.checkbox-label){color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=date],.form-group input[type=number]{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input[type=date]:focus,.form-group input[type=number]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed}.checkbox-label{cursor:pointer;display:inline-block;margin-bottom:0;padding-left:30px;position:relative;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-label.disabled{cursor:not-allowed;opacity:.6}.checkbox-label span{color:#374151;font-size:14px;line-height:1.5;position:relative}.checkbox-label span:before{background:#fff;border:2px solid #d1d5db;border-radius:4px;content:"";height:18px;left:-32px;position:absolute;top:-3px;transition:all .2s;width:18px}.checkbox-label span:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:-24px;opacity:0;position:absolute;top:0;transform:rotate(45deg);transition:opacity .2s;width:5px}.checkbox-label input[type=checkbox]:checked+span:before{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-label input[type=checkbox]:checked+span:after{opacity:1}.checkbox-label:hover span:before{border-color:var(--color-primary)}.checkbox-label input[type=checkbox]:disabled+span:before{background:#f3f4f6;border-color:#e5e7eb;cursor:not-allowed}.checkbox-label input[type=checkbox]:disabled:checked+span:before{background:#9ca3af;border-color:#9ca3af}.date-range{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:16px}@media (max-width:640px){.date-range{grid-template-columns:1fr}}.priority-input-group{align-items:center;display:flex;gap:16px}.priority-input-group input[type=range]{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer;flex:1 1;height:40px;min-width:200px;outline:none;width:100%}.priority-input-group input[type=range]::-webkit-slider-runnable-track{background:#e5e7eb;border-radius:5px;cursor:pointer;height:10px;width:100%}.priority-input-group input[type=range]::-moz-range-track{background:#e5e7eb;border:none;border-radius:5px;cursor:pointer;height:10px;width:100%}.priority-input-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary);border-radius:50%;box-shadow:0 2px 4px #00000026;cursor:pointer;height:24px;margin-top:-7px;-webkit-transition:background .2s,transform .2s;transition:background .2s,transform .2s;width:24px}.priority-input-group input[type=range]::-webkit-slider-thumb:hover{background:var(--color-primary-hover);transform:scale(1.1)}.priority-input-group input[type=range]::-webkit-slider-thumb:active{transform:scale(.95)}.priority-input-group input[type=range]::-moz-range-thumb{background:var(--color-primary);border:none;border-radius:50%;box-shadow:0 2px 4px #00000026;cursor:pointer;height:24px;-moz-transition:background .2s,transform .2s;transition:background .2s,transform .2s;width:24px}.priority-input-group input[type=range]::-moz-range-thumb:hover{background:var(--color-primary-hover);transform:scale(1.1)}.priority-input-group input[type=range]::-moz-range-thumb:active{transform:scale(.95)}.priority-input-group input[type=range]:disabled::-webkit-slider-runnable-track{background:#e5e7eb;cursor:not-allowed}.priority-input-group input[type=range]:disabled::-moz-range-track{background:#e5e7eb;cursor:not-allowed}.priority-input-group input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af;cursor:not-allowed}.priority-input-group input[type=range]:disabled::-moz-range-thumb{background:#9ca3af;cursor:not-allowed}.priority-number{font-weight:600;text-align:center;width:80px}.help-text{color:#6b7280;display:block;font-size:13px;margin-top:8px}.coming-soon{color:#9ca3af;padding:40px 20px;text-align:center}.coming-soon svg{margin:0 auto 16px;opacity:.5}.coming-soon p{color:#6b7280;font-size:16px;font-weight:500;margin:0 0 8px}.coming-soon small{color:#9ca3af;font-size:13px}.form-actions{background-color:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;padding:24px 32px}.settings-form .btn-primary,.settings-form .btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.settings-form .btn-primary{background-color:var(--color-primary)!important;color:#fff!important}.settings-form .btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)!important}.settings-form .btn-primary:disabled{background-color:#9ca3af!important;cursor:not-allowed}.settings-form .btn-secondary{background-color:#fff!important;border:1px solid #d1d5db!important;color:#374151!important}.settings-form .btn-secondary:hover:not(:disabled){background-color:#f3f4f6!important}.settings-form .btn-secondary:disabled{cursor:not-allowed;opacity:.5}.loading-container{padding:60px 20px;text-align:center}.spinner-large{animation:spin 1s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:48px;margin:0 auto 16px;width:48px}.assignments-loading,.loading-container p{color:#6b7280;font-size:14px}.assignments-loading{align-items:center;display:flex;gap:12px;padding:20px}.spinner-small{animation:spin .8s linear infinite;border:2px solid var(--border-color);border-top-color:var(--color-primary);height:20px;width:20px}.assignments-subsection{margin-bottom:24px}.assignments-subsection:last-of-type{margin-bottom:0}.assignments-subsection h3{align-items:center;color:#374151;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 12px}.assignments-subsection h3 svg{color:#6b7280}.assignments-list{display:flex;flex-direction:column;gap:8px}.assignment-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s}.assignment-item:hover{background:#f3f4f6;border-color:#d1d5db}.assignment-info{display:flex;flex-direction:column;gap:2px}.assignment-name{align-items:center;color:#111827;display:flex;font-size:14px;font-weight:500;gap:8px}.assignment-description,.assignment-email{color:#6b7280;font-size:13px}.assignment-meta{align-items:center;display:flex;gap:8px}.assignment-badge{background:#e0e7ff;border-radius:12px;color:var(--color-primary);font-size:12px;font-weight:500;padding:4px 10px}.assignment-priority{background:#fef3c7;border-radius:4px;color:#92400e;font-size:12px;font-weight:600;padding:4px 8px}.assignment-role{color:#6b7280;font-size:12px}.shared-badge{background:#dbeafe;border-radius:10px;color:#1e40af;font-size:11px;font-weight:500;padding:2px 8px}.no-assignments{color:#9ca3af;font-size:14px;font-style:italic;margin:0;padding:16px;text-align:center}.assignments-cta{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;display:flex;gap:12px;margin-top:24px;padding:16px}.assignments-cta>svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.cta-content p{color:#374151;font-size:14px;line-height:1.5;margin:0 0 12px}.cta-links{display:flex;flex-wrap:wrap;gap:16px}.cta-link{align-items:center;background:#fff;border:1px solid var(--color-primary);border-radius:6px;color:var(--color-primary);display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 12px;text-decoration:none;transition:all .2s}.cta-link:hover{background:var(--color-primary);color:#fff}.cta-link svg{flex-shrink:0}@media (max-width:768px){.settings-container{padding:24px 16px}.settings-section{padding:24px 20px}.form-actions{flex-direction:column-reverse;padding:20px}.form-actions button{width:100%}.assignment-item{align-items:flex-start;flex-direction:column;gap:8px}.assignment-meta{justify-content:flex-start;width:100%}}.calendar-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.calendar-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.calendar-month-title{color:#1f2937;flex:1 1;font-size:20px;font-weight:600;margin:0;text-align:center;text-transform:capitalize}.calendar-nav-btn{align-items:center;background:#fff;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.calendar-nav-btn:hover{background:#e5e7eb;color:#374151}.calendar-today-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;margin-left:12px;padding:8px 16px;transition:all .2s}.calendar-today-btn:hover{background:#f9fafb;border-color:#9ca3af}.calendar-weekdays{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekday{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:center;text-transform:uppercase}.calendar-days{background:#fff;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{border:1px solid #e5e7eb;border-left:none;border-top:none;cursor:pointer;min-height:120px;overflow:hidden;padding:8px;position:relative;transition:background-color .2s}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover:not(.calendar-day-empty){background:#f9fafb}.calendar-day-empty{background:#fafafa;cursor:default}.calendar-day-number{color:#374151;font-size:14px;font-weight:600;margin-bottom:4px}.calendar-day-today{background:var(--color-primary-light)}.calendar-day-today .calendar-day-number{align-items:center;background:var(--color-primary);border-radius:50%;color:var(--color-primary);color:#fff;display:flex;height:28px;justify-content:center;width:28px}.calendar-day-signatures{display:flex;flex-direction:column;gap:4px;margin-top:6px}.calendar-signature-item{align-items:center;border-left:3px solid;border-radius:4px;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:4px;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.calendar-signature-item.is-active{background:#d1fae5;border-left-color:#10b981;color:#065f46}.calendar-signature-item.is-inactive{background:#fee2e2;border-left-color:#ef4444;color:#991b1b;opacity:.7}.calendar-signature-item.is-default{font-weight:600}.calendar-signature-item:hover{box-shadow:0 2px 4px #0000001a;transform:translateX(2px)}.signature-name{flex:1 1;overflow:hidden;text-overflow:ellipsis}.default-star{color:#f59e0b;flex-shrink:0;font-size:12px}.calendar-signature-multi-group{display:flex;flex-direction:column;gap:2px;padding:6px 8px}.signature-group-badge{font-size:9px;font-weight:600;letter-spacing:.3px;opacity:.8;text-transform:uppercase}.calendar-signature-more{background:#f3f4f6;border-radius:3px;color:#6b7280;font-size:10px;font-weight:500;padding:2px 6px;text-align:center}.calendar-day.has-signatures{background:#fefefe}.calendar-day:nth-child(7n),.calendar-day:nth-child(7n-1){background:#fafafa}.calendar-day.has-signatures:nth-child(7n),.calendar-day.has-signatures:nth-child(7n-1){background:#fcfcfc}@media (max-width:1024px){.calendar-day{min-height:100px}.calendar-signature-item{font-size:10px;padding:3px 5px}}@media (max-width:768px){.calendar-header{padding:16px}.calendar-month-title{font-size:16px}.calendar-today-btn{display:none}.calendar-day{min-height:80px;padding:4px}.calendar-day-number{font-size:12px}.calendar-signature-item{font-size:9px;padding:2px 4px}.calendar-weekday{font-size:11px;padding:8px 4px}}.calendar-page{background:#f9fafb;height:100vh;overflow-y:scroll;width:100%}.calendar-page-content{margin:0 auto;max-width:1400px;padding:24px 24px 80px;width:100%}.calendar-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.header-left{flex:1 1}.page-title{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 8px}.page-subtitle{color:#6b7280;font-size:14px;margin:0}.active-filter{align-items:center;display:flex;gap:12px;margin-top:12px}.filter-badge{align-items:center;background:var(--color-primary-light);border-radius:20px;color:var(--color-primary);display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.filter-badge svg{flex-shrink:0}.btn-clear-filter{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:6px 10px;transition:all var(--transition-fast)}.filter-selector{align-items:center;display:flex;gap:12px}.filter-select{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-size:14px;min-width:300px;padding:8px 12px}.filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.calendar-empty-state{background:#fff;border-radius:12px;box-shadow:var(--shadow-sm);flex-direction:column;padding:80px 40px;text-align:center}.calendar-empty-state,.empty-state-icon{align-items:center;display:flex;justify-content:center}.empty-state-icon{background:var(--color-gray-100);border-radius:50%;color:var(--color-gray-400);height:100px;margin-bottom:24px;width:100px}.calendar-empty-state h3{color:var(--color-text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.calendar-empty-state p{color:var(--color-text-secondary);font-size:14px;margin:0;max-width:400px}.btn-back{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 18px;transition:all .2s}.btn-back:hover{background:#f9fafb;border-color:#9ca3af}.calendar-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{align-items:center;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:8px;display:flex;height:48px;justify-content:center;width:48px}.stat-active .stat-icon{background:#d1fae5;color:#065f46}.stat-scheduled .stat-icon{background:#dbeafe;color:#1e40af}.stat-expired .stat-icon{background:#fee2e2;color:#991b1b}.stat-total .stat-icon{background:#f3f4f6;color:#374151}.stat-content{flex:1 1}.stat-value{color:#1f2937;font-size:28px;margin-bottom:4px}.stat-label{color:#6b7280;font-weight:500}.calendar-controls{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:16px;padding:16px 20px}.view-mode-selector{align-items:center;display:flex;gap:12px}.control-label{color:#374151;font-size:14px;font-weight:600}.view-mode-buttons{display:flex;gap:8px}.view-mode-btn{background:#fff;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;font-weight:500;gap:8px;padding:10px 16px}.view-mode-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.view-mode-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.view-mode-btn svg{flex-shrink:0}.group-filter{align-items:center;display:flex;gap:12px}.group-select{background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;min-width:200px;padding:8px 32px 8px 12px;transition:all .2s}.group-select:focus,.group-select:hover{border-color:var(--color-primary)}.group-select:focus{box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.calendar-groups-legend{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;padding:16px 20px}.legend-title{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.no-groups-message{color:var(--color-text-secondary);font-size:14px;margin:0}.no-groups-message a{color:var(--color-primary);text-decoration:none}.no-groups-message a:hover{text-decoration:underline}.legend-items{display:flex;flex-wrap:wrap;gap:16px}.legend-item-group{align-items:center;color:#374151;display:flex;font-size:13px;font-weight:500;gap:8px}.legend-color-box{border-left:3px solid;border-radius:4px;height:16px;width:24px}.calendar-legend{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;gap:24px;margin-bottom:24px;padding:16px 20px}.calendar-legend,.legend-item{align-items:center;display:flex}.legend-item{color:#374151;font-size:13px;font-weight:500;gap:8px}.legend-color{border-left:3px solid;border-radius:4px;height:16px;width:24px}.legend-active{background:#d1fae5;border-left-color:#10b981}.legend-inactive{background:#fee2e2;border-left-color:#ef4444}.legend-star{color:#f59e0b;font-size:16px}.calendar-error,.calendar-loading{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.calendar-error p,.calendar-loading p{color:#6b7280;font-size:14px;margin-top:16px}.spinner{border:4px solid var(--border-color)}.btn-retry{background:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:10px 20px;transition:background .2s}.btn-retry:hover{background:var(--color-primary-hover)}.day-detail-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.day-detail-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.day-detail-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.day-detail-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.close-btn{background:#0000;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f3f4f6}.day-detail-content{overflow-y:auto;padding:24px}.no-signatures{color:#6b7280;font-size:14px;padding:40px 20px;text-align:center}.signatures-list{display:flex;flex-direction:column;gap:12px}.signature-detail-item{border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.signature-detail-item:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #4f46e51a;transform:translateY(-2px)}.signature-detail-item.active{background:#f0fdf4;border-left:4px solid #10b981}.signature-detail-item.inactive{background:#fef2f2;border-left:4px solid #ef4444;opacity:.8}.signature-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.signature-detail-header h4{align-items:center;color:#1f2937;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0}.default-badge{align-items:center;background:#fef3c7;border-radius:12px;color:#92400e;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px}.status-badge.status-active{background-color:#d1fae5;color:#065f46}.status-badge.status-inactive{background-color:#fee2e2;color:#991b1b}.signature-detail-dates{display:flex;gap:24px;margin-bottom:8px}.date-info{display:flex;flex-direction:column;gap:4px}.date-label{color:#6b7280;font-size:12px;font-weight:500}.date-value{color:#374151;font-size:13px;font-weight:500}.signature-priority{border-top:1px solid #e5e7eb;color:#6b7280;font-size:12px;margin-top:8px;padding-top:8px}@media (max-width:1024px){.calendar-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.calendar-page-content{padding:16px}.calendar-page-header{align-items:flex-start;flex-direction:column;gap:16px}.btn-back{align-self:flex-end}.calendar-stats{grid-template-columns:1fr}.calendar-legend{flex-wrap:wrap;gap:12px}.calendar-controls,.view-mode-selector{align-items:stretch;flex-direction:column}.view-mode-selector{gap:8px}.view-mode-buttons{flex-direction:column}.view-mode-btn{justify-content:center}.group-filter{align-items:stretch;flex-direction:column;gap:8px}.group-select{width:100%}.legend-items{gap:12px}.page-title{font-size:24px}.day-detail-modal{max-height:90vh}.signature-detail-dates{flex-direction:column;gap:12px}}.app-container{display:flex;flex-direction:column;height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 24px}.back-to-list{align-items:center;color:var(--color-primary);display:inline-flex;font-size:14px;font-weight:500;gap:6px;text-decoration:none;transition:all .2s}.back-to-list:hover{color:var(--color-primary-hover);gap:8px}.back-to-list svg{transition:transform .2s}.back-to-list:hover svg{transform:translateX(-2px)}.main-content{display:flex;flex:1 1;overflow:hidden}.top-bar{align-items:center;background:#2c3e50;box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;height:60px;justify-content:space-between;padding:0 20px;z-index:1000}.top-bar h1{font-size:20px;font-weight:600}.top-bar-actions{display:flex;gap:10px}.btn,button{border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;overflow:hidden;padding:10px 20px;position:relative;transition:all .2s ease}.btn:active:not(:disabled),button:active:not(:disabled){box-shadow:0 1px 2px #0000001a;transform:translateY(1px)}.btn:focus,button:focus{box-shadow:0 2px 4px #0000001a,0 0 0 3px #3498db33;outline:none}.top-bar button:focus{box-shadow:0 2px 4px #0000001a,0 0 0 3px #ffffff4d}.api-status{align-items:center;background:#ffffff1a;border-radius:20px;display:flex;font-size:12px;gap:8px;padding:6px 12px}.api-status-dot{background:#e74c3c;border-radius:50%;height:8px;width:8px}.api-status-dot.connected{background:#27ae60}.sidebar-left{background:#fff;border-right:1px solid #e0e0e0;max-height:100%;overflow-y:auto;width:240px}@media (max-width:1400px){.sidebar-left{width:220px}}@media (max-width:1200px){.sidebar-left{width:200px}}.sidebar-section{border-bottom:1px solid #e0e0e0;padding:16px}@media (max-width:1200px){.sidebar-section{padding:12px}}.sidebar-section h2{color:#2c3e50;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:15px;text-transform:uppercase}.elements-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.draggable-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:move;font-size:13px;padding:12px;text-align:center;transition:all .2s}.draggable-item:hover{background:#e8f4f8;border-color:#3498db;transform:translateY(-2px)}.draggable-item-icon{font-size:24px;margin-bottom:6px}.structures-list{display:flex;flex-direction:column;gap:10px}.structure-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:move;padding:15px;transition:all .2s}.structure-item:hover{background:#e8f4f8;border-color:#3498db}.structure-preview{display:flex;gap:4px;margin-bottom:8px}.structure-col{background:#d0d0d0;border-radius:4px;flex:1 1;height:40px}.structure-label{color:#666;font-size:12px;text-align:center}.btn-insert-template{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:14px 16px;transition:all .3s ease;width:100%}.btn-insert-template:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.btn-insert-template:active{transform:translateY(0)}.btn-insert-template .btn-icon{font-size:18px}.btn-insert-template.disabled,.btn-insert-template:disabled{background:#ccc;box-shadow:none;color:#888;cursor:not-allowed;opacity:.6}.btn-insert-template.disabled:hover,.btn-insert-template:disabled:hover{box-shadow:none;transform:none}.sidebar-hint{color:#666;font-size:11px;font-style:italic;line-height:1.4;margin-top:10px;text-align:center}.canvas-area{background:#f5f5f5;flex:1 1;overflow-y:auto;padding:30px}.canvas-area:not(.preview-mode) a{cursor:default!important;pointer-events:none}.canvas-area.preview-mode a{cursor:pointer!important;pointer-events:auto}.canvas-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1200px;min-height:400px;overflow-x:auto;padding:40px}.canvas-empty-state{color:#95a5a6;padding:60px 20px;text-align:center}.canvas-empty-state-icon{font-size:64px;margin-bottom:20px;opacity:.3}.grid-row{border:2px dashed #0000;box-sizing:border-box;margin-bottom:0;position:relative;transition:all .2s}.grid-row.selected,.grid-row:hover{border-color:#3498db}.grid-row.selected{border-style:solid}.row-controls{display:flex;flex-direction:column;gap:4px;left:-30px;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s}.grid-row:hover .row-controls{opacity:1}.row-control-btn{align-items:center;background:#3498db;border:none;border-radius:4px;box-shadow:0 1px 3px #0003;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;padding:0;width:24px}.row-control-btn:hover{background:#2980b9}.row-control-btn.danger{background:#e74c3c}.row-table{border-collapse:collapse;table-layout:fixed;width:100%}.grid-cell{border:1px solid #e0e0e0;box-sizing:border-box;min-height:60px;overflow:auto;padding:15px;padding-bottom:40px!important;resize:none;transition:all .2s;vertical-align:top;width:auto}.grid-cell:hover{background:#f8f9fa}.grid-cell.selected{background:#e8f4f8;outline:2px solid #3498db;outline-offset:-2px}.grid-cell.drag-over{background:#d4edda!important;box-shadow:inset 0 0 10px #28a74533;outline:2px dashed #28a745!important;outline-offset:-2px}.resize-handle{background:#0000;cursor:col-resize;height:100%;position:absolute;right:0;top:0;transition:background .2s;width:8px;z-index:99}.resize-handle:hover{background:#3498db4d}.cell-selector-btn{border-radius:4px;font-size:10px;left:4px;padding:2px 8px;top:4px}.grid-cell.selected .cell-selector-btn,.grid-cell:hover .cell-selector-btn{opacity:1}.cell-actions{bottom:4px;display:flex;gap:4px;opacity:0;position:absolute;right:4px;transition:opacity .2s;z-index:10}.grid-cell.selected .cell-actions,.grid-cell:hover .cell-actions{opacity:1}.cell-action-btn{align-items:center;background:#3498db;border:none;border-radius:4px;box-shadow:0 1px 3px #0003;color:#fff;cursor:pointer;display:flex;font-size:11px;height:24px;justify-content:center;padding:0;width:24px}.cell-action-btn.danger{background:#e74c3c}.canvas-element{border:1px solid #0000;border-radius:4px;cursor:move;margin:8px 0;padding:8px;position:relative;transition:all .2s}.canvas-element:hover{background:#f8f9fa;border-color:#3498db}.canvas-element.selected{background:#e8f4f8;outline:2px solid #3498db;outline-offset:2px}.canvas-element.dragging{cursor:grabbing;opacity:.5}.canvas-element.readonly{background:#f3f4f6!important;cursor:default!important;opacity:.8;pointer-events:auto}.canvas-element.readonly:hover{background:#f3f4f6!important;border-color:#d1d5db!important}.element-label{background:#3498db;border-radius:10px;color:#fff;font-size:10px;left:8px;opacity:0;padding:2px 8px;position:absolute;top:-10px;transition:opacity .2s;z-index:10}.canvas-element:hover .element-label{opacity:1}.element-delete{align-items:center;background:#e74c3c;border:none;border-radius:50%;box-shadow:0 1px 3px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:8px;top:-10px;transition:opacity .2s;width:20px}.canvas-element:hover .element-delete{opacity:1}.element-text{line-height:1.5}.element-image img{border-radius:4px;height:auto;max-width:100%}.element-banner{overflow:hidden;width:100%}.element-banner img{display:block;width:100%}.element-button{display:inline-block;text-decoration:none}.element-icontext{align-items:center;display:flex;gap:8px}.element-icontext .icon{flex-shrink:0}.element-divider{margin:15px 0}.element-socialgroup{align-items:center;display:flex}.element-qrcode{display:inline-block}.sidebar-right{background:#fff;border-left:1px solid #e0e0e0;overflow-y:auto;width:280px}@media (max-width:1400px){.sidebar-right{width:260px}}@media (max-width:1200px){.sidebar-right{width:240px}}.properties-panel{padding:16px}@media (max-width:1200px){.properties-panel{padding:12px}}.properties-panel h2{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:20px}.form-group label{color:#555;font-size:13px;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;outline:none}.color-input-wrapper{gap:10px}.color-input-wrapper input[type=color]{cursor:pointer;height:40px;padding:2px;width:60px}.color-input-wrapper input[type=text]{flex:1 1}.drop-zone{align-items:center;border:2px dashed #d0d0d0;border-radius:8px;color:#95a5a6;display:flex;font-size:13px;justify-content:center;margin:8px 0;min-height:40px}.drop-zone.drag-over{background:#e8f4f8;border-color:#3498db;color:#3498db}.row-drop-indicator{background:#3498db;border-radius:2px;height:4px;margin:8px 0;opacity:0;transition:opacity .2s}.row-drop-indicator.active{opacity:1}.notification{align-items:center;animation:slideIn .3s ease;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;gap:12px;padding:15px 20px;position:fixed;right:20px;top:80px;z-index:3000}@keyframes slideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}.notification.success{border-left:4px solid #27ae60}.notification.error{border-left:4px solid #e74c3c}.notification.info{border-left:4px solid #3498db}.api-panel{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px}.api-panel h3{color:#2c3e50;font-size:14px;margin-bottom:12px}.share-url{background:#e8f4f8;border-radius:4px;font-size:12px;margin-top:10px;padding:10px;word-break:break-all}.share-url a{color:#3498db;text-decoration:none}.share-url a:hover{text-decoration:underline}.quill-editor-container{background:#fff;border-radius:6px}.ql-editor{min-height:150px}.modal-overlay{z-index:2000}.modal{box-shadow:0 10px 40px #0003;max-height:80vh;max-width:800px;overflow-y:auto;padding:30px}.modal h2{color:#2c3e50;margin-bottom:20px}.modal-actions{gap:10px}.modal textarea{border:1px solid #e0e0e0;border-radius:6px;font-family:Courier New,monospace;font-size:12px;min-height:400px;padding:15px;width:100%}.row-control-btn.success{background:#27ae60}.container-settings-btn{align-items:center;background:#3498db;border:none;border-radius:50%;box-shadow:0 2px 10px #0003;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:all .2s;width:40px}.container-settings-btn:hover{background:#2980b9;box-shadow:0 4px 15px #0000004d;transform:scale(1.1)}.row-control-btn.success:hover{background:#229954}.grid-cell{padding-top:40px!important;position:relative}.cell-selector-btn{background:#3498db;border:none;border-radius:12px;box-shadow:0 1px 3px #0003;color:#fff;cursor:pointer;font-size:11px;font-weight:500;left:8px;opacity:0;padding:4px 12px;position:absolute;top:8px;transition:opacity .2s;z-index:10}.grid-cell:hover .cell-selector-btn{opacity:1}@media (max-width:768px){.canvas-container{padding:20px}.container-settings-btn{font-size:18px;height:36px;right:10px;top:-45px;width:36px}}.grid-row.preview-mode{border:none!important;margin-bottom:0!important}.grid-row.preview-mode:hover{border:none!important}.grid-cell.preview-mode{border:none!important;cursor:default!important;padding:15px!important}.grid-cell.preview-mode:hover{background:#fff!important;outline:none!important}.grid-cell.preview-mode .canvas-element{border:none!important;cursor:default!important;margin:8px 0!important;padding:0!important}.grid-cell.preview-mode .canvas-element:hover{background:#0000!important;border:none!important}.preview-mode *{cursor:default!important}.preview-mode .canvas-element{margin:0!important}.preview-mode .cell-actions,.preview-mode .cell-selector-btn,.preview-mode .drop-zone,.preview-mode .element-delete,.preview-mode .element-label,.preview-mode .resize-handle{display:none!important}.preview-mode table,.preview-mode td,.preview-mode th,.preview-mode tr{border:none!important}.social-order-btn,.social-remove-btn{align-items:center;border:none;border-radius:4px;box-shadow:none;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.social-order-btn{background:#3498db;color:#fff}.social-order-btn:hover{background:#2980b9;box-shadow:none;transform:none}.social-remove-btn{background:#e74c3c;color:#fff;font-size:20px;font-weight:600;line-height:1}.social-remove-btn:hover{background:#c0392b;box-shadow:none;transform:none}.social-add-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:none;color:#2c3e50;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s ease}.social-add-btn:hover{background:#f8f9fa;border-color:#3498db;box-shadow:none;color:#3498db;transform:none}.alignment-buttons{display:flex;gap:8px}.align-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:none;color:#2c3e50;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.align-btn:hover{background:#f8f9fa;border-color:#3498db;box-shadow:none;transform:none}.align-btn.active{background:#3498db;border-color:#3498db;color:#fff}.align-btn.active:hover{background:#2980b9;border-color:#2980b9}.align-btn svg{display:block}.image-shape-buttons{display:flex;gap:8px}.shape-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all .15s ease;width:40px}.shape-btn:hover{background:#f8f9fa}.shape-btn.active,.shape-btn:hover{border-color:#4f46e5;border-color:var(--color-primary,#4f46e5)}.shape-btn.active{background:#4f46e5;background:var(--color-primary,#4f46e5);color:#fff}.shape-btn.active:hover{background:#4338ca;background:var(--color-primary-hover,#4338ca);border-color:#4338ca;border-color:var(--color-primary-hover,#4338ca)}.shape-btn svg{display:block}.text-format-buttons{display:flex;gap:8px}.format-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:none;color:#2c3e50;cursor:pointer;display:flex;font-size:16px;font-weight:600;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.format-btn:hover{background:#f8f9fa;border-color:#3498db;box-shadow:none;transform:none}.format-btn.active{background:#3498db;border-color:#3498db;color:#fff}.format-btn.active:hover{background:#2980b9;border-color:#2980b9}.format-btn em,.format-btn strong,.format-btn u{font-style:normal;font-weight:400;text-decoration:none}.format-btn em{font-style:italic}.format-btn u{text-decoration:underline}.glossary-modal{max-height:85vh;max-width:900px;width:90%}.glossary-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.glossary-header h2{color:#2c3e50;font-size:24px;margin:0}.glossary-close{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:32px}.glossary-close:hover{background:#c0392b;transform:scale(1.1)}.glossary-intro{background:#e8f4f8;border-left:4px solid #3498db;border-radius:8px;margin-bottom:25px;padding:15px}.glossary-intro p{color:#2c3e50;font-size:14px;line-height:1.6;margin:0}.glossary-content{margin-bottom:20px;max-height:50vh;overflow-y:auto}.glossary-category{margin-bottom:30px}.glossary-category-title{border-bottom:2px solid #e8f4f8;color:#3498db;font-size:18px;font-weight:700;margin-bottom:12px;padding-bottom:8px}.glossary-table{overflow-x:auto}.glossary-table table{border-collapse:collapse;font-size:13px;width:100%}.glossary-table thead{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.glossary-table th{border-bottom:2px solid #e0e0e0;color:#555;font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.glossary-table td{border-bottom:1px solid #f0f0f0;padding:10px 12px;vertical-align:middle}.glossary-table tbody tr:hover{background:#f8f9fa}.glossary-label{color:#2c3e50;font-weight:500}.glossary-code{background:#e8f4f8;border-radius:4px;color:#3498db;font-weight:600;padding:4px 8px;white-space:nowrap}.glossary-ad-attr,.glossary-code{font-family:Courier New,monospace;font-size:12px}.glossary-ad-attr{color:#7f8c8d}.glossary-example{color:#7f8c8d;font-style:italic}.glossary-footer{border-top:2px solid #e0e0e0;padding-top:20px}.glossary-tips h4{color:#2c3e50;font-size:16px;margin-bottom:12px}.glossary-tips ul{list-style:none;margin:0;padding-left:20px}.glossary-tips li{color:#555;font-size:13px;line-height:1.6;margin-bottom:8px;padding-left:20px;position:relative}.glossary-tips li:before{color:#3498db;content:"→";font-weight:700;left:0;position:absolute}.glossary-tips strong{color:#2c3e50;font-weight:600}.save-dropdown{align-items:stretch;display:inline-flex;position:relative}.save-dropdown.disabled{cursor:not-allowed;opacity:.5}.save-dropdown-main{border-bottom-right-radius:0!important;border-right:1px solid #fff3;border-top-right-radius:0!important;padding-right:12px}.save-dropdown-toggle{align-items:center;border-bottom-left-radius:0!important;border-top-left-radius:0!important;display:flex;justify-content:center;min-width:auto;padding:8px}.save-dropdown-main:hover:not(:disabled),.save-dropdown-toggle:hover:not(:disabled){filter:brightness(.95)}.save-dropdown-main:active:not(:disabled),.save-dropdown-toggle:active:not(:disabled){filter:brightness(.9)}.save-dropdown-menu{animation:dropdown-appear .15s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.save-dropdown-item{align-items:center;background:#fff;border:none;color:#374151;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:10px;padding:10px 14px;text-align:left;transition:background .15s;width:100%}.save-dropdown-item:hover{background:#f3f4f6}.save-dropdown-item:active{background:#e5e7eb}.dropdown-icon{flex-shrink:0;font-size:16px;text-align:center;width:20px}.save-dropdown-divider{background:#e5e7eb;height:1px;margin:4px 0}@media (max-width:768px){.save-dropdown-menu{min-width:200px}.save-dropdown-item{font-size:13px;padding:8px 12px}}.dashboard-toolbar{background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;padding:16px 24px}.dashboard-toolbar,.toolbar-left{align-items:center;display:flex;gap:20px}.toolbar-title{align-items:center;color:#1f2937;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.toolbar-title.editable{border-radius:6px;cursor:pointer;margin-left:-12px;padding:6px 12px;transition:all .2s ease}.toolbar-title.editable:hover{background-color:var(--color-gray-100);color:var(--color-primary)}.toolbar-title .edit-icon{flex-shrink:0;opacity:0;transition:opacity .2s ease}.toolbar-title.editable:hover .edit-icon{opacity:1}.pending-indicator{align-items:center;animation:pulse-indicator 2s ease-in-out infinite;display:inline-flex;font-size:16px;justify-content:center;margin-left:8px}@keyframes pulse-indicator{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.api-status-indicator{align-items:center;background:#f3f4f6;border-radius:6px;display:flex;font-size:13px;gap:6px;padding:6px 12px}.status-dot{background:#ef4444;border-radius:50%;height:8px;transition:background .3s;width:8px}.status-dot.connected{background:#10b981}.status-text{color:#6b7280;font-weight:500}.toolbar-actions{flex-wrap:wrap;gap:10px}.preview-toggle,.preview-toggle label,.toolbar-actions{align-items:center;display:flex}.preview-toggle label{color:#374151;cursor:pointer;font-size:14px;font-weight:500;gap:8px}.toggle-switch{background:#d1d5db;border-radius:12px;cursor:pointer;height:24px;position:relative;transition:background .3s;width:48px}.toggle-switch.active{background:#10b981}.toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:20px;left:2px;position:absolute;top:2px;transition:transform .3s;width:20px}.toggle-switch.active .toggle-thumb{transform:translateX(24px)}.btn{font-family:inherit;padding:8px 16px;white-space:nowrap}.btn-copy{background:#f3f4f6;color:#374151}.btn-copy:hover:not(:disabled){background:#e5e7eb}.btn-copy.success{background:var(--color-success-light);color:#065f46}.btn-info{background:var(--color-info);color:#fff}.btn-info:hover:not(:disabled){background:var(--color-info-hover)}.btn-template{background:#8b5cf6;color:#fff}.btn-template:hover:not(:disabled){background:#7c3aed}.scheduled-changes-btn{position:relative}.pending-badge{align-items:center;animation:badge-appear .3s ease-out;background:#ef4444;border-radius:10px;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:20px;justify-content:center;line-height:1;margin-left:6px;min-width:20px;padding:0 6px}@keyframes badge-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (max-width:1024px){.dashboard-toolbar{align-items:stretch;flex-direction:column}.toolbar-actions,.toolbar-left{justify-content:space-between}.toolbar-actions{flex-wrap:wrap}}@media (max-width:768px){.dashboard-toolbar{padding:12px 16px}.toolbar-title{font-size:16px}.btn{font-size:13px;padding:6px 12px}}

/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.margin-control{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;box-sizing:border-box;margin-bottom:20px;padding:12px;width:100%}.margin-control-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.margin-control-header label{color:#333;font-size:14px;font-weight:600;margin:0}.link-button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s ease}.link-button:hover{background:#f0f0f0}.link-button.linked{background:#3498db;border-color:#3498db}.margin-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;width:100%}.margin-input-group{align-items:center;display:flex;gap:4px;min-width:0}.margin-label{color:#666;flex-shrink:0;font-size:16px;font-weight:700;text-align:center;width:18px}.margin-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;flex:1 1;font-family:monospace;font-size:12px;min-width:0;padding:6px 4px}.margin-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1a;outline:none}.shortcode-selector{display:inline-block;position:relative}.shortcode-btn{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;box-shadow:none;color:#555;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s}.shortcode-btn:hover{background:#e8f4f8;border-color:#3498db;color:#3498db;transform:none}.shortcode-btn:active{transform:none}.shortcode-icon{color:#3498db;font-size:14px;font-weight:700}.shortcode-text{font-weight:500}.shortcode-dropdown{animation:slideDown .2s ease;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:500px;max-width:min(380px,calc(100vw - 40px));position:fixed;width:380px;z-index:1000}.shortcode-search{border-bottom:1px solid #e0e0e0;padding:12px}.shortcode-search input{border:1px solid #e0e0e0;border-radius:4px;box-sizing:border-box;font-size:13px;padding:8px 12px;width:100%}.shortcode-search input:focus{border-color:#3498db;outline:none}.shortcode-list{max-height:380px;overflow-y:auto;padding:8px 0}.shortcode-category{margin-bottom:8px}.shortcode-category-title{color:#95a5a6;font-size:11px;font-weight:700;letter-spacing:.5px;padding:8px 16px 4px;text-transform:uppercase}.shortcode-item{border-left:3px solid #0000;cursor:pointer;padding:10px 16px;transition:background .15s}.shortcode-item:hover{background:#f8f9fa;border-left-color:#3498db}.shortcode-item-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.shortcode-item-label{color:#2c3e50;font-size:13px;font-weight:500}.shortcode-item-code{background:#e8f4f8;border-radius:3px;color:#3498db;font-family:Courier New,monospace;font-size:11px;font-weight:600;padding:2px 6px}.shortcode-item-example{color:#7f8c8d;font-size:11px;font-style:italic}.shortcode-empty{color:#95a5a6;font-size:13px;padding:20px;text-align:center}.shortcode-footer{background:#f8f9fa;border-radius:0 0 8px 8px;border-top:1px solid #e0e0e0;padding:10px 16px}.shortcode-footer small{color:#7f8c8d;font-size:11px;line-height:1.4}.icon-picker-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.icon-picker-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:900px;overflow:hidden;width:100%}.icon-picker-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px}.icon-picker-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0}.icon-picker-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:4px;transition:all .2s}.icon-picker-close:hover{background:#f3f4f6;color:#1f2937}.icon-picker-toolbar{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;padding:16px 24px}.icon-picker-search{align-items:center;display:flex;flex:1 1;min-width:250px;position:relative}.icon-picker-search svg{color:#9ca3af;left:12px;pointer-events:none;position:absolute}.icon-picker-search input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;padding:10px 40px;transition:all .2s;width:100%}.icon-picker-search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.search-clear{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;padding:4px;position:absolute;right:8px;transition:all .2s}.search-clear:hover{background:#f3f4f6;color:#6b7280}.icon-picker-style-toggle{background:#f3f4f6;border-radius:8px;display:flex;gap:8px;padding:4px}.style-toggle-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.style-toggle-btn:hover{color:#374151}.style-toggle-btn.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--color-primary)}.icon-picker-info{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:8px 24px}.icon-picker-info p{color:#6b7280;font-size:13px;margin:0}.icon-picker-grid{grid-gap:12px;align-content:start;display:grid;flex:1 1;gap:12px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));overflow-y:auto;padding:24px}.icon-picker-item{align-items:center;aspect-ratio:1;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:8px;transition:all .2s}.icon-picker-item:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.icon-picker-item.selected,.icon-picker-item:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.icon-picker-item.selected{box-shadow:0 0 0 3px #4f46e533}.icon-preview{color:#374151;height:32px;margin-bottom:4px;width:32px}.icon-name{color:#6b7280;font-size:10px;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.icon-picker-item.selected .icon-name{color:var(--color-primary);font-weight:500}.icon-picker-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:60px 20px}.icon-picker-empty svg{margin-bottom:16px}.icon-picker-empty p{font-size:16px;margin:0}.icon-picker-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.icon-picker-footer button{border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel{background:#fff;border:1px solid #d1d5db}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.btn-confirm{background:var(--color-primary);border:none}.btn-confirm:hover:not(:disabled){background:var(--color-primary-hover)}.btn-confirm:disabled{opacity:.5}@media (max-width:768px){.icon-picker-overlay{padding:0}.icon-picker-modal{border-radius:0;max-height:100vh;max-width:100vw}.icon-picker-toolbar{align-items:stretch;flex-direction:column}.icon-picker-search{min-width:100%}.icon-picker-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));padding:16px}.icon-preview{height:24px;width:24px}}.media-uploader{border-bottom:1px solid #e5e7eb;padding:20px}.upload-dropzone{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:40px 20px;text-align:center;transition:all .2s}.upload-dropzone:hover:not(.uploading){background:var(--color-primary-light);border-color:var(--color-primary)}.upload-dropzone.dragging{background:#dbeafe;border-color:var(--color-primary);transform:scale(1.02)}.upload-dropzone.uploading{cursor:not-allowed;opacity:.8}.upload-dropzone svg{color:#9ca3af;margin:0 auto 16px}.upload-dropzone h3{color:#374151;font-size:16px;font-weight:600;margin-bottom:8px}.upload-dropzone p{color:#6b7280;font-size:14px;margin-bottom:12px}.upload-hint{background:#fff;border-radius:4px;color:#9ca3af;display:inline-block;font-size:12px;padding:4px 12px}.upload-progress{align-items:center;display:flex;flex-direction:column;gap:12px}.spinner-upload{animation:spin .8s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}.upload-progress p{color:#374151;font-size:14px;font-weight:500;margin:0}.progress-bar{background:#e5e7eb;border-radius:4px;height:8px;max-width:300px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:4px;height:100%;transition:width .3s}.progress-text{color:#6b7280;font-size:13px;font-weight:500}.upload-preview{align-items:center;display:flex;flex-direction:column;gap:12px;padding:20px}.preview-image-container{border:2px solid #e5e7eb;border-radius:8px;max-width:100%;overflow:hidden;position:relative}.preview-image{display:block;max-height:300px;max-width:100%}.preview-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .2s;width:32px}.preview-remove:hover{background:#dc2626cc;transform:scale(1.1)}.preview-filename{color:#374151;font-size:14px;font-weight:500;text-align:center;word-break:break-all}.upload-actions{display:flex;justify-content:center;margin-top:20px}.btn-upload{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 32px;transition:all .2s}.btn-upload:hover{background:#059669;box-shadow:0 4px 6px #10b98133;transform:translateY(-1px)}.upload-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr;margin-top:20px}.upload-option label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.upload-option input,.upload-option select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.upload-option input:focus,.upload-option select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}@media (max-width:768px){.media-uploader{padding:15px}.upload-dropzone{padding:30px 15px}.upload-options{gap:12px;grid-template-columns:1fr}}.media-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s}.media-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #4f46e533;transform:translateY(-2px)}.media-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.media-preview{align-items:center;background:#f9fafb;display:flex;height:120px;justify-content:center;overflow:hidden;position:relative;width:100%}.media-preview img{max-height:100%;max-width:100%;object-fit:contain}.media-category-badge{border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;font-size:11px;font-weight:600;left:8px;letter-spacing:.5px;padding:4px 8px;position:absolute;text-transform:uppercase;top:8px}.media-actions-overlay{align-items:center;background:#00000080;bottom:0;display:flex;gap:8px;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s}.media-card:hover .media-actions-overlay{opacity:1}.media-action-btn{align-items:center;background:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:transform .2s;width:40px}.media-action-btn:hover{transform:scale(1.1)}.media-action-btn.edit{background:var(--color-primary);color:#fff}.media-action-btn.edit:hover{background:var(--color-primary-hover)}.media-action-btn.delete{background:#ef4444;color:#fff}.media-action-btn.delete:hover{background:#dc2626}.media-selected-indicator{align-items:center;background:var(--color-primary);border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;position:absolute;right:8px;top:8px;width:28px}.media-info{border-top:1px solid #e5e7eb;padding:12px}.media-filename{color:#374151;font-size:13px;font-weight:500;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta{color:#6b7280;display:flex;font-size:11px;gap:12px}.media-dimensions,.media-size{align-items:center;display:flex;gap:4px}.media-alt-text{color:#6b7280;font-size:11px;margin-bottom:4px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-edit-form{gap:10px;padding:8px 0}.edit-field,.media-edit-form{display:flex;flex-direction:column}.edit-field{gap:4px}.edit-field label{color:#6b7280;font-size:11px;font-weight:600;text-transform:uppercase}.edit-field input,.edit-field select{border:1px solid #d1d5db;border-radius:4px;font-size:13px;padding:6px 8px;width:100%}.edit-field input:focus,.edit-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.edit-actions{display:flex;gap:6px;margin-top:4px}.btn-cancel,.btn-save{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:16px;padding:6px;transition:all .2s}.btn-save{background:#10b981;color:#fff}.btn-save:hover{background:#059669}.btn-cancel{background:#ef4444;color:#fff}.btn-cancel:hover{background:#dc2626}@media (max-width:768px){.media-preview{height:100px}.media-info{padding:10px}}.media-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));max-height:600px;overflow-y:auto;padding:20px}.media-grid-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.media-grid-loading .spinner{animation:spin .8s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:40px;margin-bottom:16px;width:40px}.media-grid-loading p{font-size:14px}.media-grid-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.media-grid-empty svg{margin-bottom:16px}.media-grid-empty h3{color:#374151;font-size:18px;font-weight:600;margin-bottom:8px}.media-grid-empty p{color:#6b7280;font-size:14px}.media-grid::-webkit-scrollbar{width:8px}.media-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.media-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.media-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:1024px){.media-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media (max-width:768px){.media-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding:15px}}@media (max-width:480px){.media-grid{grid-template-columns:repeat(2,1fr)}}.media-library-modal{display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:95%}.media-tabs{background-color:#f9fafb;border-bottom:2px solid #e5e7eb;display:flex;gap:0;padding:0 20px}.media-tab{background:#0000;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;position:relative;transition:all .2s}.media-tab:hover{background-color:#f3f4f6;color:#374151}.media-tab.active{background-color:#fff;border-bottom-color:var(--color-primary);color:var(--color-primary)}.category-filter{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px}.filter-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s}.filter-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.filter-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.media-error-message{background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:14px;margin:12px 20px;padding:12px 16px;white-space:pre-line}.media-modal-body{flex:1 1;overflow-y:auto;padding:0}.modal-footer{align-items:center;background-color:#f9fafb;justify-content:space-between;padding:16px 20px}.footer-info{flex:1 1}.selected-info{color:#6b7280;font-size:14px}.selected-info strong{color:#374151}.footer-actions{display:flex;gap:12px}.btn-secondary:hover{background-color:var(--color-gray-100)}@media (max-width:768px){.media-library-modal{max-height:90vh;width:95%}.media-tabs{padding:0 15px}.media-tab{font-size:13px;padding:10px 16px}.category-filter{padding:12px 15px}.filter-btn{font-size:12px;padding:5px 12px}.modal-footer{align-items:stretch;flex-direction:column;gap:12px}.footer-info{text-align:center}.footer-actions{width:100%}.footer-actions .btn{flex:1 1}}.color-picker-with-presets{position:relative}.color-picker-label{color:var(--color-text-secondary);display:block;font-size:12px;font-weight:500;margin-bottom:6px}.color-picker-control{align-items:center;display:flex;gap:8px}.color-swatch-button{border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;flex-shrink:0;height:32px;transition:border-color .2s,box-shadow .2s;width:32px}.color-swatch-button:hover:not(:disabled){border-color:var(--color-gray-400)}.color-swatch-button:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.color-swatch-button:disabled{cursor:not-allowed;opacity:.6}.color-picker-with-presets .color-text-input{border:1px solid var(--border-color);border-radius:var(--border-radius);flex:1 1;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:13px;min-width:0;padding:6px 10px;text-transform:uppercase;width:80px}.color-picker-with-presets .color-text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.color-picker-with-presets .color-text-input:disabled{background:var(--color-gray-50);cursor:not-allowed}.color-picker-dropdown{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:0 4px 12px #00000026;left:0;min-width:200px;padding:12px;position:absolute;top:calc(100% + 4px);z-index:1000}.color-presets-section{border-bottom:1px solid var(--border-color);margin-bottom:12px;padding-bottom:12px}.presets-label{color:var(--color-text-secondary);display:block;font-size:11px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.color-presets{display:flex;gap:8px}.preset-button{border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;height:36px;position:relative;transition:all .2s;width:36px}.preset-button:hover{border-color:var(--color-gray-400);transform:scale(1.1)}.preset-button.active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.preset-tooltip{background:var(--color-gray-800);border-radius:4px;bottom:calc(100% + 6px);color:#fff;font-size:11px;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s,visibility .2s;visibility:hidden;white-space:nowrap}.preset-button:hover .preset-tooltip{opacity:1;visibility:visible}.preset-tooltip:after{border:4px solid #0000;border-top:4px solid var(--color-gray-800);content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.color-picker-native{display:flex;justify-content:center}.native-color-input{background:#0000;border:none;cursor:pointer;height:150px;padding:0;width:100%}.native-color-input::-webkit-color-swatch-wrapper{padding:0}.native-color-input::-webkit-color-swatch{border:none;border-radius:var(--border-radius)}.native-color-input::-moz-color-swatch{border:none;border-radius:var(--border-radius)}.modal-overlay{background-color:#00000080}.name-input-modal{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:480px;width:90%;z-index:1001}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header h3{color:#1f2937}.close-btn{border-radius:4px;color:#6b7280;padding:4px;transition:all .15s ease}.close-btn:hover{background-color:#f3f4f6;color:#1f2937}.modal-body input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:15px;padding:12px 16px;transition:all .15s ease;width:100%}.modal-body input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.btn-cancel,.btn-confirm{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s ease}.btn-cancel{background-color:#f3f4f6;color:#374151}.btn-cancel:hover{background-color:#e5e7eb}.btn-confirm{background-color:var(--color-primary);color:#fff}.btn-confirm:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-confirm:disabled{background-color:#d1d5db;cursor:not-allowed;opacity:.6}@media (max-width:640px){.name-input-modal{margin:16px;width:95%}.modal-body,.modal-footer,.modal-header{padding:16px}}.template-save-modal{max-width:500px;width:90%}.template-save-modal h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 20px}.template-save-modal form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.form-group textarea{min-height:80px;resize:vertical}.checkbox-group label{padding:8px 0}.checkbox-group input[type=checkbox]{cursor:pointer}.checkbox-group span{color:#374151;font-size:14px}.modal-actions{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:16px}.template-save-modal .btn-secondary{background:#fff;border:1px solid var(--border-color);color:var(--color-gray-700)}.btn-secondary:hover{background:#f9fafb}.template-library-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.template-library-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:900px;width:90%}.template-library-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.template-library-modal-header h2{color:#333;font-size:24px;font-weight:600;margin:0}.close-btn{align-items:center;color:#666;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:color .2s;width:32px}.close-btn:hover{color:#333}.template-library-modal-toolbar{border-bottom:1px solid #e0e0e0;padding:16px 24px}.template-library-modal-toolbar .search-box{margin-bottom:12px}.template-library-modal-toolbar .search-box input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 14px;width:100%}.template-library-modal-toolbar .search-box input:focus{border-color:#4caf50;outline:none}.category-btn{font-size:13px;padding:6px 14px}.template-library-modal-body{flex:1 1;overflow-y:auto;padding:16px 24px}.templates-list{display:flex;flex-direction:column;gap:12px}.template-item{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.template-item:hover{background:#f9f9f9;border-color:#4caf50}.template-item.selected{background:#e8f5e9;border-color:#4caf50}.template-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.template-category-badge,.template-public-badge{font-size:11px;padding:4px 10px}.template-item-name{color:#333;font-size:16px;font-weight:600;margin:0 0 6px}.template-item-description{color:#666;font-size:13px;line-height:1.4;margin:0 0 8px}.template-item-meta{color:#999;font-size:11px}.empty-icon{font-size:48px}.empty-state p{color:#666;font-size:14px}.template-library-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.template-library-modal .btn-secondary{background:#fff;border:1px solid var(--border-color);border-radius:6px;color:var(--color-gray-700);cursor:pointer;font-size:14px;padding:10px 20px;transition:background .2s}.btn-secondary:hover{background:#f5f5f5}@media (max-width:768px){.template-library-modal-content{max-height:90vh;width:95%}.category-filters{flex-direction:column}.category-btn{width:100%}}.cascade-dialog-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.cascade-dialog{animation:slideUp .3s ease;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.cascade-dialog-header{background:#f8f9fa;border-bottom:1px solid #eee;padding:20px 24px}.cascade-dialog-header h2{color:#333;font-size:20px;font-weight:600;margin:0}.cascade-dialog-content{flex:1 1;overflow-y:auto;padding:24px}.cascade-info{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:6px;padding:16px}.cascade-info p{color:#2e7d32;margin:4px 0}.cascade-warning{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;margin-bottom:20px;padding:16px}.cascade-warning p{color:#856404;margin:4px 0}.cascade-warning strong{color:#d39e00;font-weight:600}.cascade-stats{display:flex;gap:16px;justify-content:center;margin-bottom:20px}.cascade-stat{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;flex-direction:column;min-width:120px;padding:16px}.stat-number{font-size:32px;font-weight:700;margin-bottom:4px}.stat-number.success{color:#4caf50}.stat-number.warning{color:#ff9800}.stat-label{color:#666;font-size:13px;text-align:center}.cascade-usages-list{margin-top:16px}.usages-title{color:#333;font-weight:600;margin-bottom:8px}.cascade-usages-list ul{border:1px solid #e0e0e0;border-radius:4px;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0}.cascade-usages-list li{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:10px 12px}.cascade-usages-list li:last-child{border-bottom:none}.cascade-usages-list li.locked{background:#f5f5f5;color:#999}.cascade-usages-list li.more-usages{color:#999;font-style:italic;justify-content:center}.locked-badge{background:#ff9800;border-radius:4px;color:#fff;font-size:11px;font-weight:500;padding:3px 8px}.cascade-dialog-footer{background:#f8f9fa;border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.cascade-dialog-footer .btn{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.cascade-dialog-footer .btn:disabled{cursor:not-allowed;opacity:.5}.cascade-dialog-footer .btn-secondary{background:#fff;border:1px solid #ddd;color:#666}.cascade-dialog-footer .btn-secondary:hover:not(:disabled){background:#f5f5f5}.cascade-dialog-footer .btn-primary{background:#007bff;color:#fff}.cascade-dialog-footer .btn-primary:hover:not(:disabled){background:#0056b3}@media (max-width:600px){.cascade-dialog{max-height:90vh;width:95%}.cascade-stats{flex-direction:column}.cascade-stat{width:100%}}.schedule-modal{max-width:600px;width:90%}.schedule-modal .modal-body{padding:24px}.form-group{margin-bottom:20px}.form-label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-input,.form-select,.form-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#007bff;outline:none}.form-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-textarea{min-height:80px;resize:vertical}.form-help{color:#666;display:block;font-size:12px;margin-top:6px}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33}.modal-footer{border-top:1px solid #eee;padding-top:20px}.btn{border-radius:4px;font-size:14px}.btn:disabled{opacity:.6}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.scheduled-changes-modal{display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:90%}.scheduled-changes-modal .modal-body{flex:1 1;overflow-y:auto;padding:0}.tabs-bar{background-color:#f8f9fa;border-bottom:2px solid #eee;display:flex;gap:0}.tab-btn{background-color:initial;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;position:relative;transition:all .2s}.tab-btn:hover{background-color:#e9ecef;color:#333}.tab-btn.active{background-color:#fff;border-bottom-color:#007bff;color:#007bff}.tab-count{color:inherit;font-weight:600}.empty-state,.loading-state{color:#666;padding:40px;text-align:center}.changes-list{padding:16px}.change-item{background-color:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:12px;padding:16px;transition:box-shadow .2s}.change-item:hover{box-shadow:0 2px 8px #0000001a}.change-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.change-title{align-items:center;display:flex;flex:1 1;gap:12px}.change-title strong{color:#333;font-size:15px}.change-date{color:#666;font-size:13px;white-space:nowrap}.status-badge{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.badge-pending{background-color:#fff3cd;color:#856404}.badge-executed{background-color:#d4edda;color:#155724}.badge-cancelled,.badge-failed{background-color:#f8d7da;color:#721c24}.change-details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.change-info{color:#666;font-size:13px}.change-info .info-label{color:#333;font-weight:500;margin-right:8px}.change-error{background-color:#fee;border-left:3px solid #c33;border-radius:4px;font-size:13px;padding:8px 12px}.change-error .info-label{color:#c33;font-weight:600}.change-actions{border-top:1px solid #f5f5f5;display:flex;gap:8px;padding-top:12px}.btn-action{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.btn-action:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.btn-cancel{border-color:#ffc107;color:#856404}.btn-cancel:hover{background-color:#ffc107;color:#fff}.btn-delete{border-color:#dc3545;color:#721c24}.btn-delete:hover{background-color:#dc3545;color:#fff}.version-item{background:linear-gradient(135deg,#fff,#f8fbff);border-color:#e3f2fd}.version-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;letter-spacing:.5px;padding:4px 10px}.version-comment{background-color:#f8f9fa;border-left:3px solid #667eea;padding:8px 12px}.btn-load{background-color:#fff;border-color:#667eea;color:#667eea}.btn-load:hover{background-color:#667eea;color:#fff}@media (max-width:768px){.scheduled-changes-modal{max-height:90vh;width:95%}.change-header{flex-direction:column;gap:8px}.change-date{align-self:flex-start}.tabs-bar{overflow-x:auto}.tab-btn{flex-shrink:0;font-size:13px;padding:12px 16px}}.template-thumbnail{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;justify-content:center;position:relative;transition:all .2s ease}.template-thumbnail:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.template-thumbnail img{height:100%;object-fit:contain;width:100%}.template-thumbnail.loading{align-items:center;animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;display:flex;flex-direction:column;justify-content:center}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.thumbnail-spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:40px;margin-bottom:12px;width:40px}.template-thumbnail.loading span{color:#6b7280;font-size:14px;font-weight:500}.template-thumbnail.error{background:#fef2f2;border-color:#fecaca;flex-direction:column;gap:8px}.template-thumbnail.error svg{color:#ef4444;opacity:.6}.template-thumbnail.error span{color:#991b1b;font-size:12px;padding:0 16px;text-align:center}.template-thumbnail.error:hover,.template-thumbnail.loading:hover{box-shadow:none;transform:none}.template-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.template-table{border-collapse:collapse;font-size:14px;width:100%}.template-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.template-table th{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.template-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.template-table tbody tr:hover{background:#f9fafb}.template-table tbody tr:last-child{border-bottom:none}.template-table td{padding:12px 16px;vertical-align:middle}.table-preview-col{width:60px}.table-name-col{min-width:200px}.table-description-col{color:#6b7280;font-size:13px;max-width:350px;min-width:250px}.table-description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-date-col{color:#6b7280;font-size:13px;width:120px}.table-creator-col{color:#6b7280;font-size:13px;width:150px}.table-creator{color:#374151}.table-actions-col{width:220px}.table-thumbnail-placeholder{align-items:center;background:#f3f4f6;border-radius:4px;color:#9ca3af;display:flex;height:40px;justify-content:center;width:40px}.table-name-link{color:var(--color-primary);cursor:pointer;font-weight:500;text-decoration:none;transition:color .2s}.table-name-link:hover{color:var(--color-primary-hover);text-decoration:underline}.table-actions{align-items:center;display:flex;gap:8px}.table-action-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.table-action-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.table-action-btn:disabled{cursor:not-allowed;opacity:.5}.table-action-edit:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary)}.table-action-duplicate:hover:not(:disabled){background:#ecfdf5;color:#10b981}.table-action-versions:hover:not(:disabled){background:#fffbeb;color:#f59e0b}.table-action-usages:hover:not(:disabled){background:#f5f3ff;color:#8b5cf6}.table-action-delete:hover:not(:disabled){background:#fee2e2;color:#ef4444}.table-empty{color:#9ca3af;font-size:14px;padding:60px 20px;text-align:center}@media (max-width:1024px){.template-table-container{overflow-x:auto}.template-table{min-width:800px}}@media (max-width:768px){.table-date-col,.table-description-col{display:none}.table-actions{flex-direction:column;gap:4px}}.template-version-preview-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1100}.template-version-preview-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden}.template-version-preview-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:20px;justify-content:space-between;padding:24px}.template-version-preview-modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 4px}.template-version-preview-modal-subtitle{color:#6b7280;font-size:14px;margin:0}.template-version-preview-modal-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;flex-shrink:0;padding:4px;transition:all .2s}.template-version-preview-modal-close:hover{background:#f3f4f6;color:#1f2937}.template-version-preview-modal-body{background:#f9fafb;flex:1 1;overflow:auto;padding:24px}.template-version-preview-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.template-version-preview-close-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.template-version-preview-close-btn:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width:768px){.template-version-preview-modal-overlay{padding:0}.template-version-preview-modal-content{border-radius:0;max-height:100vh;max-width:100vw}.template-version-preview-modal-body{padding:16px}}.version-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.version-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:700px;width:100%}.version-modal-header{border-bottom:1px solid #e5e7eb;padding:24px;position:relative}.version-modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 4px}.version-modal-subtitle{color:#6b7280;font-size:14px;margin:0}.version-modal-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:4px;position:absolute;right:20px;top:20px;transition:all .2s}.version-modal-close:hover{background:#f3f4f6;color:#1f2937}.version-modal-body{flex:1 1;max-height:500px;overflow-y:auto;padding:24px}.version-error{background:#fee;border-radius:6px;color:#c00;font-size:14px;margin-bottom:16px;padding:12px}.version-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.version-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:40px;margin-bottom:16px;width:40px}.version-loading p{font-size:14px;margin:0}.version-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.version-empty svg{margin-bottom:16px;opacity:.5}.version-empty p{font-size:14px;margin:0}.version-list{display:flex;flex-direction:column;gap:12px}.version-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.version-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.version-item-current{background:linear-gradient(135deg,var(--color-primary-light) 0,#dbeafe 100%);border:2px solid var(--color-primary)}.version-item-current:hover{border-color:var(--color-primary)}.version-empty-inline{align-items:center;background:#fefce8;border:1px solid #fde047;border-radius:8px;color:#854d0e;display:flex;gap:12px;padding:16px}.version-empty-inline svg{flex-shrink:0;opacity:.7}.version-empty-inline p{font-size:13px;font-weight:500;margin:0}.version-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.version-item-number{color:#1f2937;font-size:16px;font-weight:600}.version-item-date{color:#6b7280;font-size:13px}.version-item-body{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.version-item-info{flex:1 1}.version-item-name{color:#374151;font-size:14px;font-weight:500;margin-bottom:4px}.version-item-comment{background:#fff;border-radius:4px;color:#6b7280;font-size:13px;font-style:italic;margin-bottom:8px;padding:8px}.version-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.version-badge{border-radius:12px;font-size:11px;font-weight:500;padding:3px 8px}.version-badge-current{background:var(--color-primary);color:#fff;font-weight:600}.version-badge-auto{background:#dbeafe;color:#1e40af}.version-badge-manual{background:#dcfce7;color:#166534}.version-item-author{color:#6b7280;font-size:12px}.version-item-actions{display:flex;flex-direction:column;gap:8px}.version-item-duplicate-btn,.version-item-preview-btn,.version-item-restore-btn{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s;white-space:nowrap}.version-item-preview-btn{background:#fff;border:1px solid #8b5cf6;color:#8b5cf6}.version-item-preview-btn:hover:not(:disabled){background:#f5f3ff;border-color:#7c3aed}.version-item-restore-btn{background:#fff;border:1px solid var(--color-primary);color:var(--color-primary)}.version-item-restore-btn:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary-hover)}.version-item-duplicate-btn{background:#fff;border:1px solid #10b981;color:#10b981}.version-item-duplicate-btn:hover:not(:disabled){background:#ecfdf5;border-color:#059669}.version-item-duplicate-btn:disabled,.version-item-preview-btn:disabled,.version-item-restore-btn:disabled{cursor:not-allowed;opacity:.5}.version-item-duplicate-btn svg,.version-item-preview-btn svg,.version-item-restore-btn svg{height:14px;width:14px}.cascade-results{margin:20px 0}@media (max-width:768px){.version-modal-overlay{padding:0}.version-modal-content{border-radius:0;max-height:100vh}.version-item-body{flex-direction:column}.version-item-actions{width:100%}.version-item-duplicate-btn,.version-item-preview-btn,.version-item-restore-btn{justify-content:center;width:100%}}.template-usages-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1100}.template-usages-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:700px;overflow:hidden;width:100%}.template-usages-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:20px;justify-content:space-between;padding:24px}.template-usages-modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 4px}.template-usages-modal-subtitle{color:#6b7280;font-size:14px;margin:0}.template-usages-modal-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;flex-shrink:0;padding:4px;transition:all .2s}.template-usages-modal-close:hover{background:#f3f4f6;color:#1f2937}.template-usages-modal-body{flex:1 1;overflow:auto;padding:24px}.usages-loading{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px}.usages-loading .spinner{animation:spin .6s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:32px;width:32px}.usages-loading p{color:#6b7280;font-size:14px;margin:0}.usages-error{padding:40px 20px;text-align:center}.usages-error p{color:#ef4444;margin:0}.usages-empty{padding:40px 20px;text-align:center}.usages-empty svg{color:#9ca3af;margin-bottom:16px}.usages-empty h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 8px}.usages-empty p{color:#6b7280;margin:0}.usages-list{display:flex;flex-direction:column;gap:12px}.usages-count{border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:14px;font-weight:500;margin:0 0 8px;padding-bottom:12px}.usage-item{align-items:center;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:all .2s}.usage-item:hover{background:#f9fafb;border-color:var(--color-primary);box-shadow:0 2px 4px #0000000d}.usage-info{align-items:center;display:flex;flex:1 1;gap:12px}.usage-info>svg{color:#6b7280;flex-shrink:0}.usage-details{flex:1 1}.usage-details h4{color:#1f2937;font-size:15px;font-weight:500;margin:0 0 4px}.usage-meta{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:12px;margin:0}.usage-locked,.usage-unlocked{align-items:center;display:flex;gap:4px}.usage-locked{color:#ef4444}.usage-unlocked{color:#10b981}.usage-version{color:#6b7280}.usage-item>svg{color:#9ca3af;flex-shrink:0}.template-usages-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.template-usages-close-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.template-usages-close-btn:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width:768px){.template-usages-modal-overlay{padding:0}.template-usages-modal-content{border-radius:0;max-height:100vh;max-width:100vw}.template-usages-modal-body{padding:16px}}.template-library-page{background:#f5f7fa;display:flex;flex-direction:column;height:100vh;overflow-y:auto}.template-library-container{flex:1 1;margin:0 auto;max-width:1400px;padding:24px;width:100%}.list-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.list-header h1{color:#1f2937;font-size:32px;font-weight:700;margin:0}.header-actions{align-items:center;display:flex;gap:12px}.btn-import,.btn-signatures{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s}.btn-import:hover:not(:disabled),.btn-signatures:hover{background:var(--color-gray-50);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.btn-import:active:not(:disabled),.btn-signatures:active{transform:scale(.98)}.btn-import:disabled{cursor:not-allowed;opacity:.6}.btn-create-new{align-items:center;background:var(--color-primary);border:none;border-radius:var(--border-radius-md);box-shadow:0 2px 8px #4f46e54d;color:var(--color-text-inverse);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all var(--transition-normal)}.btn-create-new:hover{background:var(--color-primary-hover);box-shadow:0 4px 12px #4f46e566;transform:translateY(-1px)}.btn-create-new:active{transform:scale(.98)}.template-library-toolbar{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding:20px}.search-box{flex:1 1;max-width:400px}.search-box input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:12px 16px;width:100%}.search-box input:focus{border-color:#4caf50;outline:none}.view-mode-toggle{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;display:flex;gap:4px;padding:2px}.view-mode-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s}.view-mode-btn:hover{background:#e5e7eb;color:#374151}.view-mode-btn.active{background:#fff;box-shadow:var(--shadow-xs);color:var(--color-primary)}.view-mode-btn svg{display:block}.category-filters{display:flex;flex-wrap:wrap;gap:8px}.category-btn{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.category-btn:hover{background:#f5f5f5}.category-btn.active{background:#4caf50;border-color:#4caf50;color:#fff}.templates-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.template-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.template-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.template-card-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:12px}.template-category-badge{background:#e3f2fd;color:#1976d2}.template-category-badge,.template-public-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 12px}.template-public-badge{background:#4caf50;color:#fff}.template-card-body{padding:16px}.template-thumbnail{background:#f5f5f5;border-radius:6px;cursor:pointer;height:180px;margin-bottom:16px;overflow:hidden;width:100%}.template-thumbnail-placeholder{align-items:center;color:#bbb;display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.template-name{color:#333;font-size:18px;font-weight:600;margin:0 0 8px}.template-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:14px;line-height:1.4;margin:0 0 16px;overflow:hidden}.template-meta{border-top:1px solid #eee;color:#999;justify-content:space-between;padding-top:12px}.template-creator,.template-meta{align-items:center;display:flex;font-size:12px}.template-creator{border-top:1px solid #e5e7eb;gap:6px;margin-top:10px;padding-top:10px}.template-creator svg{color:#6b7280;flex-shrink:0}.template-creator .creator-label{color:#6b7280;font-weight:500}.owner-badge{background:gold;border-radius:3px;color:#333;font-weight:500;padding:2px 8px}.template-card-footer{background:#f9f9f9;border-top:1px solid #eee;display:flex;justify-content:center;padding:12px}.card-actions-menu{position:relative;width:100%}.card-btn.btn-menu{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s;width:100%}.card-btn.btn-menu:hover{background:#f9fafb;border-color:#9ca3af}.dropdown-menu{animation:slideDown .2s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:8px;bottom:100%;box-shadow:0 4px 12px #00000026;left:0;margin-bottom:8px;overflow:hidden;position:absolute;right:0;z-index:100}.dropdown-item{align-items:center;background:#fff;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.dropdown-item:hover{background:#f3f4f6}.dropdown-item svg{flex-shrink:0}.dropdown-item-edit:hover{background:#dbeafe;color:#1e40af}.dropdown-item-duplicate:hover{background:#fef3c7;color:#92400e}.dropdown-item-usages:hover{background:#e0e7ff;color:#3730a3}.dropdown-item-delete{color:#dc2626}.dropdown-item-delete:hover{background:#fee2e2;color:#991b1b}.loading-state{padding:60px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-top-color:#4caf50;margin:0 auto 16px}.empty-state{padding:80px 20px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h3{color:#666;margin-bottom:24px}.error-message{background:#ffebee;border-radius:6px;color:#c62828;margin-bottom:24px;padding:16px;text-align:center}.modal-content{box-shadow:0 4px 12px #0000004d;padding:24px}.modal-content h3{color:#333;margin:0 0 16px}.modal-content p{margin:0 0 16px}.warning-text{font-size:14px}.modal-actions{margin-top:24px}@media (max-width:768px){.template-library-header{align-items:flex-start;flex-direction:column;gap:16px}.templates-grid{grid-template-columns:1fr}.category-filters{flex-direction:column}.category-btn{width:100%}}.template-versions-page{background:#f5f5f5;min-height:100vh}.versions-container{margin:0 auto;max-width:1200px;padding:20px}.versions-header{margin-bottom:30px}.back-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;margin-bottom:10px;padding:5px 10px;transition:color .2s}.back-button:hover{color:#0056b3;text-decoration:underline}.versions-header h1{color:#333;font-size:28px;margin:0}.empty-state,.error-state,.loading-state{color:#666;font-size:16px;padding:40px;text-align:center}.error-state{background:#f2dede;border-radius:4px;color:#d9534f}.versions-list{grid-gap:20px;display:grid;gap:20px}.version-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .2s}.version-card:hover{box-shadow:0 4px 8px #00000026}.version-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.version-number{align-items:center;color:#333;display:flex;font-size:18px;font-weight:600;gap:10px}.auto-badge{background:#6c757d;border-radius:12px;color:#fff;font-size:11px;font-weight:500;padding:3px 8px}.version-date{color:#999;font-size:14px}.version-info{margin-bottom:15px}.version-author{color:#666;font-size:14px;margin-bottom:5px}.version-comment{background:#f8f9fa;border-left:3px solid #007bff;border-radius:4px;color:#555;font-size:14px;font-style:italic;margin-top:10px;padding:10px}.version-actions{display:flex;gap:10px;justify-content:flex-end}.btn-restore{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s}.btn-restore:hover{background:#0056b3}.btn-restore:disabled{background:#ccc;cursor:not-allowed}.modal-overlay{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;border-radius:8px;box-shadow:0 4px 20px #0000004d;padding:30px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{color:#333;font-size:22px;margin-bottom:20px;margin-top:0}.modal-content p{color:#666;line-height:1.5;margin-bottom:15px}.warning-text{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;padding:12px}.cascade-results{background:#d4edda;border-left:4px solid #28a745;border-radius:6px;padding:20px}.cascade-results h3{color:#155724;margin-top:0}.cascade-results p{color:#155724;margin-bottom:10px}.locked-info{color:#856404!important}.error-info{color:#721c24!important}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{border:1px solid #ddd;color:#666}.btn-secondary:hover:not(:disabled){background:#f5f5f5}@media (max-width:600px){.versions-container{padding:15px}.versions-header h1{font-size:22px}.version-header{align-items:flex-start;flex-direction:column;gap:5px}.version-actions{justify-content:flex-start;width:100%}.btn-restore{width:100%}.modal-content{padding:20px}}.invite-member-modal{width:500px}.invite-member-modal form{padding:24px}.role-description{color:var(--color-text-secondary);font-size:13px;font-style:italic;margin-top:8px}.error-message{background:var(--color-danger-light);border:1px solid #fecaca;border-radius:var(--border-radius);color:var(--color-danger);font-size:14px;margin-bottom:16px;padding:12px}.transfer-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.transfer-warning{padding:24px}.warning-icon{font-size:48px;margin-bottom:16px;text-align:center}.transfer-warning h3{color:#dc2626;font-size:20px;margin-bottom:24px;text-align:center}.warning-content p{color:#374151;line-height:1.6;margin-bottom:16px}.target-member{background:#fef3c7;border:2px solid #f59e0b;color:#92400e;font-size:18px;font-weight:600;margin:16px 0;text-align:center}.consequences,.target-member{border-radius:8px;padding:16px}.consequences{background:#fee2e2;border-left:4px solid #dc2626;margin:24px 0}.consequences h4{color:#991b1b;font-size:16px;margin-bottom:12px}.consequences ul{list-style:none;margin:0;padding:0}.consequences li{color:#7f1d1d;font-size:14px;line-height:1.5;padding:8px 0}.consequences li strong{font-weight:600}.confirmation-text{color:#1f2937;font-size:16px;font-weight:600;margin-top:24px;text-align:center}.btn-danger{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{cursor:not-allowed;opacity:.5}.members-section{padding:0}.members-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.members-header h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.members-error,.members-loading{color:#6b7280;font-size:15px;padding:48px;text-align:center}.members-error{color:#dc2626}.members-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.members-table{border-collapse:collapse;width:100%}.members-table thead{background:#f9fafb}.members-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.members-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.members-table tbody tr:hover{background:#f9fafb}.members-table tbody tr:last-child{border-bottom:none}.members-table td{color:#374151;font-size:14px;padding:16px}.member-name{font-weight:500}.role-badge.role-owner{background:#fef3c7;color:#92400e}.role-badge.role-admin{background:#dbeafe;color:#1e40af}.role-badge.role-editor{background:#dcfce7;color:#166534}.role-badge.role-viewer{background:#f3f4f6;color:#4b5563}.role-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:6px 12px}.role-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.invitations-section{padding:0}.invitations-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.invitations-header h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.invitations-error,.invitations-loading{color:#6b7280;font-size:15px;padding:48px;text-align:center}.invitations-error{color:#dc2626}.no-invitations{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:64px 32px;text-align:center}.no-invitations p{color:#6b7280;font-size:15px;margin-bottom:16px}.invitations-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.invitations-table{border-collapse:collapse;width:100%}.invitations-table thead{background:#f9fafb}.invitations-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.invitations-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.invitations-table tbody tr:hover{background:#f9fafb}.invitations-table tbody tr.expired{opacity:.6}.invitations-table tbody tr:last-child{border-bottom:none}.invitations-table td{color:#374151;font-size:14px;padding:16px}.invitation-email,.role-badge{font-weight:500}.role-badge{background:#f3f4f6;border-radius:12px;color:#4b5563;display:inline-block;font-size:13px;padding:4px 12px}.expired-badge{color:#dc2626;font-weight:500}.invitation-actions{display:flex;gap:8px}.btn-revoke{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:background-color .2s}.btn-revoke:hover{background:#dc2626}.btn-copy{background:#6b7280;border-radius:4px;padding:6px 12px;transition:background-color .2s}.btn-copy:hover{background:#4b5563}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;padding:10px 20px}.btn-secondary:hover{background:#e5e7eb}.create-apikey-modal{width:600px}.create-apikey-modal form{padding:24px}.create-apikey-modal .form-hint.warning{color:var(--color-warning-hover)}.secret-display{padding:24px}.warning-banner{background:var(--color-warning-light);border:1px solid #fcd34d;border-radius:var(--border-radius-md);color:#92400e;font-size:14px;margin-bottom:24px;padding:16px}.warning-banner strong{display:block;margin-bottom:4px}.key-field{margin-bottom:20px}.key-field label{color:var(--color-gray-700);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.key-value-container{align-items:stretch;display:flex;gap:8px}.key-value{background:var(--color-gray-100);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--color-gray-700);flex:1 1;font-size:13px;padding:12px;word-break:break-all}.key-value.secret{background:var(--color-warning-light);border-color:#fcd34d;color:#78350f}.btn-copy{background:var(--color-primary);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:0 16px;transition:background-color var(--transition-fast);white-space:nowrap}.btn-copy:hover{background:var(--color-primary-hover)}.usage-example{background:var(--color-info-light);border:1px solid #bae6fd;border-radius:var(--border-radius-md);margin-top:24px;padding:16px}.usage-example h4{color:#0369a1;font-size:14px;font-weight:600;margin:0 0 8px}.usage-example p{color:#0c4a6e;font-size:13px;margin:0}.secret-display .modal-footer{margin-top:24px;padding:16px 0 0}.apikeys-section{padding:0}.apikeys-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.apikeys-header h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.apikeys-intro{margin-bottom:16px}.apikeys-intro p{color:var(--color-text-secondary);font-size:14px;margin:0}.apikeys-warning{align-items:center;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:12px 16px}.apikeys-warning svg{color:#d97706;flex-shrink:0}.apikeys-warning p{color:#92400e;font-size:14px;margin:0}.apikeys-warning strong{color:#78350f}.apikeys-error,.apikeys-loading{color:#6b7280;font-size:15px;padding:48px;text-align:center}.apikeys-error{color:#dc2626}.apikeys-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;padding:48px;text-align:center}.apikeys-empty p{color:#6b7280;font-size:14px;margin:0 0 8px}.apikeys-empty p:last-child{margin-bottom:0}.apikeys-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.apikeys-table{border-collapse:collapse;min-width:900px;width:100%}.apikeys-table thead{background:#f9fafb}.apikeys-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.apikeys-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.apikeys-table tbody tr:hover{background:#f9fafb}.apikeys-table tbody tr.revoked{opacity:.6}.apikeys-table tbody tr:last-child{border-bottom:none}.apikeys-table td{color:#374151;font-size:14px;padding:16px}.key-name{font-weight:500}.key-creator{color:#9ca3af;font-size:12px;margin-top:4px}.key-value{background:#f3f4f6;border-radius:4px;color:#374151;display:inline-block;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;max-width:180px;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.key-value.secret{color:#9ca3af;max-width:120px}.never-used{color:#9ca3af;font-style:italic}.status-badge{border-radius:12px;padding:4px 12px;white-space:nowrap}.status-badge.revoked{background:var(--color-danger-light);color:#991b1b}.apikeys-table tbody tr.clickable{cursor:pointer}.apikeys-table tbody tr.clickable:hover{background:#f0f9ff}.detail-row{margin-bottom:16px}.detail-row:last-child{margin-bottom:0}.detail-row label{color:var(--color-text-secondary);display:block;font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.detail-value{color:var(--color-text-primary);font-size:14px}.detail-value-with-copy{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px}.detail-value-with-copy .detail-code{flex:1 1;min-width:200px}.detail-code{background:var(--color-gray-100);border-radius:6px;color:var(--color-text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;padding:8px 12px;word-break:break-all}.detail-code.secret,.detail-hint{color:var(--color-text-secondary)}.detail-hint{display:block;font-size:12px;margin-top:4px}.btn-copy-small{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all var(--transition-fast);white-space:nowrap}.btn-copy-small:hover{background:var(--color-gray-50);border-color:var(--color-primary);color:var(--color-primary)}.organization-info-section{padding:24px}.organization-info-section.loading{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;min-height:200px}.organization-info-section .section-header{margin-bottom:24px}.organization-info-section .section-header h2{color:var(--color-text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.organization-info-section .section-description{color:var(--color-text-secondary);font-size:14px;margin:0}.organization-info-section .message{border-radius:var(--border-radius);font-size:14px;margin-bottom:20px;padding:12px 16px}.organization-info-section .message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.organization-info-section .message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.organization-form{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden}.organization-form .form-section{border-bottom:1px solid var(--border-color);padding:24px}.organization-form .form-section:last-of-type{border-bottom:none}.organization-form .form-section h3{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.organization-form .form-group{margin-bottom:16px}.organization-form .form-group:last-child{margin-bottom:0}.organization-form .form-group label{color:var(--color-text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.organization-form .form-group input{border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.organization-form .form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.organization-form .form-group input:disabled{background:var(--color-gray-50);cursor:not-allowed}.organization-form .form-group input::placeholder{color:var(--color-text-muted)}.organization-form .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.organization-form .form-row.three-cols{grid-template-columns:1fr 1fr 1fr}.organization-form .form-actions{background:var(--color-gray-50);display:flex;justify-content:flex-end;padding:20px 24px}.organization-form .btn-primary{background:var(--color-primary);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.organization-form .btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.organization-form .btn-primary:disabled{cursor:not-allowed;opacity:.6}.organization-form .form-section-description{color:var(--color-text-secondary);font-size:13px;margin:-8px 0 16px}.logo-upload-container{align-items:flex-start;display:flex;gap:20px}.logo-preview{align-items:center;background:var(--color-gray-50);border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);display:flex;flex-shrink:0;height:120px;justify-content:center;overflow:hidden;width:120px}.logo-preview img{max-height:100%;max-width:100%;object-fit:contain}.logo-placeholder{color:var(--color-text-muted)}.logo-actions{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.logo-hint{color:var(--color-text-muted);font-size:12px}.color-input-wrapper{align-items:center;display:flex;gap:8px}.organization-form .color-input-wrapper input.color-input{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;flex-shrink:0;height:40px;max-width:48px;min-width:48px;padding:4px;width:48px}.organization-form .color-input-wrapper input.color-input:disabled{cursor:not-allowed;opacity:.6}.organization-form .color-input-wrapper input.color-text-input{border:1px solid var(--border-color);border-radius:var(--border-radius);flex-shrink:0;font-family:monospace;font-size:14px;max-width:100px;min-width:100px;padding:10px 12px;text-transform:uppercase;width:100px}.color-text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.color-text-input:disabled{background:var(--color-gray-50);cursor:not-allowed}.form-hint{color:var(--color-text-muted);display:block;font-size:12px;margin-top:4px}.btn-secondary{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--color-text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-300)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.btn-danger-outline{border:1px solid #fecaca;border-radius:var(--border-radius);font-size:14px;font-weight:500}.btn-danger-outline:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.btn-danger-outline:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.organization-form .form-row,.organization-form .form-row.three-cols{grid-template-columns:1fr}.logo-upload-container{flex-direction:column}.logo-preview{height:100px;width:100px}}.organization-settings{height:calc(100vh - 60px);margin:0 auto;max-width:1200px;overflow-y:auto;padding:24px}.settings-header{margin-bottom:32px}.settings-header h1{margin:0}.settings-tabs{margin-bottom:32px}.error{color:#dc2626}.image-cropper-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.image-cropper-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;overflow:hidden;width:90%}.image-cropper-header{border-bottom:1px solid #e5e7eb;padding:20px}.image-cropper-header h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 4px}.image-cropper-header p{color:#6b7280;font-size:14px;margin:0}.image-cropper-container{background:#1a1a1a;height:350px;position:relative;width:100%}.image-cropper-controls{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:12px;padding:16px 20px}.image-cropper-controls label{color:#374151;font-size:14px;font-weight:500;min-width:50px}.image-cropper-controls input[type=range]{-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;flex:1 1;height:6px;outline:none}.image-cropper-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3b82f6;border-radius:50%;cursor:pointer;height:18px;-webkit-transition:background .2s;transition:background .2s;width:18px}.image-cropper-controls input[type=range]::-webkit-slider-thumb:hover{background:#2563eb}.image-cropper-controls input[type=range]::-moz-range-thumb{background:#3b82f6;border:none;border-radius:50%;cursor:pointer;height:18px;width:18px}.image-cropper-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.image-cropper-actions .btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.image-cropper-actions .btn-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.image-cropper-actions .btn-confirm{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.image-cropper-actions .btn-confirm:hover{background:#2563eb}.operator-modal-overlay{align-items:center!important;background:#00000080!important;bottom:0!important;display:flex!important;justify-content:center!important;left:0!important;padding:20px;position:fixed!important;right:0!important;top:0!important;z-index:1000!important}.operator-form-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.operator-form-modal .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:12px;padding:20px 24px}.operator-form-modal .modal-header h3{color:#1a1a2e;font-size:18px;font-weight:600;margin:0}.operator-form-modal .mailbox-context{color:#64748b;font-size:14px;font-weight:400}.operator-form-modal .modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;box-shadow:none;color:#64748b;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;margin-left:auto;min-width:32px;padding:0;transition:all .2s;width:32px}.operator-form-modal .modal-close:hover{background:#e2e8f0;color:#334155}.operator-form-modal .form-layout{display:flex;flex:1 1;overflow:hidden}.operator-form-modal .form-nav{background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;gap:4px;min-width:180px;padding:16px 0;width:180px}.operator-form-modal .nav-item{align-items:center;background:none;border:none;box-shadow:none;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 20px;text-align:left;transition:all .2s}.operator-form-modal .nav-item:hover{background:#f1f5f9;color:#475569}.operator-form-modal .nav-item.active{background:#fff;border-right:2px solid #4f46e5;color:#4f46e5;margin-right:-1px}.operator-form-modal .nav-item svg{flex-shrink:0;height:16px;width:16px}.operator-form-modal .form-content{flex:1 1;overflow-y:auto;padding:24px}.operator-form-modal .form-section{display:flex;flex-direction:column;gap:16px}.operator-form-modal .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.operator-form-modal .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.operator-form-modal .form-group.required label:after{color:#ef4444;content:" *"}.operator-form-modal .form-group label{color:#475569;display:block;font-size:13px;font-weight:500}.operator-form-modal .form-group input,.operator-form-modal .form-group textarea{border:1px solid #e2e8f0;border-radius:8px;color:#1a1a2e;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.operator-form-modal .form-group input:focus,.operator-form-modal .form-group textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.operator-form-modal .form-group input::placeholder,.operator-form-modal .form-group textarea::placeholder{color:#94a3b8}.operator-form-modal .form-group textarea{min-height:80px;resize:vertical}.operator-form-modal .help-text{color:#94a3b8;font-size:12px}.operator-form-modal .toggle-switch{cursor:pointer;display:inline-block;height:26px;position:relative;width:48px}.operator-form-modal .toggle-switch input{height:0;opacity:0;width:0}.operator-form-modal .toggle-slider{background-color:#cbd5e1;border-radius:26px;bottom:0;left:0;position:absolute;right:0;top:0;transition:.3s}.operator-form-modal .toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:20px;left:3px;position:absolute;transition:.3s;width:20px}.operator-form-modal .toggle-switch input:checked+.toggle-slider{background-color:#4f46e5}.operator-form-modal .toggle-switch input:checked+.toggle-slider:before{transform:translateX(22px)}.operator-form-modal .modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.operator-form-modal .btn-secondary{background:#e2e8f0;border:none;border-radius:8px;box-shadow:none;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.operator-form-modal .btn-secondary:hover{background:#cbd5e1}.operator-form-modal .btn-primary{background:#4f46e5;border:none;border-radius:8px;box-shadow:none;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.operator-form-modal .btn-primary:hover{background:#4338ca}.operator-form-modal .btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}@media (max-width:700px){.operator-form-modal{margin:10px;max-height:calc(100vh - 20px);max-width:100%}.operator-form-modal .form-layout{flex-direction:column}.operator-form-modal .form-nav{border-bottom:1px solid #e2e8f0;border-right:none;flex-direction:row;gap:4px;min-width:100%;overflow-x:auto;padding:8px;width:100%}.operator-form-modal .nav-item{border-radius:6px;border-right:none;padding:8px 12px;white-space:nowrap}.operator-form-modal .nav-item.active{background:#4f46e5;border-right:none;color:#fff;margin-right:0}.operator-form-modal .form-row{grid-template-columns:1fr}.operator-form-modal .form-content{padding:16px}}.import-modal{background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.import-modal .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:20px 24px}.import-modal .modal-header h3{color:#1a1a2e;font-size:18px;font-weight:600;margin:0}.import-modal .mailbox-context{color:#64748b;font-size:14px;font-weight:400}.import-modal .modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;margin-left:auto;transition:all .2s;width:32px}.import-modal .modal-close:hover{background:#e2e8f0;color:#334155}.import-modal .modal-body{flex:1 1;overflow-y:auto;padding:24px}.import-instructions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px;padding:16px}.import-instructions p{color:#475569;font-size:14px;line-height:1.5;margin:0 0 12px}.import-instructions ul{margin:0 0 12px;padding-left:20px}.import-instructions li{color:#475569;font-size:13px;margin-bottom:4px}.import-instructions li strong{color:#1a1a2e}.btn-link{align-items:center;background:none;border:none;color:#4f46e5;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:0;transition:color .2s}.btn-link:hover{color:#4338ca;text-decoration:underline}.drop-zone{background:#fafbfc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;padding:40px 20px;text-align:center;transition:all .2s}.drop-zone.has-file,.drop-zone:hover{background:#f5f3ff;border-color:#4f46e5}.drop-zone.has-file{border-style:solid}.drop-zone svg{color:#94a3b8;margin-bottom:12px}.drop-zone p{color:#475569;font-size:15px;font-weight:500;margin:0 0 4px}.drop-zone span{color:#94a3b8;font-size:13px}.file-info{align-items:center;display:flex;gap:12px;justify-content:center}.file-info svg{color:#4f46e5;margin-bottom:0}.file-name{color:#1a1a2e;font-size:15px;font-weight:600}.file-size{color:#64748b;font-size:13px}.remove-file{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#dc2626;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;line-height:1;transition:all .2s;width:24px}.remove-file:hover{background:#fecaca}.import-result{border-radius:10px;margin-top:20px;padding:16px}.import-result.success{background:#f0fdf4;border:1px solid #86efac}.import-result.error{background:#fef2f2;border:1px solid #fecaca}.result-header{align-items:center;display:flex;font-size:15px;font-weight:500;gap:10px}.import-result.success .result-header{color:#166534}.import-result.success .result-header svg{color:#22c55e}.import-result.error .result-header{color:#991b1b}.import-result.error .result-header svg{color:#ef4444}.import-errors{border-top:1px solid #86efac;margin-top:12px;padding-top:12px}.import-errors p{color:#b45309;font-size:13px;font-weight:500;margin:0 0 8px}.import-errors ul{margin:0;padding-left:20px}.import-errors li{color:#92400e;font-size:13px;margin-bottom:4px}.import-modal .modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}@media (max-width:600px){.import-modal{margin:10px;max-width:100%}.import-modal .modal-header{flex-wrap:wrap}.import-modal .mailbox-context{margin-top:4px;order:3;width:100%}.drop-zone{padding:30px 15px}}.shared-mailboxes-tab{padding:0}.shared-mailboxes-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.shared-mailboxes-header .header-info h3{color:#1a1a2e;font-size:18px;font-weight:600;margin:0 0 8px}.shared-mailboxes-header .header-info p{color:#666;font-size:14px;line-height:1.5;margin:0}.shared-mailboxes-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.shared-mailboxes-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#4f46e5;height:32px;margin-bottom:16px;width:32px}.shared-mailboxes-empty{align-items:center;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.shared-mailboxes-empty svg{color:#94a3b8;margin-bottom:16px}.shared-mailboxes-empty h4{color:#475569;font-size:16px;margin:0 0 8px}.shared-mailboxes-empty p{color:#64748b;font-size:14px;margin:0}.shared-mailboxes-list{display:flex;flex-direction:column;gap:12px}.shared-mailbox-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:box-shadow .2s}.shared-mailbox-card:hover{box-shadow:0 4px 12px #00000014}.mailbox-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s}.mailbox-header:hover{background:#f8fafc}.mailbox-info{gap:16px}.mailbox-icon,.mailbox-info{align-items:center;display:flex}.mailbox-icon{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:10px;color:#fff;height:44px;justify-content:center;width:44px}.mailbox-details{display:flex;flex-direction:column;gap:2px}.mailbox-email{color:#1a1a2e;font-size:15px;font-weight:600}.mailbox-name{color:#64748b;font-size:13px}.mailbox-stats{gap:12px}.mailbox-stats,.stat-badge{align-items:center;display:flex}.stat-badge{background:#f1f5f9;border-radius:20px;color:#475569;font-size:13px;gap:6px;padding:6px 12px}.stat-badge.operators{background:#ede9fe;color:#5b21b6}.stat-badge.signatures{background:#dbeafe;color:#1e40af}.expand-icon{color:#94a3b8}.expand-icon.expanded{transform:rotate(180deg)}.mailbox-content{background:#fafbfc;border-top:1px solid #e2e8f0;padding:20px}.mailbox-operators-section,.mailbox-signatures-section{margin-bottom:24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-header h4{color:#475569;font-size:14px;font-weight:600;margin:0}.section-actions{display:flex;gap:8px}.btn-small{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:background .2s}.btn-small:hover{background:#4338ca}.btn-small.btn-secondary{background:#e2e8f0;color:#475569}.btn-small.btn-secondary:hover{background:#cbd5e1}.assigned-signatures-list{display:flex;flex-wrap:wrap;gap:8px}.signature-tag{align-items:center;background:#dbeafe;border-radius:6px;color:#1e40af;display:flex;font-size:13px;gap:6px;padding:6px 10px}.signature-tag .remove-btn{background:none;border:none;color:#1e40af;cursor:pointer;font-size:16px;line-height:1;opacity:.7;padding:0}.signature-tag .remove-btn:hover{opacity:1}.no-operators,.no-signatures{color:#64748b;font-size:14px;font-style:italic;margin:0}.operators-table{border-collapse:collapse;font-size:14px;width:100%}.operators-table th{background:#f1f5f9;color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.operators-table th:first-child{border-radius:8px 0 0 8px}.operators-table th:last-child{border-radius:0 8px 8px 0}.operators-table td{border-bottom:1px solid #e2e8f0;color:#334155;padding:12px}.operators-table tr:last-child td{border-bottom:none}.operators-table tr.inactive{opacity:.6}.operators-table .matricule{color:#7c3aed;font-family:SF Mono,Monaco,monospace;font-weight:600}.status-badge{border-radius:4px;font-weight:500;padding:4px 8px}.status-badge.active{background:#dcfce7;color:#166534}.operators-table .actions{display:flex;gap:8px}.operators-table .btn-icon{align-items:center;background:#f1f5f9;border:none;border-radius:6px;box-shadow:none;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;max-width:32px;min-width:32px;overflow:visible;padding:0!important;transition:all .2s;width:32px}.operators-table .btn-icon svg{stroke:currentColor;display:block;flex-shrink:0;height:16px;min-height:16px;min-width:16px;width:16px}.operators-table .btn-icon:hover{background:#e2e8f0;color:#334155}.operators-table .btn-icon.danger:hover{background:#fee2e2;color:#dc2626}.loading-operators{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px;padding:20px 0}.spinner-small{animation:spin .6s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#4f46e5;height:16px;width:16px}.mailbox-actions{border-top:1px solid #e2e8f0;padding-top:16px}.btn-danger-outline{background:#fff;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s}.btn-danger-outline:hover{background:#fef2f2;border-color:#f87171}.users-list-modal{border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;max-height:300px;overflow-y:auto}.user-item{align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background .2s}.user-item:last-child{border-bottom:none}.user-item:hover{background:#f8fafc}.user-item .user-email{color:#1a1a2e;font-weight:500}.user-item .user-name{color:#64748b;font-size:13px}.modal-overlay{padding:20px}.modal-content{background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.modal-header{border-bottom:1px solid #e2e8f0}.modal-header h3{color:#1a1a2e;font-weight:600}.modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .2s;width:32px}.modal-close:hover{background:#e2e8f0;color:#334155}.modal-body{overflow-y:auto}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0}.shared-mailboxes-tab .btn-secondary{background:var(--color-gray-200);border:none;border-radius:var(--border-radius-md);color:var(--color-gray-600);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.btn-secondary:hover{background:#cbd5e1}.signature-select{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;margin-top:12px;padding:10px 12px;width:100%}.directory-settings{height:calc(100vh - 60px);margin:0 auto;max-width:1200px;overflow-y:auto;padding:24px}.settings-header{margin-bottom:24px}.settings-header h1{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 8px}.settings-header .subtitle{color:#6b7280;font-size:15px;margin:0}.message{align-items:center;animation:slideDown .3s ease-out;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.message.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.message.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.message button{background:none;border:none;cursor:pointer;font-size:20px;opacity:.6}.message button:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-tabs{background:var(--color-gray-50);border-radius:10px;display:flex;gap:4px;margin-bottom:24px;padding:4px;width:-webkit-fit-content;width:fit-content}.settings-tabs .tab{background:#0000;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.settings-tabs .tab:hover{background:#ffffff80;color:var(--color-text-primary)}.settings-tabs .tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:var(--color-text-primary)}.settings-content{min-height:400px}.error,.loading{color:#6b7280;font-size:15px;padding:48px;text-align:center}.config-tab{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.form-section{border-bottom:1px solid #e5e7eb;margin-bottom:32px;padding-bottom:24px}.form-section:last-of-type{border-bottom:none}.form-section h3{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.directory-type-selector{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.type-option{align-items:center;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:20px;text-align:center;transition:all .2s}.type-option:hover{background:#f0f9ff;border-color:#93c5fd}.type-option.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.type-option input[type=radio]{display:none}.type-icon{font-size:32px;margin-bottom:8px}.type-name{color:#1a1a1a;font-weight:600;margin-bottom:4px}.type-desc{color:#6b7280;font-size:13px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group{margin-bottom:16px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input[type=number],.form-group input[type=password],.form-group input[type=text],.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-group input[type=checkbox]{height:18px;width:18px}.info-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px}.info-box h4{color:#0369a1;margin:0 0 8px}.info-box p{color:#0c4a6e;margin:0 0 8px}.info-box ul{color:#0c4a6e;margin:0;padding-left:20px}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.directory-settings .btn-secondary{background:var(--color-gray-100);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--color-gray-700);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-sync{background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-sync:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46)}.btn-sync:disabled{cursor:not-allowed;opacity:.6}.config-status{background:#f9fafb;border-radius:8px;margin-top:24px;padding:16px}.config-status h4{color:#374151;font-size:15px;margin:0 0 12px}.config-status p{color:#6b7280;font-size:14px;margin:6px 0}.status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.status-badge.success{background:#d1fae5;color:#065f46}.status-badge.failed{background:#fee2e2;color:#991b1b}.status-badge.partial{background:#fef3c7;color:#92400e}.status-badge.none,.status-badge.started{background:#e5e7eb;color:#6b7280}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.empty-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:60px 20px;text-align:center}.empty-state p{color:#374151;font-size:16px;margin:0}.empty-state .hint{color:#9ca3af;font-size:14px;margin-top:8px}.groups-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.group-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.group-header{align-items:center}.group-header h4{color:#1a1a1a;font-size:16px;margin:0}.member-count{background:#f3f4f6;border-radius:20px;color:#6b7280;font-size:13px;padding:4px 10px}.group-desc{color:#6b7280;font-size:14px;margin:0 0 16px}.assigned-signatures{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.assigned-signatures h5{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.assigned-signatures ul{list-style:none;margin:0 0 12px;padding:0}.assigned-signatures li{align-items:center;background:#f3f4f6;border-radius:6px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.assigned-signatures .btn-remove{background:none;border:none;color:#ef4444;cursor:pointer;font-size:18px;opacity:.6;padding:0 4px}.assigned-signatures .btn-remove:hover{opacity:1}.assigned-signatures .no-signatures{color:#9ca3af;font-size:14px;font-style:italic;margin:0 0 12px}.btn-add-signature{background:none;border:2px dashed #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:14px;padding:8px;transition:all .2s;width:100%}.btn-add-signature:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.users-tab{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.users-table th{background:#f9fafb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.users-table td{color:#374151;font-size:14px}.users-table tr:hover{background:#f9fafb}.users-table tr.inactive{opacity:.6}.logs-tab{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.logs-table{border-collapse:collapse;width:100%}.logs-table td,.logs-table th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.logs-table th{background:#f9fafb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.logs-table td{color:#374151;font-size:14px}.logs-table tr:hover{background:#f9fafb}.stat-created{color:#059669;margin-right:8px}.stat-updated{color:var(--color-primary);margin-right:8px}.error-cell,.stat-failed{color:#dc2626}.error-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-width:480px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#1a1a1a;font-size:18px;margin:0}.close-btn{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:24px}.close-btn:hover{color:#374151}.modal-body{padding:24px}.modal-body p{color:#6b7280;margin:0 0 16px}.modal-footer{background:#f9fafb;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.tab-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:20px;padding:12px 16px}.tab-info p{color:#0369a1;font-size:14px;margin:0}.group-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.group-title{display:flex;flex-direction:column;gap:4px}.group-priority{align-items:center;display:flex;gap:8px}.group-priority label{color:#6b7280;font-size:13px}.priority-input{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:4px 8px;text-align:center;width:60px}.priority-input:focus{border-color:var(--color-primary);outline:none}.group-actions{align-items:center;display:flex;gap:12px}.btn-calendar{align-items:center;background:var(--color-gray-100);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all var(--transition-fast)}.btn-calendar:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.btn-calendar svg{flex-shrink:0}.user-action-buttons{display:flex;gap:8px;margin-top:12px}.users-list{display:flex;flex-direction:column;gap:8px}.user-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.user-card:hover{border-color:#d1d5db}.user-card.expanded{border-color:#93c5fd;box-shadow:0 2px 8px #2563eb1a}.user-card.inactive{opacity:.7}.user-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background .2s}.user-header:hover{background:#f9fafb}.user-info{display:flex;flex-direction:column;flex-shrink:0;gap:2px}.users-tab .user-name{align-items:center;color:#1a1a1a;display:inline-flex;font-weight:600;gap:8px;max-width:none;overflow:visible}.shared-mailbox-badge{align-items:center;background:#dbeafe;border-radius:12px;color:#1d4ed8;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap}.user-email{color:#6b7280;font-size:13px}.user-meta{align-items:center;display:flex;flex-shrink:1;gap:12px;min-width:0}.user-groups{color:#6b7280;font-size:13px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-signature-count{background:#dbeafe;border-radius:10px;color:#1d4ed8;font-size:12px;font-weight:600;padding:2px 8px}.expand-icon{color:#9ca3af;font-size:10px;transition:transform .2s}.user-card.expanded .expand-icon{transform:rotate(0)}.user-details{grid-gap:20px;background:#f9fafb;border-top:1px solid #e5e7eb;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:16px}.user-signatures h5{color:#374151;font-size:13px;font-weight:600;margin:0 0 10px}.signature-list{list-style:none;margin:0 0 12px;padding:0}.signature-list li{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:14px;gap:8px;margin-bottom:6px;padding:8px 12px}.sig-name{color:#1a1a1a;flex:1 1}.sig-priority-badge{background:#fef3c7;border-radius:10px;color:#92400e;font-size:11px;font-weight:600;padding:2px 8px}.user-signatures .no-signatures{color:#9ca3af;font-size:14px;font-style:italic;margin:0 0 12px}.user-signatures .btn-add-signature{width:100%}.user-extra-info{display:flex;flex-direction:column;gap:8px}.user-extra-info p{color:#6b7280;font-size:13px;margin:0}.info-note{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:13px;margin-bottom:16px;padding:10px 12px}.btn-preview-signature{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;margin-top:12px;padding:8px 16px;transition:all .2s}.btn-preview-signature:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px)}.btn-personalization{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;margin-top:12px;padding:8px 16px;transition:all .2s}.btn-personalization:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.modal.modal-lg{max-width:600px}.preview-user-info{border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding-bottom:16px}.preview-user-name{color:#1a1a1a;font-size:18px;font-weight:600}.preview-user-email{color:#6b7280;font-size:14px}.preview-date-picker{align-items:center;display:flex;gap:12px;margin-bottom:16px}.preview-date-picker label{color:#374151;font-size:14px;font-weight:500}.preview-date-picker input[type=date]{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.preview-date-picker input[type=date]:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.preview-algorithm-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;font-size:13px;margin-bottom:16px;padding:10px 12px}.preview-empty,.preview-loading{color:#6b7280;padding:32px;text-align:center}.preview-empty p{margin:0}.preview-signatures-list{display:flex;flex-direction:column;gap:8px}.preview-signature-item{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s}.preview-signature-item.winner{background:#ecfdf5;border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.preview-sig-rank{flex-shrink:0}.rank-badge{background:#e5e7eb;border-radius:20px;color:#6b7280;display:inline-block;font-size:11px;font-weight:700;padding:4px 10px}.rank-badge.winner{background:#10b981;color:#fff}.preview-sig-info{flex:1 1;min-width:0}.preview-sig-name{color:#1a1a1a;display:block;font-size:15px;font-weight:600;margin-bottom:6px}.preview-sig-meta{display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.assignment-type{border-radius:10px;font-weight:600;padding:2px 8px}.assignment-type.user{background:#dbeafe;color:#1d4ed8}.assignment-type.group{background:#fef3c7;color:#92400e}.assignment-type.global{background:#e5e7eb;color:#6b7280}.assignment-type.default{background:#e0e7ff;color:#4338ca}.priority-value{background:#f3f4f6;border-radius:10px;color:#6b7280;padding:2px 8px}.validity{color:#6b7280;font-style:italic}.section-description{color:#6b7280;font-size:14px;margin:-8px 0 20px}.sync-mode-selector{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.sync-option{align-items:flex-start;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s}.sync-option:hover{background:#f0f9ff;border-color:#93c5fd}.sync-option.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.sync-option input[type=radio]{display:none}.sync-icon{flex-shrink:0;font-size:24px}.sync-info{display:flex;flex-direction:column;gap:4px}.sync-name{color:#1a1a1a;font-weight:600}.sync-desc{color:#6b7280;font-size:13px}.sync-frequency-section{background:#f9fafb;border-radius:8px;margin-top:16px;padding:16px}.sync-frequency-section .form-group{margin-bottom:12px}.sync-frequency-section .form-group select{max-width:300px}@media (max-width:768px){.directory-type-selector,.form-grid,.groups-list{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.user-details{grid-template-columns:1fr}.user-meta{flex-wrap:wrap;gap:8px}.user-groups{max-width:150px}.sync-mode-selector{grid-template-columns:1fr}.sync-frequency-section .form-group select{max-width:100%}}.stat-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-card-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.stat-icon{font-size:20px}.stat-title{color:var(--color-text-secondary);font-size:14px;font-weight:500}.stat-card-body{align-items:baseline;display:flex;gap:12px}.stat-value{font-size:32px;font-weight:700;line-height:1}.stat-suffix{font-size:20px;font-weight:600;margin-left:2px}.stat-change{border-radius:6px;font-size:14px;font-weight:600;padding:4px 8px}.stat-change.positive{background:#f0fdf4;color:#16a34a}.stat-change.negative{background:#fef2f2;color:#dc2626}.stat-change.neutral{background:#f3f4f6;color:#6b7280}.stats-chart{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:20px}.stats-chart.empty{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;min-height:300px}.chart-title{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.chart-tooltip{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:12px 16px}.tooltip-date{color:var(--color-text-primary);font-size:13px;font-weight:600;margin:0 0 8px;text-transform:capitalize}.tooltip-item{font-size:13px;margin:4px 0}.tooltip-item strong{margin-left:4px}.top-links-table{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:20px}.top-links-table h3{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.top-links-table.empty{text-align:center}.empty-message{color:var(--color-text-secondary);font-size:14px;padding:20px 0}.links-list{display:flex;flex-direction:column;gap:12px}.link-item{align-items:center;background:var(--color-gray-50);border-radius:8px;display:flex;gap:12px;padding:12px;transition:background .2s}.link-item:hover{background:#f3f4f6}.link-rank{align-items:center;background:var(--color-primary);border-radius:6px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.link-icon{flex-shrink:0;font-size:20px}.link-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.link-url{color:var(--color-text-primary);font-size:14px;font-weight:500;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.link-url:hover{color:var(--color-primary);text-decoration:underline}.link-signature{color:var(--color-text-secondary);font-size:12px}.link-stats{align-items:flex-end;display:flex;flex-direction:column;gap:4px;min-width:120px}.link-count{color:var(--color-text-primary);font-size:13px;font-weight:600;white-space:nowrap}.link-bar-container{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden;width:100%}.link-bar{background:linear-gradient(90deg,var(--color-primary),#818cf8);border-radius:3px;height:100%;transition:width .3s ease}@media (max-width:640px){.link-item{flex-wrap:wrap}.link-stats{flex-direction:row;justify-content:space-between;margin-top:8px;width:100%}}.signature-stats-table{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:20px}.signature-stats-table h3{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.signature-stats-table.empty{text-align:center}.table-container{overflow-x:auto}.signature-stats-table table{border-collapse:collapse;width:100%}.signature-stats-table th{border-bottom:1px solid var(--border-color);color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.signature-stats-table td{border-bottom:1px solid #f3f4f6;font-size:14px;padding:16px 12px}.signature-stats-table tr.clickable{cursor:pointer;transition:background .2s}.signature-stats-table tr.clickable:hover{background:var(--color-gray-50)}.signature-stats-table tr:last-child td{border-bottom:none}.col-name{min-width:200px}.col-clicks,.col-ctr,.col-impressions{text-align:right;white-space:nowrap}.signature-name{font-weight:500}.signature-name,.stat-value{color:var(--color-text-primary)}.ctr-badge,.stat-value{font-weight:600}.ctr-badge{border-radius:20px;display:inline-block;font-size:13px;padding:4px 10px}.ctr-badge.excellent{background:#dcfce7;color:#166534}.ctr-badge.good{background:#dbeafe;color:#1e40af}.ctr-badge.average{background:#fef3c7;color:#92400e}.ctr-badge.low{background:#fee2e2;color:#991b1b}@media (max-width:640px){.signature-stats-table td,.signature-stats-table th{padding:10px 8px}.col-name{min-width:120px}}.statistics-page{background:#f5f7fa;background:var(--color-gray-50,#f5f7fa);display:flex;flex-direction:column;height:100vh;overflow:hidden}.statistics-content{flex:1 1;height:calc(100vh - 64px);margin:0 auto;max-width:1400px;overflow-y:auto;padding:24px 24px 48px;width:100%}.statistics-page .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.statistics-page .page-header h1{color:var(--color-text-primary);font-size:28px;font-weight:600;margin:0}.period-selector{background:var(--color-gray-50);border-radius:10px;display:flex;gap:4px;padding:4px}.period-btn{background:#0000;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.period-btn:hover{background:#ffffff80;color:var(--color-text-primary)}.period-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:var(--color-text-primary)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.chart-section,.stats-grid{margin-bottom:24px}.tables-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.error-container p,.loading-container p{color:var(--color-text-secondary);font-size:15px}.spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-container .btn-primary{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.error-container .btn-primary:hover{background:var(--color-primary-hover)}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.tables-grid{grid-template-columns:1fr}}@media (max-width:768px){.statistics-content{padding:16px}.statistics-page .page-header{align-items:flex-start;flex-direction:column}.statistics-page .page-header h1{font-size:24px}.period-selector{justify-content:space-between;width:100%}.period-btn{font-size:13px;padding:8px 12px}.stats-grid{gap:12px;grid-template-columns:1fr 1fr}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.5aa1c5e0.css.map*/