.modal-dashboard{max-width:1200px;margin:0 auto;padding:2rem}.modal-form-modern{display:flex;flex-direction:column;height:100%;max-height:100%}.validation-banner{background-color:#fef3c7;color:#92400e;padding:.75rem 1rem;border-radius:8px;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;border:1px solid #fde68a}.validation-icon{font-size:1.125rem}.validation-text{font-weight:500}.form-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e5e7eb;margin-bottom:1.5rem}.tab-button{flex:1;padding:.75rem 1rem;background:none;border:none;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-2px}.tab-button:hover:not(.active){color:#374151;background-color:#f9fafb}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6}.form-content{flex:1;overflow-y:auto}.form-section-panel{animation:fade-in .2s ease-out}.form-submit-buttons{display:flex;gap:1rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;margin-top:auto}.form-group-divider{border-top:1px solid #e5e7eb;margin:1.5rem 0}.form-group-title{font-weight:600;color:#1f2937;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.add-secondary-btn,.remove-secondary-btn{font-size:.8125rem;padding:.375rem .75rem;border-radius:4px;cursor:pointer;transition:all .2s}.add-secondary-btn{background-color:#3b82f6;color:#fff;border:none;font-weight:500;margin-bottom:.5rem}.add-secondary-btn:hover{background-color:#2563eb}.remove-secondary-btn{background-color:transparent;color:#ef4444;border:1px solid #ef4444;font-weight:500}.remove-secondary-btn:hover{background-color:#fef2f2}.form-error{color:#ef4444;font-size:.8125rem;margin-top:.25rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-title{font-size:2rem;font-weight:700;margin:0}.empty-state{text-align:center;padding:4rem 2rem;border:1px dashed #d1d5db;border-radius:12px;background-color:#f9fafb}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.empty-state-description{font-size:1rem;color:#6b7280;margin:0}.loading-state{text-align:center;padding:4rem;color:#6b7280}.modal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.modal-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}.modal-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.modal-card-header{margin-bottom:1rem}.modal-name{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.modal-meta{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge.status-draft{background-color:#f3f4f6;color:#6b7280}.status-badge.status-published{background-color:#d1fae5;color:#065f46}.template-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:#eff6ff;color:#1d4ed8}.modal-card-body{flex:1}.modal-dates{margin-top:.75rem}.date-label{font-size:.875rem;color:#6b7280}.modal-card-actions{margin-top:1.5rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:stretch}.delete-confirm{display:flex;gap:.5rem;align-items:center;padding:.5rem .75rem;background-color:#fef2f2;border-radius:6px}.delete-confirm-text{font-size:.875rem;color:#991b1b;font-weight:500}.modal-editor{max-width:1400px;margin:0 auto;padding:2rem}.editor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.editor-title{font-size:2rem;font-weight:700;margin:0}.editor-subtitle{font-size:1rem;color:#6b7280;margin:.5rem 0 0}.editor-content{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;margin-bottom:2rem}@media(max-width:1024px){.editor-content{grid-template-columns:1fr}}.editor-form{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;max-height:calc(100vh - 300px);overflow-y:auto}.editor-preview{position:sticky;top:2rem}.preview-title{font-size:1rem;font-weight:600;color:#6b7280;margin:0 0 1rem}.editor-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px}.modal-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{border-bottom:1px solid #e5e7eb;padding-bottom:1.5rem}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section-title{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.form-fields{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.form-textarea{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background-color:#fff;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-range{width:100%;height:8px;border-radius:4px;background-color:#e5e7eb;outline:none;appearance:none}.form-range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background-color:#3b82f6;cursor:pointer;transition:transform .2s}.form-range::-webkit-slider-thumb:hover{transform:scale(1.1)}.form-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background-color:#3b82f6;cursor:pointer;border:none}.form-color-text{width:100%;text-transform:uppercase;font-family:monospace}.color-input-wrapper{display:flex;flex-direction:column;gap:8px}.color-picker-container{padding:4px;border:1px solid #d1d5db;border-radius:8px;background:#fff}.form-color-input{width:40px;height:40px;padding:0;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;background:none}.form-color-input::-webkit-color-swatch-wrapper{padding:2px}.form-color-input::-webkit-color-swatch{border-radius:4px;border:none}.form-label{font-weight:500;font-size:.875rem;color:#374151}.form-hint{font-size:.75rem;color:#6b7280}.image-preview{max-width:100%;max-height:150px;object-fit:contain;margin-top:.5rem;border-radius:6px;border:1px solid #e5e7eb}.error-banner{padding:1rem;background-color:#fee2e2;color:#991b1b;border-radius:8px;margin-bottom:1.5rem}.template-selector{max-width:1000px;margin:0 auto}.template-selector-heading{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;text-align:center}.template-selector-subheading{font-size:1rem;color:#6b7280;margin:0 0 2rem;text-align:center}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.template-card{display:flex;flex-direction:column;background-color:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1rem;cursor:pointer;transition:border-color .2s,box-shadow .2s;text-align:left;overflow:hidden}.template-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a}.template-preview-container{background-color:#f3f4f6;border-radius:8px;padding:0;margin-bottom:1rem;height:280px;display:flex;align-items:center;overflow:hidden}.template-info{flex:1;display:flex;flex-direction:column}.template-name{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.template-description{font-size:.875rem;color:#6b7280;margin:0;line-height:1.5}.template-mini-preview{width:100%;height:120px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;align-items:center;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s;border:none;gap:.5rem}.btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.btn:disabled{opacity:.5;cursor:not-allowed}.button-primary{background-color:#3b82f6;color:#fff;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.button-primary:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}.button-secondary{background-color:#fff;color:#1f2937;border:1px solid #d1d5db;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.button-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.button-secondary:disabled{cursor:not-allowed;opacity:.6}.button-accent{background-color:#10b981;color:#fff;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.button-accent:hover:not(:disabled){background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.button-accent:disabled{cursor:not-allowed;opacity:.6}.button-danger{background-color:#ef4444;color:#fff;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.button-danger:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.button-danger:disabled{cursor:not-allowed;opacity:.6}.button-small{padding:.375rem .875rem;font-size:.8125rem;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-lg{box-shadow:0 10px 15px #0000001a}.shadow-2xl{box-shadow:0 25px 50px #00000040}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .3s ease-out}.animate-slide-up{animation:slide-up .3s ease-out}.animate-scale-in{animation:scale-in .3s ease-out}@media(max-width:768px){.modal-dashboard{padding:1rem}.dashboard-title{font-size:1.5rem}.modal-list{grid-template-columns:1fr}.modal-editor{padding:1rem}.editor-header{flex-direction:column;align-items:flex-start}.editor-actions{flex-direction:column}.action-buttons{flex-direction:column;width:100%}.action-buttons .btn{width:100%}}.react-colorful{border:1px solid #d1d5db!important;border-radius:6px;box-shadow:none!important}.react-colorful__saturation{border-radius:6px 6px 0 0}.react-colorful__hue{border-radius:0 0 6px 6px}.react-colorful__pointer{width:16px!important;height:16px!important;border:2px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important}.react-colorful__hue-pointer{width:12px!important;border-radius:6px!important}.documentation-page{max-width:900px;margin:0 auto;padding:2rem}.docs-container{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.docs-header{padding:2rem;border-bottom:1px solid #e5e7eb}.docs-back{display:inline-block;padding:.5rem 1rem;background-color:#f3f4f6;color:#374151;text-decoration:none;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s;margin-bottom:1rem}.docs-back:hover{background-color:#e5e7eb}.docs-title{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#1f2937}.docs-subtitle{margin:0;font-size:1rem;color:#6b7280}.docs-content{padding:2rem}.docs-section{padding:2rem 0;border-bottom:1px solid #e5e7eb}.docs-section:last-child{border-bottom:none}.docs-section-title{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:#1f2937}.docs-subsection-title{margin:1.5rem 0 .75rem;font-size:1.125rem;font-weight:600;color:#374151}.docs-text{margin:0 0 1rem;line-height:1.6;color:#374151}.docs-code-block{background-color:#1f2937;color:#f9fafb;padding:1rem;border-radius:8px;overflow-x:auto;font-family:Courier New,monospace;font-size:.875rem;margin:1rem 0}.docs-note{background-color:#eff6ff;border-left:4px solid #3b82f6;padding:1rem;border-radius:6px;margin:1rem 0;color:#1e3a8a}.docs-list{margin:0;padding-left:1.5rem}.docs-list li{margin:.5rem 0;line-height:1.6;color:#374151}.docs-list li strong{color:#1f2937}.docs-grid{display:grid;gap:2rem;margin-top:1.5rem}@media(min-width:768px){.docs-grid{grid-template-columns:1fr 1fr}}.docs-grid-item{background-color:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.docs-grid-item-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1f2937}.docs-grid-item-text{margin:0;font-size:.875rem;line-height:1.5;color:#4b5563}.docs-troubleshoot{margin-top:1rem}.docs-troubleshoot-title{margin:1.5rem 0 .75rem;font-size:1rem;font-weight:600;color:#1f2937}.docs-faq{margin-top:1rem}.docs-faq-item{padding:1rem 0;border-bottom:1px solid #e5e7eb}.docs-faq-item:last-child{border-bottom:none}.docs-faq-question{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1f2937}.docs-faq-answer{margin:0;font-size:.875rem;line-height:1.6;color:#4b5563}.docs-faq-list{margin:.5rem 0 0 .5rem 0;padding-left:1.5rem;font-size:.875rem;color:#4b5563}.docs-footer{padding:1.5rem 2rem;border-top:1px solid #e5e7eb}.docs-footer-link{display:inline-block;padding:.5rem 1rem;background-color:#6b7280;color:#fff;text-decoration:none;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s}.docs-footer-link:hover{background-color:#4b5563}.bg-blue{background-color:#eff6ff;border-radius:8px;padding:1.5rem}.bg-yellow{background-color:#fef9c3;border-radius:8px;padding:1.5rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#1f2937}.app{min-height:100vh;padding:0;background-color:#f9fafb}.loading{text-align:center;padding:2rem;font-size:1.125rem;color:#6b7280}header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background-color:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}header h1{margin:0;font-size:1.5rem;font-weight:700;color:#1f2937;cursor:pointer;text-decoration:none}header a,header a:hover{text-decoration:none;color:inherit}header h1:hover{color:#3b82f6}.user-info{display:flex;align-items:center;gap:1rem}.user-info span{font-weight:500;color:#374151}.header-links{display:flex;align-items:center}.header-link{font-size:.875rem;font-weight:500;color:#6b7280;text-decoration:none;transition:color .2s}.header-link:hover{color:#3b82f6}nav{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-weight:500;font-size:.875rem;color:#374151}.form-group input[type=email],.form-group input[type=text],.form-group input[type=password]{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input[type=email]:focus,.form-group input[type=text]:focus,.form-group input[type=password]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.form-group.checkbox{flex-direction:row;align-items:center;gap:.5rem}.form-group.checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.form-group.checkbox label{margin:0;cursor:pointer}.password-hint,.auth-hint{font-size:.75rem;color:#6b7280;margin-top:.25rem}.error-message,.auth-error{padding:.75rem;background-color:#fee2e2;color:#991b1b;border-radius:8px;font-size:.875rem}button{padding:.625rem 1.25rem;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.button-primary{background-color:#3b82f6;color:#fff;padding:.75rem 1.5rem;font-size:1rem;font-weight:600}.button-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}button:hover:not(:disabled):not(.button-primary){transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}button:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}button:active:not(:disabled){transform:translateY(0)}.sign-out-button{background-color:#ef4444;font-size:.875rem;padding:.5rem 1rem}.sign-out-button:hover:not(:disabled){background-color:#dc2626}main{flex:1;overflow:auto}html,body,#root{height:100%}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-form{background-color:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:100%;max-width:400px}.auth-title{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#1f2937;text-align:center}.auth-subtitle{margin:0 0 1.5rem;font-size:.875rem;color:#6b7280;text-align:center}.auth-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.auth-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.auth-input.input-error{border-color:#ef4444}.auth-submit{width:100%;padding:.875rem;background-color:#3b82f6;color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.auth-submit:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.auth-submit:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.auth-toggle{text-align:center;margin-top:1.5rem;font-size:.875rem;color:#6b7280}.auth-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;font-weight:500;padding:0;text-decoration:underline}.auth-link:hover{color:#2563eb}.auth-error{padding:.75rem;background-color:#fee2e2;color:#991b1b;border-radius:8px;font-size:.875rem}.password-strength{margin-top:.5rem}.strength-progress{width:100%;height:8px;border-radius:4px;border:none;appearance:none}.strength-indicator{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem;font-size:.875rem;font-weight:500}.password-requirements{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.password-req{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background-color:#f3f4f6;color:#9ca3af;transition:all .2s}.password-req.met{background-color:#dcfce7;color:#166534}.error-message{display:block;margin-top:.25rem;color:#ef4444;font-size:.75rem}.input-error{border-color:#ef4444;background-color:#fef2f2}
