.btn{text-align:center;transition:all .2s ease}.btn:disabled{transform:none}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-success{background:#28a745}.btn-success:hover:not(:disabled){background:#218838}.btn-sm{font-size:.8rem;padding:.25rem .5rem}.back-button,.go-back-button{background:#0fd35a;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s ease}.back-button:hover,.go-back-button:hover{background:#0aa847}.refresh-btn,.retry-btn,.retry-chart-btn{background:#007cba;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.refresh-btn:hover,.retry-btn:hover,.retry-chart-btn:hover{background:#005a8b}.toggle-button{align-items:center;background:#6f42c1;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.toggle-button:hover{background:#5a32a3;transform:translateY(-1px)}.toggle-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.nav-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.nav-btn:hover{background:#f8f9fa;border-color:#007cba}.nav-btn.active{background:#007cba;border-color:#007cba;color:#fff}.preview-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin:2px;padding:6px 12px}.preview-btn:hover{background-color:#0056b3}.edit-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin:2px;padding:6px 12px}.edit-btn:hover{background-color:#218838}.details-btn{background-color:#6f42c1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin:2px;padding:6px 12px}.details-btn:hover{background-color:#5a32a3}.btn-generate{background-color:#d607cb;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.btn-generate:hover{background-color:#e98dec}.btn-generate:active{transform:translateY(1px)}.process-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.process-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.red-btn,.remove-tag-btn{background:#dc3545;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.red-btn:hover,.remove-tag-btn:hover{background:#c82333}.add-variable-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.add-variable-btn:hover{background:#218838}.save-config-btn{background:#007cba;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.save-config-btn:hover{background:#005a8b}.toggle-visual-mapping-button{background:#6f42c1;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.toggle-visual-mapping-button:hover{background:#5a32a3}.btn-search{background:#007cba;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.btn-search:hover{background:#005a8b}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#343a40;font-size:1rem;line-height:1.5}body,h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:700;line-height:1.2;margin-bottom:2em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:2em;margin-top:0}p:last-child{margin-bottom:0}a{color:#007bff;text-decoration:none;transition:color .2s ease-in-out}a:focus,a:hover{color:#007bff;text-decoration:underline}a:focus{outline:2px solid #007bff80;outline-offset:2px}ol,ul{margin-bottom:2em;padding-left:2em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}ul{list-style-type:disc}ol{list-style-type:decimal}.home-container{color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1000px;padding:2rem}.home-container h1{color:#2c3e50;font-size:2.2rem;margin-bottom:1.5rem;text-align:center}.home-container .status{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin:2rem 0;padding:1.25rem}.home-container .status p{font-size:1rem;line-height:1.6;margin:.5rem 0}.home-container .status p:first-child{margin-top:0}.home-container .status p:last-child{margin-bottom:0}.home-container .file-list{border-top:2px solid #e9ecef;margin-top:2.5rem;padding-top:1.5rem}.home-container .file-list h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1.25rem}.home-container .file-list p{color:#6c757d;font-style:italic}.home-container .file-list ul{list-style:none;padding:0}.home-container .file-item{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;margin:.75rem 0;padding:.75rem 1.25rem;transition:all .2s ease-in-out}.home-container .file-item:hover{border-color:#adb5bd;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.home-container .file-name{color:#2c3e50;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.95rem;padding-right:1rem;word-break:break-all}.home-container .landing-pages-section{display:flex;flex-direction:column;margin-bottom:40px}.home-container .landing-pages-section h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1.25rem}.home-container .landing-pages-table .btn-generate{background-color:#d607cb;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.home-container .landing-pages-table .btn-generate:hover{background-color:#e98dec}.home-container .landing-pages-table .btn-generate:active{transform:translateY(1px)}.home-container .landing-pages-table table{border-collapse:collapse;margin-top:20px;width:100%}.home-container .landing-pages-table table thead tr{background-color:#f5f5f5}.home-container .landing-pages-table table td,.home-container .landing-pages-table table th{border:1px solid #ddd;padding:12px;text-align:left}.home-container .landing-pages-table table td:not(:first-child),.home-container .landing-pages-table table th:not(:first-child){text-align:center}.home-container .landing-pages-table table td:first-child{text-transform:none!important}.home-container .landing-pages-table table .details-btn,.home-container .landing-pages-table table .edit-btn,.home-container .landing-pages-table table .preview-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin:2px;padding:6px 12px}.home-container .landing-pages-table table .preview-btn{background-color:#007bff}.home-container .landing-pages-table table .preview-btn:hover{background-color:#0056b3}.home-container .landing-pages-table table .edit-btn{background-color:#28a745}.home-container .landing-pages-table table .edit-btn:hover{background-color:#218838}.home-container .landing-pages-table table .details-btn{background-color:#6f42c1}.home-container .landing-pages-table table .details-btn:hover{background-color:#5a32a3}.home-container .landing-pages-table table .no-data{color:#6c757d;font-style:italic;padding:20px;text-align:center}@media(max-width:768px){.home-container{padding:1.25rem}.home-container h1{font-size:1.8rem}.home-container .file-item{align-items:flex-start;flex-direction:column;gap:.75rem}.home-container .btn{padding:.6rem;width:100%}.home-container .landing-pages-table table{font-size:.85rem}.home-container .landing-pages-table table td,.home-container .landing-pages-table table th{padding:8px}.home-container .landing-pages-table table .preview-btn{font-size:.8rem;padding:4px 8px}}.dashboard-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:2rem auto;max-width:1000px;padding:2rem}.dashboard-section h2{color:#333;font-size:1.8rem;margin:0 0 2rem;padding-bottom:1rem;position:relative;text-align:center}.dashboard-section h2:after{background:#007bff;border-radius:3px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.dashboard-section .form-group{margin-bottom:1.5rem}.dashboard-section .form-group .input-label{color:#333;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.dashboard-section .form-group .text-input,.dashboard-section .form-group .url-input{background-color:#fff;border:1px solid #ced4da;border-radius:4px;color:#333;font-size:1rem;padding:.75rem;width:100%}.dashboard-section .form-group .text-input:focus,.dashboard-section .form-group .url-input:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.dashboard-section .form-group .text-input::placeholder,.dashboard-section .form-group .url-input::placeholder{color:#6c757d}.dashboard-section .form-group .text-input:disabled,.dashboard-section .form-group .url-input:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.8}.dashboard-section .upload-container{margin-bottom:2rem}.dashboard-section .file-input{display:none}.dashboard-section .file-input-label{align-items:center;background-color:#f8f9fa;border:2px dashed #ced4da;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;justify-content:center;margin-bottom:1.5rem;min-height:120px;padding:2rem;text-align:center}.dashboard-section .file-input-label:hover{background-color:#007bff0d;border-color:#007bff}.dashboard-section .file-input-label .file-size{color:#6c757d;font-size:.85rem;margin-left:.5rem}.dashboard-section .process-button{align-items:center;background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;justify-content:center;margin-top:1.5rem;padding:.75rem 1.5rem;transition:background-color .2s;width:100%}.dashboard-section .process-button:hover:not(:disabled){background-color:#0069d9}.dashboard-section .process-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.dashboard-section .process-button .button-content{align-items:center;display:flex;gap:.5rem}.dashboard-section .process-button .spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:1rem;width:1rem}.dashboard-section .status-message{border-radius:4px;font-size:.95rem;margin-top:1.5rem;padding:1rem}.dashboard-section .status-message.success{background-color:#28a7451a;border:1px solid #c3e6cb;color:#155724}.dashboard-section .status-message.error{background-color:#dc35451a;border:1px solid #f5c6cb;color:#721c24}.dashboard-section .status-message .download-link{color:#007bff;display:inline-block;font-weight:500;margin-top:.5rem;text-decoration:none}.dashboard-section .status-message .download-link:hover{text-decoration:underline}@media(max-width:768px){.container{padding:1rem}.dashboard-section{margin:1rem 0;padding:1.5rem}.dashboard-section h2{font-size:1.5rem}.dashboard-section .form-group .text-input,.dashboard-section .form-group .url-input{width:100%}}.visual-mapping{margin:0 auto;max-width:1200px;padding:2rem}.visual-mapping__header{margin-bottom:2rem}.visual-mapping__header h2{color:#2c3e50;margin-bottom:.5rem}.visual-mapping__header p{color:#7f8c8d;font-size:1.1rem}.visual-mapping__form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.visual-mapping__form .form-group{margin-bottom:1.5rem}.visual-mapping__form .form-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:.5rem}.visual-mapping__form .form-group .form-control{border:2px solid #e9ecef;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}.visual-mapping__form .form-group .form-control:focus{border-color:#3498db;outline:none}.visual-mapping__form .form-group .monaco-editor-container{border:2px solid #e9ecef;border-radius:4px;overflow:hidden}.visual-mapping__form .form-group .monaco-editor-container:focus-within{border-color:#3498db}.visual-mapping__form .form-group .monaco-editor-container .ejs-variable-highlight{background-color:#fff3cd!important}.visual-mapping__form .form-group .monaco-editor-container .ejs-variable-inline{color:#856404!important;font-weight:700!important}.visual-mapping__analysis{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.visual-mapping__analysis h3{color:#2c3e50;margin-bottom:1.5rem}.visual-mapping__analysis .patterns-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.visual-mapping__analysis .pattern-card{border:1px solid #e9ecef;border-radius:6px;padding:1rem}.visual-mapping__analysis .pattern-card .pattern-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.visual-mapping__analysis .pattern-card .pattern-value{background:#f8f9fa;border-radius:3px;font-size:.9rem;padding:.25rem .5rem}.visual-mapping__analysis .pattern-card .pattern-context{color:#6c757d;font-size:.9rem;margin-bottom:.5rem}.visual-mapping__analysis .pattern-card .pattern-suggestion{color:#28a745;font-weight:500}.visual-mapping__creator{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.visual-mapping__creator h3{color:#2c3e50;margin-bottom:1.5rem}.visual-mapping__creator .mapping-form .form-group{margin-bottom:1em;margin-top:2em}.visual-mapping__creator .mapping-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.visual-mapping__creator .mapping-form .form-actions{display:flex;gap:1rem}.visual-mapping__creator .mapping-queue-section{background-color:#f9f9f9;border:1px solid #ddd;border-radius:5px;margin-top:20px;padding:15px}.visual-mapping__creator .queue-list{margin:15px 0}.visual-mapping__creator .queue-item{align-items:center;background:#fff;border:1px solid #eee;border-radius:3px;display:flex;flex-direction:column;gap:1rem;justify-content:space-between;margin:5px 0;padding:2rem 1rem}.visual-mapping__creator .queue-item-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:10px}.visual-mapping__creator .queue-item-content .transformed-element{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:.85rem;max-width:-webkit-fit-content;max-width:fit-content;overflow-x:auto;padding:8px;white-space:pre-wrap}.visual-mapping__creator .arrow{color:#666;font-weight:700}.visual-mapping__creator .field-name{color:#666;font-size:.9em}.visual-mapping__creator .batch-actions{display:flex;gap:10px;margin-top:15px}.visual-mapping__creator .btn-secondary{background-color:#6c757d;color:#fff}.visual-mapping__creator .btn-success{background-color:#28a745;color:#fff}.visual-mapping__creator .btn-sm{font-size:.8em;padding:5px 10px}.visual-mapping__creator .batch-preview-section{margin-top:20px}.visual-mapping__creator .preview-code{background:#f8f9fa;border-radius:5px;max-height:300px;overflow-x:auto;padding:15px}.visual-mapping__preview{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.visual-mapping__preview h3{color:#2c3e50;margin-bottom:1.5rem}.visual-mapping__preview .preview-content{grid-gap:1.5rem;display:grid;gap:1.5rem}.visual-mapping__preview .preview-section label{color:#2c3e50;display:block;font-weight:600;margin-bottom:.5rem}.visual-mapping__preview .preview-section .code-block{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;display:block;font-family:Monaco,Menlo,monospace;font-size:.9rem;overflow-x:auto;padding:1rem}.visual-mapping__mappings{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem}.visual-mapping__mappings h3{color:#2c3e50;margin-bottom:1.5rem}.visual-mapping__mappings .mappings-list{grid-gap:.75rem;display:grid;gap:.75rem}.visual-mapping__mappings .mapping-item{border:1px solid #e9ecef;border-radius:4px;padding:1rem}.visual-mapping__mappings .mapping-item .mapping-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.visual-mapping__mappings .mapping-item .mapping-header code{background:#f8f9fa;border-radius:3px;font-size:.9rem;padding:.25rem .5rem}.visual-mapping__mappings .mapping-item .mapping-details{color:#6c757d;font-size:.85rem}.badge{border-radius:3px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.badge-success{background:#d4edda;color:#155724}.badge-secondary{background:#e2e3e5;color:#383d41}.badge-primary{background:#cce7ff;color:#004085}.alert{border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem}.alert-info{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.btn{display:inline-block;font-size:1rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s}.btn-primary{background:#3498db}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-success{background:#27ae60;color:#fff}.btn-success:hover:not(:disabled){background:#229954}.btn-outline{background:#0000;border:2px solid #3498db;color:#3498db}.btn-outline:hover:not(:disabled){background:#3498db;color:#fff}.ejs-variable-highlight{background-color:#fff3cd!important}.ejs-variable-inline{color:#856404!important;font-weight:700!important}@media(max-width:768px){.visual-mapping{padding:1rem}.visual-mapping .patterns-grid,.visual-mapping__form .form-row{grid-template-columns:1fr}.visual-mapping .form-actions{flex-direction:column}}.template-manager .status-message{border-radius:6px;font-size:.9rem;margin:1rem 0;padding:.75rem 1rem}.template-manager .status-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.template-manager .status-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.template-manager .status-message.info{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.figma-template-manager{background:#fff;border-radius:8px;box-shadow:0 .5rem 1rem #00000026;margin:5% auto;max-width:900px;padding:2rem}.figma-template-manager .header{align-items:center;border-bottom:2px solid #f8f9fa;display:flex;margin-bottom:2rem;padding-bottom:1rem}.figma-template-manager .header .back-button{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-right:1rem;padding:.5rem 1rem;transition:all .3s ease-in-out}.figma-template-manager .header .back-button:hover{background:#545b62;transform:translateX(-2px)}.figma-template-manager .header h2{color:#343a40;font-size:1.75rem;font-weight:600;margin:0}.figma-template-manager .form-section{margin-bottom:2rem}.figma-template-manager .form-section .form-group{margin-bottom:1.5rem}.figma-template-manager .form-section .form-group label{color:#343a40;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.figma-template-manager .form-section .form-group .input-group{align-items:stretch;display:flex;gap:.75rem}.figma-template-manager .form-section .form-group .input-group .form-control{border:2px solid #e9ecef;border-radius:4px;flex:1 1;font-size:.95rem;max-width:95%;padding:.75rem 1rem;transition:all .3s ease-in-out}.figma-template-manager .form-section .form-group .input-group .form-control:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.figma-template-manager .form-section .form-group .input-group .form-control::placeholder{color:#6c757d}.figma-template-manager .form-section .form-group .input-group .btn-secondary{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease-in-out;white-space:nowrap}.figma-template-manager .form-section .form-group .input-group .btn-secondary:hover:not(:disabled){background:#117a8b;transform:translateY(-1px)}.figma-template-manager .form-section .form-group .input-group .btn-secondary:disabled{cursor:not-allowed;opacity:.6}.figma-template-manager .form-section .form-group .btn-preview{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease-in-out}.figma-template-manager .form-section .form-group .btn-preview:hover:not(:disabled){background:#1e7e34;transform:translateY(-1px)}.figma-template-manager .form-section .form-group .btn-preview:disabled{cursor:not-allowed;opacity:.6}.figma-template-manager .form-section .form-group .form-control{border:2px solid #e9ecef;border-radius:4px;font-size:.95rem;padding:.75rem 1rem;transition:all .3s ease-in-out;width:95%}.figma-template-manager .form-section .form-group .form-control:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.figma-template-manager .form-section .form-group .success-indicator{align-items:center;color:#28a745;display:flex;font-size:.85rem;font-weight:500;gap:.25rem;margin-top:.5rem}.figma-template-manager .form-section .frame-selection{background:#f8f9fa;border-left:4px solid #17a2b8;border-radius:4px;padding:1rem}.figma-template-manager .generate-section{margin:2rem 0;text-align:center}.figma-template-manager .generate-section .btn-generate{background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:8px;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease-in-out}.figma-template-manager .generate-section .btn-generate:hover:not(:disabled){box-shadow:0 .5rem 1rem #00000026;transform:translateY(-2px)}.figma-template-manager .generate-section .btn-generate:disabled{cursor:not-allowed;opacity:.6;transform:none}.figma-template-manager .alert{border:1px solid #0000;border-radius:4px;margin-top:1.5rem;padding:1rem 1.25rem}.figma-template-manager .alert.alert-danger{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.figma-template-manager .alert.alert-success{background:#d4edda;border-color:#c3e6cb;color:#155724}.figma-template-manager .alert.alert-success h4{font-size:1.1rem;margin-bottom:.75rem}.figma-template-manager .alert.alert-success p{margin-bottom:.5rem}.figma-template-manager .alert.alert-success p:last-child{margin-bottom:0}.figma-template-manager .alert.alert-success p strong{font-weight:600}.figma-template-manager .alert.alert-success p a{color:#0c5460;font-weight:500;text-decoration:none}.figma-template-manager .alert.alert-success p a:hover{text-decoration:underline}@media(min-width:768px){.figma-template-manager{padding:1.5rem}.figma-template-manager .header{align-items:flex-start;flex-direction:column;gap:1rem}.figma-template-manager .header .back-button{margin-right:0}.figma-template-manager .form-group .input-group{flex-direction:column;gap:.5rem}}.template-editor-page{background-color:#f8f9fa;min-height:100vh}.template-editor-page .editor-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;gap:1rem;padding:1rem 2rem}.template-editor-page .editor-header h1{color:#333;font-size:1.5rem;margin:0}.template-editor-page .editor-content{margin:0 auto;max-width:none;padding:2rem}.template-editor-page .status-message{border-radius:4px;margin-bottom:1.5rem;padding:1rem}.template-editor-page .status-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.template-editor-page .status-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.template-editor-page .editor-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:2rem}.template-editor-page .editor-tabs button{background:none;border:none;border-bottom:2px solid #0000;cursor:pointer;padding:.75rem 1.5rem;transition:all .2s}.template-editor-page .editor-tabs button.active{border-bottom-color:#007bff;color:#007bff;font-weight:600}.template-editor-page .editor-tabs button:hover{background-color:#f8f9fa}.template-editor-page .code-editor-section .editor-actions{margin-bottom:1.5rem}.template-editor-page .code-editor-section .code-editors{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.template-editor-page .code-editor-section .editor-panel{background:#fff;border:1px solid #dee2e6;border-radius:8px;height:100vh;overflow:hidden}.template-editor-page .code-editor-section .editor-panel h4{background:#f8f9fa;border-bottom:1px solid #dee2e6;color:#495057;font-size:1rem;margin:0;padding:1rem}.template-editor-page .code-editor-section .editor-panel .code-editor{background:#fafafa;border:none;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;outline:none;padding:1rem;resize:none;width:100%}.template-editor-page .code-editor-section .editor-panel .code-editor:focus{background:#fff}.template-editor-page .code-editor-section .preview-panel{background:#fff;border:1px solid #dee2e6;border-radius:8px;height:100vh;margin-bottom:10rem;margin-top:0;max-width:80%;min-height:50vh;overflow:hidden}.template-editor-page .code-editor-section .preview-panel h4{background:#f8f9fa;border-bottom:1px solid #dee2e6;color:#495057;font-size:1rem;margin:0;padding:1rem}.template-editor-page .code-editor-section .preview-panel .preview-container{background:#f8f9fa;padding:0}.template-editor-page .code-editor-section .preview-panel .preview-iframe{background:#fff;border:2px solid #dee2e6;border-radius:0;display:block;height:600px;min-height:500px;width:100%}.template-editor-page .editor-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem}.resizable-editor{border:1px solid #ddd;border-radius:8px;display:flex;height:600px;overflow:hidden;position:relative}.resizable-editor .editor-container{border-right:1px solid #ddd;display:flex;flex-direction:column;position:relative}.resizable-editor .editor-tabs{background:#f8f9fa;border-bottom:1px solid #ddd;display:flex}.resizable-editor .editor-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;cursor:pointer;padding:8px 16px}.resizable-editor .editor-tabs button.active{background:#007bff;border-bottom-color:#0056b3;color:#fff}.resizable-editor .editor-tabs button:hover:not(.active){background:#e9ecef}.resizable-editor .editor-content{border-bottom:1px solid #ddd;position:relative}.resizable-editor .editor-bottom{position:relative}.resizable-editor .resize-handle{background:#007bff;cursor:resize;opacity:.7;position:absolute;transition:opacity .2s;z-index:100}.resizable-editor .resize-handle:hover{background:#0056b3;opacity:1}.resizable-editor .resize-handle.horizontal{border-radius:3px;cursor:ns-resize;height:6px;left:0;right:0}.resizable-editor .resize-handle.vertical{border-radius:3px;bottom:0;cursor:ew-resize;margin-left:-3px;top:0;width:6px}.resizable-editor .preview-container{display:flex;flex-direction:column;position:relative}.resizable-editor .preview-header{background:#f8f9fa;border-bottom:1px solid #ddd;padding:8px 16px}.resizable-editor .preview-header h4{color:#495057;font-size:14px;margin:0}.resizable-editor .preview-frame{border:none;flex:1 1;height:100%;width:100%}@media(max-width:768px){.resizable-editor{flex-direction:column;height:auto}.resizable-editor .editor-container{border-bottom:1px solid #ddd;border-right:none;height:400px;width:100%!important}.resizable-editor .preview-container{height:400px;width:100%!important}.resizable-editor .resize-handle.vertical{display:none}}.template-editor-tab .section-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:1.5rem}.template-editor-tab .section-tabs button{background:none;border:none;border-bottom:2px solid #0000;cursor:pointer;padding:.75rem 1.5rem;transition:all .2s}.template-editor-tab .section-tabs button.active{border-bottom-color:#007bff;color:#007bff;font-weight:600}.template-editor-tab .section-tabs button:hover{background-color:#f8f9fa}.template-editor-tab .content-editor .editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.template-editor-tab .content-editor .editor-header h4{margin:0}.template-editor-tab .content-editor .code-editor{border:1px solid #ddd;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;padding:1rem;resize:vertical;width:100%}.template-editor-tab .content-editor .code-editor:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.template-editor-tab .images-section h4,.template-editor-tab .mapping-section h4{margin-bottom:1rem}.landing-page-details{margin:0 auto;max-width:1200px;padding:20px}.header{align-items:center;display:flex;gap:20px;margin:30px 0}.page-title{color:#333;font-size:36px;font-weight:700;margin:0}.back-button{background:#0fd35a;border:1px solid #ddd;border-radius:4px;color:#fffdfd;cursor:pointer;padding:8px 16px;text-decoration:none}.back-button:hover{background:#e9e9e9}.tabs{border-bottom:2px solid #eee;display:flex;margin-bottom:30px}.tabs button{background:none;border:none;border-bottom:2px solid #0000;cursor:pointer;font-size:16px;padding:12px 24px}.tabs button.active{border-bottom-color:#007cba;color:#007cba;font-weight:700}.tabs button:hover{background:#f5f5f5}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.info-card{background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:20px}.info-card h3{border-bottom:1px solid #ddd;color:#333;margin-top:0;padding-bottom:10px}.info-card p{margin:10px 0}.file-card{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;padding:20px}.file-card h4{color:#007cba;margin-top:0}.download-btn{background:#007cba;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:10px;padding:8px 16px}.download-btn:hover{background:#005a8b}.analytics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.metric-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;text-align:center}.metric-card h4{color:#666;font-size:14px;margin-top:0;text-transform:uppercase}.metric-value{color:#007cba;font-size:32px;font-weight:700}.analytics-info{background:#f9f9f9;border-left:4px solid #007cba;border-radius:4px;padding:15px}.error,.loading{font-size:18px;padding:40px;text-align:center}.error{background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;color:#d32f2f}.s3-settings-tab{padding:20px}.s3-settings-tab h3{color:#333;margin-bottom:20px}.message{border-radius:4px;margin-bottom:20px;padding:10px 15px}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.s3-config-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.s3-config-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.s3-config-card h4{border-bottom:1px solid #eee;color:#007cba;margin-bottom:15px;margin-top:0;padding-bottom:10px}.form-group{margin-bottom:15px}.form-group label{color:#555;display:block;font-weight:700;margin-bottom:5px}.form-control{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:90%}.form-control:focus{border-color:#007cba;box-shadow:0 0 0 2px #007cba33;outline:none}.save-actions{border-top:1px solid #eee;padding-top:20px;text-align:center}.btn{font-size:14px;font-weight:700;padding:10px 20px}.btn-primary{background:#007cba;color:#fff}.btn-primary:hover:not(:disabled){background:#005a8b}.btn:disabled{cursor:not-allowed;opacity:.6}.records-table-container{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1rem}.records-table-container h5{color:#333;font-weight:600;margin-bottom:1rem}.table-wrapper{border:1px solid #ddd;border-radius:4px;max-height:400px;overflow-x:auto;overflow-y:auto}.records-table{border-collapse:collapse;font-size:.9rem;width:100%}.records-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;font-weight:600;padding:.75rem .5rem;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.records-table td{border-bottom:1px solid #dee2e6;max-width:150px;overflow:hidden;padding:.5rem;text-overflow:ellipsis;white-space:nowrap}.records-table tr:hover{background-color:#f8f9fa}.token-cell{background-color:#fff3cd!important;font-family:monospace;font-weight:600}.url-link{border:1px solid #007bff;border-radius:3px;color:#007bff;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .5rem;text-decoration:none}.url-link:hover{background-color:#007bff;color:#fff;text-decoration:none}.table-note{background-color:#f8f9fa;border-top:1px solid #dee2e6;color:#666;font-style:italic;margin:0;padding:.5rem;text-align:center}.analytics-tab .analytics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.analytics-tab .analytics-header h3{color:#333;margin:0}.analytics-tab .analytics-nav{display:flex;gap:.5rem}.analytics-tab .nav-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.analytics-tab .nav-btn:hover{background:#f8f9fa;border-color:#007cba}.analytics-tab .nav-btn.active{background:#007cba;border-color:#007cba;color:#fff}.analytics-tab .comparison-content,.analytics-tab .overview-content{margin-top:1rem}.analytics-tab .conversion-funnel{border:1px solid #ddd;border-radius:8px;margin-top:2rem;padding:1rem}.analytics-tab .funnel-stage{margin-bottom:1rem}.analytics-tab .stage-info{display:flex;justify-content:space-between;margin-bottom:.5rem}.analytics-tab .stage-bar{background:#f0f0f0;border-radius:10px;height:20px;overflow:hidden}.analytics-tab .stage-fill{background:linear-gradient(90deg,#4caf50,#45a049);height:100%;transition:width .3s ease}.generate-new-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.generate-new-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.go-back-button{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.go-back-button:hover{background:#5a6268}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;width:100%}.login-form h2{color:#333;margin-bottom:1.5rem;text-align:center}.login-form .form-group{margin-bottom:1rem}.login-form label{color:#555;display:block;font-weight:700;margin-bottom:.5rem}.login-form input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.login-form input:focus{border-color:#007cba;box-shadow:0 0 0 2px #007cba33;outline:none}.login-form button{background:#007cba;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem;width:100%}.login-form button:hover:not(:disabled){background:#005a8b}.login-form button:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#ffebee;border-radius:4px;color:#d32f2f;margin:.5rem 0;padding:.5rem;text-align:center}.auth-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1rem 2rem}.logout-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.logout-btn:hover{background:#c82333}.campaign-comparison-chart{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.comparison-header{margin-bottom:2rem}.comparison-header h3{color:#333;font-size:1.5rem;margin:0 0 .5rem}.comparison-header p{color:#666;font-size:.9rem;margin:0}.comparison-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-rows:auto 1fr auto;min-height:500px}.campaigns-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;max-height:-webkit-fit-content;max-height:fit-content;padding:1rem}.panel-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.panel-header h4{color:#495057;font-size:1rem;margin:0}.selection-count{background:#e9ecef;border-radius:12px;color:#6c757d;font-size:.8rem;padding:.2rem .5rem}.campaigns-list{display:flex;flex-direction:row;gap:20px;max-height:400px;overflow-y:auto}.campaign-item{background:#fff;border:1px solid #e9ecef;border-radius:4px;margin-bottom:.75rem;max-width:-webkit-fit-content;max-width:fit-content;padding:.75rem}.campaign-item:hover{border-color:#007cba}.campaign-checkbox{align-items:flex-start;cursor:pointer;display:flex}.campaign-checkbox input[type=checkbox]{margin-right:.5rem;margin-top:.1rem}.campaign-name{color:#495057;display:block;font-weight:500;margin-bottom:.25rem}.campaign-info{color:#6c757d;font-size:.8rem;margin-top:.5rem}.date-range{margin-bottom:.25rem}.no-data{color:#dc3545;font-style:italic}.record-count{font-weight:500}.chart-panel{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:1rem}.chart-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.chart-header h4{color:#495057;margin:0}.date-range-picker{display:flex;gap:1rem}.date-input-group{display:flex;flex-direction:column}.date-input-group label{color:#6c757d;font-size:.8rem;margin-bottom:.25rem}.date-input{border:1px solid #ced4da;border-radius:4px;font-size:.875rem;padding:.375rem .5rem}.date-input:focus{border-color:#007cba;box-shadow:0 0 0 2px #007cba33;outline:none}.chart-container{align-items:center;display:flex;height:400px;justify-content:center}.chart-container .chart-area{height:100%;position:relative;width:100%}.chart-container .chart-area canvas{max-height:100%!important}.chart-container .chart-loading{color:#6c757d;font-style:italic}.chart-container .chart-error,.chart-container .chart-loading{align-items:center;display:flex;height:100%;justify-content:center}.chart-container .chart-error{color:#dc3545;flex-direction:column;text-align:center}.chart-container .chart-error p{margin-bottom:1rem}.chart-container .chart-error .retry-chart-btn{background:#007cba;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.chart-container .chart-error .retry-chart-btn:hover{background:#005a8b}.chart-placeholder{color:#6c757d;text-align:center}.chart-placeholder .placeholder-content h5{color:#495057;margin:0 0 .5rem}.chart-placeholder .placeholder-content p{font-size:.9rem;margin:0}.chart-coming-soon{text-align:center;width:100%}.chart-coming-soon h5{color:#495057;margin:0 0 1rem}.chart-coming-soon p{color:#6c757d;font-size:.9rem;margin:.5rem 0}.chart-placeholder-box{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:6px;color:#6c757d;font-style:italic;margin-top:1rem;padding:2rem}.metrics-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;max-height:-webkit-fit-content;max-height:fit-content;padding:1rem}.metrics-list{display:flex;margin-bottom:1.5rem}.metric-item{margin-bottom:.5rem}.metric-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;padding:.5rem}.metric-checkbox:hover{background:#007cba1a}.metric-checkbox input[type=checkbox]{margin-right:.5rem}.metric-checkbox span{color:#495057;font-size:.9rem}.panel-actions{border-top:1px solid #dee2e6;padding-top:1rem}.btn{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;width:100%}.btn.btn-secondary{background:#6c757d;color:#fff}.btn.btn-secondary:hover:not(:disabled){background:#5a6268}.btn.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.campaign-comparison-error,.campaign-comparison-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}.loading-spinner{color:#6c757d;font-size:1.1rem}.error-message{color:#dc3545;margin-bottom:1rem}.refresh-btn,.retry-btn{background:#007cba;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.refresh-btn:hover,.retry-btn:hover{background:#005a8b}.no-campaigns{color:#6c757d;padding:2rem 1rem;text-align:center}.no-campaigns p{margin-bottom:1rem}.campaign-deep-dive{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.deep-dive-header{margin-bottom:2rem}.deep-dive-header h3{color:#333;font-size:1.5rem;margin:0 0 .5rem}.deep-dive-header p{color:#666;font-size:.9rem;margin:0}.deep-dive-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:300px 1fr;margin-bottom:2rem}.analysis-panel{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:1rem}.analysis-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.analysis-header h4{color:#495057;margin:0}.analysis-tabs{display:flex;gap:.5rem}.analysis-tabs button{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.analysis-tabs button.active{background:#007cba;border-color:#007cba;color:#fff}.analysis-tabs button:hover:not(.active){background:#e9ecef}.analysis-content{height:400px}.timeline-view{height:100%}.journey-view{height:100%;overflow-y:auto}.journey-map{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:100px repeat(6,1fr)}.journey-stages{display:contents}.stage-header{background:#f8f9fa;border-radius:4px;color:#495057;font-size:.8rem;font-weight:500;padding:.5rem;text-align:center}.journey-record{display:contents}.journey-record .record-id{color:#6c757d;font-size:.8rem;padding:.5rem}.journey-record .journey-step{border-radius:4px;padding:.5rem;text-align:center}.journey-record .journey-step.completed{background:#d4edda;color:#155724}.journey-record .journey-step.incomplete{background:#f8d7da;color:#721c24}.funnel-view{padding:2rem}.funnel-chart{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:600px}.funnel-stage .stage-bar{align-items:center;border-radius:4px;color:#fff;display:flex;justify-content:space-between;padding:1rem}.funnel-stage .stage-bar .stage-label{font-weight:500}.funnel-stage .stage-bar .stage-count{font-size:.9rem}.bottom-panel{grid-gap:1.5rem;border-top:1px solid #e9ecef;display:grid;gap:1.5rem;grid-template-columns:1fr 300px;padding-top:1.5rem}.correlation-matrix h4{color:#495057;margin:0 0 1rem}.correlation-grid{grid-gap:.25rem;display:grid;gap:.25rem}.correlation-row{grid-gap:.25rem;align-items:center;display:grid;gap:.25rem;grid-template-columns:120px repeat(4,1fr)}.correlation-row .var-label{color:#495057;font-size:.8rem;font-weight:500}.correlation-row .correlation-cell{border-radius:2px;color:#fff;font-size:.8rem;font-weight:500;padding:.5rem;text-align:center}.heatmap-view{padding:2rem}.customer-heatmap h5{color:#495057;margin:0 0 1.5rem;text-align:center}.heatmap-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:100px repeat(3,1fr);margin:0 auto;max-width:500px}.heatmap-labels{display:contents}.heatmap-labels .label-corner{background:#f8f9fa}.heatmap-labels .segment-label{background:#f8f9fa;border-radius:4px;color:#495057;font-size:.8rem;font-weight:500;padding:.75rem;text-align:center}.heatmap-row{display:contents}.heatmap-row .behavior-label{background:#f8f9fa;border-radius:4px;color:#495057;font-size:.8rem;font-weight:500;padding:.75rem;text-align:center}.heatmap-row .heatmap-cell{border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:1rem;text-align:center;transition:transform .2s}.heatmap-row .heatmap-cell:hover{transform:scale(1.05)}.scatter-view{padding:2rem}.scatter-plot h5{color:#495057;margin:0 0 1.5rem;text-align:center}.scatter-container{display:flex;justify-content:center}.scatter-chart{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:1rem}.scatter-svg .scatter-point{cursor:pointer;transition:r .2s}.scatter-svg .scatter-point:hover{r:6}.selection-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1rem}.records-section,.variables-section{margin-bottom:1.5rem}.records-section h4,.variables-section h4{color:#495057;font-size:1rem;margin:0 0 1rem}.records-list{max-height:300px;overflow-y:auto}.record-checkbox,.variable-checkbox{border-radius:4px;cursor:pointer;display:block;margin-bottom:.5rem;padding:.5rem}.record-checkbox:hover,.variable-checkbox:hover{background:#007cba1a}.record-checkbox input,.variable-checkbox input{margin-right:.5rem}.record-checkbox span,.variable-checkbox span{color:#495057;font-size:.9rem}.record-checkbox small,.variable-checkbox small{color:#6c757d;display:block;font-size:.8rem;margin-left:1.5rem}.record-details{border-top:1px solid #e9ecef;padding-top:1.5rem}.record-details h4{color:#495057;margin:0 0 1rem}.details-table{overflow-x:auto}.details-table table{border-collapse:collapse;width:100%}.details-table table td,.details-table table th{border-bottom:1px solid #e9ecef;padding:.75rem;text-align:left}.details-table table th{background:#f8f9fa;color:#495057;font-weight:500}.details-table table td{color:#6c757d}.campaign-deep-dive-empty,.campaign-deep-dive-loading{align-items:center;color:#6c757d;display:flex;justify-content:center;min-height:300px;text-align:center}@media(max-width:1200px){.comparison-layout{gap:1rem;grid-template-columns:250px 1fr 200px}.deep-dive-layout{grid-template-columns:250px 1fr}.heatmap-grid{grid-template-columns:80px repeat(3,1fr)}.scatter-chart{overflow-x:auto}}@media(max-width:768px){.comparison-layout{gap:1rem}.comparison-layout,.deep-dive-layout{grid-template-columns:1fr}.chart-header{align-items:flex-start;flex-direction:column;gap:1rem}.date-range-picker{width:100%}}.emarsys-dashboard{margin:0 auto;max-width:1200px;padding:20px}.emarsys-dashboard .dashboard-header{margin-bottom:30px;text-align:center}.emarsys-dashboard .dashboard-header h1{color:#2c3e50;margin-bottom:10px}.emarsys-dashboard .dashboard-header p{color:#7f8c8d;font-size:16px}.emarsys-dashboard .tab-navigation{border-bottom:2px solid #ecf0f1;display:flex;justify-content:center;margin-bottom:30px}.emarsys-dashboard .tab-navigation button{background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;font-size:16px;padding:15px 30px;transition:all .3s ease}.emarsys-dashboard .tab-navigation button:hover{background-color:#f8f9fa;color:#3498db}.emarsys-dashboard .tab-navigation button.active{border-bottom-color:#3498db;color:#3498db;font-weight:600}.emarsys-dashboard .tab-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.emarsys-api-testing .header{margin-bottom:30px;text-align:center}.emarsys-api-testing .header h1{color:#2c3e50;margin-bottom:10px}.emarsys-api-testing .header p{color:#7f8c8d}.emarsys-api-testing .credentials-info{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.emarsys-api-testing .credentials-info h2{color:#2c3e50;margin-bottom:15px}.emarsys-api-testing .credentials-info .credential-item{margin-bottom:10px}.emarsys-api-testing .credentials-info .credential-item strong{color:#2c3e50}.emarsys-api-testing .credentials-info .credential-item code{background:#e9ecef;border-radius:4px;color:#e74c3c;font-family:Courier New,monospace;padding:4px 8px}.emarsys-api-testing .test-section,.emarsys-api-testing .upload-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px}.emarsys-api-testing .test-section h2,.emarsys-api-testing .upload-section h2{color:#2c3e50;margin-bottom:20px}.emarsys-api-testing .test-section .test-buttons,.emarsys-api-testing .upload-section .test-buttons{display:flex;flex-wrap:wrap;gap:15px}.emarsys-api-testing .test-section .form-group,.emarsys-api-testing .upload-section .form-group{margin-bottom:15px}.emarsys-api-testing .test-section .form-group label,.emarsys-api-testing .upload-section .form-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:5px}.emarsys-api-testing .test-section .form-group input,.emarsys-api-testing .upload-section .form-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.emarsys-api-testing .test-section .form-group input:focus,.emarsys-api-testing .upload-section .form-group input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.emarsys-api-testing .test-section button,.emarsys-api-testing .upload-section button{background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background-color .3s ease}.emarsys-api-testing .test-section button:hover:not(:disabled),.emarsys-api-testing .upload-section button:hover:not(:disabled){background:#2980b9}.emarsys-api-testing .test-section button:disabled,.emarsys-api-testing .upload-section button:disabled{background:#bdc3c7;cursor:not-allowed}.emarsys-api-testing .test-section button.clear-btn,.emarsys-api-testing .upload-section button.clear-btn{background:#e74c3c}.emarsys-api-testing .test-section button.clear-btn:hover:not(:disabled),.emarsys-api-testing .upload-section button.clear-btn:hover:not(:disabled){background:#c0392b}.emarsys-api-testing .curl-examples{background:#2c3e50;border-radius:8px;color:#fff;margin-bottom:30px;padding:20px}.emarsys-api-testing .curl-examples h2,.emarsys-api-testing .curl-examples h3{color:#fff;margin-bottom:15px}.emarsys-api-testing .curl-examples .curl-block{margin-bottom:25px}.emarsys-api-testing .curl-examples .curl-block pre{background:#2c3e50;border-radius:4px;color:#43ee5d;font-family:Courier New,monospace;font-size:16px;font-weight:900;line-height:1.4;overflow-x:auto;padding:15px}.emarsys-api-testing .results{border-radius:8px;margin-bottom:30px;padding:20px}.emarsys-api-testing .results.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724;margin-top:20px}.emarsys-api-testing .results.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.emarsys-api-testing .results h2{margin-bottom:15px}.emarsys-api-testing .results pre{background:#0000000d;border-radius:4px;font-family:Courier New,monospace;font-size:16px;line-height:1.4;overflow-x:auto;padding:15px;white-space:pre-wrap}.emarsys-api-testing .file-list{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px}.emarsys-api-testing .file-list h3{border-bottom:2px solid #3498db;color:#2c3e50;margin-bottom:20px;padding-bottom:10px}.emarsys-api-testing .file-list .campaign-section{margin-bottom:25px}.emarsys-api-testing .file-list .campaign-section h4{color:#34495e;font-size:16px;margin-bottom:15px}.emarsys-api-testing .file-list .campaign-section .files-grid{grid-gap:10px;display:grid;gap:10px}@media(max-width:768px){.emarsys-api-testing .file-list .campaign-section .files-grid{gap:8px}}.emarsys-api-testing .file-list .campaign-section .files-grid .file-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:12px 15px;transition:all .3s ease}@media(max-width:768px){.emarsys-api-testing .file-list .campaign-section .files-grid .file-item{align-items:stretch;flex-direction:column;gap:10px;padding:15px}}.emarsys-api-testing .file-list .campaign-section .files-grid .file-item:hover{background:#e3f2fd;border-color:#3498db}.emarsys-api-testing .file-list .campaign-section .files-grid .file-item .file-name{color:#2c3e50;flex:1 1;font-family:Courier New,monospace;font-size:14px}.emarsys-api-testing .file-list .campaign-section .files-grid .file-item .download-btn{background:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:background-color .3s ease}.emarsys-api-testing .file-list .campaign-section .files-grid .file-item .download-btn:hover:not(:disabled){background:#219a52}.emarsys-api-testing .file-list .campaign-section .files-grid .file-item .download-btn:disabled{background:#bdc3c7;cursor:not-allowed}.emarsys-api-testing .file-list .file-summary{background:#e8f5e8;border-radius:6px;color:#2c3e50;font-weight:600;margin-top:20px;padding:15px;text-align:center}.emarsys-api-testing .loading{align-items:center;display:flex;justify-content:center;padding:40px}.emarsys-api-testing .loading .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin-right:15px;width:40px}.emarsys-api-testing .loading p{color:#7f8c8d;font-size:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.emarsys-documentation .header{margin-bottom:30px;text-align:center}.emarsys-documentation .header h1{color:#2c3e50;margin-bottom:10px}.emarsys-documentation .header p{color:#7f8c8d}.emarsys-documentation .quick-start{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.emarsys-documentation .quick-start h2{color:#2c3e50;margin-bottom:20px}.emarsys-documentation .quick-start .credentials{margin-bottom:20px}.emarsys-documentation .quick-start .credentials .credential-item{margin-bottom:10px}.emarsys-documentation .quick-start .credentials .credential-item strong{color:#2c3e50}.emarsys-documentation .quick-start .credentials .credential-item code{background:#e9ecef;border-radius:4px;color:#e74c3c;font-family:Courier New,monospace;padding:4px 8px}.emarsys-documentation .quick-start .test-connectivity h3{color:#2c3e50;margin-bottom:10px}.emarsys-documentation .quick-start .test-connectivity pre{background:#2c3e50;border-radius:4px;color:#43ee5d;font-family:Courier New,monospace;font-size:16px;font-weight:900;line-height:1.4;overflow-x:auto;padding:15px}.emarsys-documentation .endpoints{margin-bottom:30px}.emarsys-documentation .endpoints h2{color:#2c3e50;margin-bottom:25px}.emarsys-documentation .endpoints .endpoint{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:25px;padding:20px}.emarsys-documentation .endpoints .endpoint h3{align-items:center;color:#2c3e50;display:flex;gap:15px;margin-bottom:15px}.emarsys-documentation .endpoints .endpoint .method{background:#27ae60;border-radius:4px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.emarsys-documentation .endpoints .endpoint .method.post{background:#f39c12}.emarsys-documentation .endpoints .endpoint .url{background:#f8f9fa;border-radius:4px;color:#2c3e50;font-family:Courier New,monospace;margin-bottom:15px;padding:8px 12px}.emarsys-documentation .endpoints .endpoint h4{color:#2c3e50;margin:20px 0 10px}.emarsys-documentation .endpoints .endpoint pre{background:#2c3e50;border-radius:4px;color:#43ee5d;font-family:Courier New,monospace;font-size:16px;font-weight:900;line-height:1.4;overflow-x:auto;padding:15px}.emarsys-documentation .error-handling,.emarsys-documentation .file-types,.emarsys-documentation .security,.emarsys-documentation .support,.emarsys-documentation .testing,.emarsys-documentation .workflow{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:25px;padding:20px}.emarsys-documentation .error-handling h2,.emarsys-documentation .file-types h2,.emarsys-documentation .security h2,.emarsys-documentation .support h2,.emarsys-documentation .testing h2,.emarsys-documentation .workflow h2{color:#2c3e50;margin-bottom:20px}.emarsys-documentation .error-handling h3,.emarsys-documentation .file-types h3,.emarsys-documentation .security h3,.emarsys-documentation .support h3,.emarsys-documentation .testing h3,.emarsys-documentation .workflow h3{color:#34495e;margin-bottom:15px}.emarsys-documentation .error-handling .error-example,.emarsys-documentation .error-handling .file-type,.emarsys-documentation .error-handling .scenario,.emarsys-documentation .error-handling .status-codes,.emarsys-documentation .file-types .error-example,.emarsys-documentation .file-types .file-type,.emarsys-documentation .file-types .scenario,.emarsys-documentation .file-types .status-codes,.emarsys-documentation .security .error-example,.emarsys-documentation .security .file-type,.emarsys-documentation .security .scenario,.emarsys-documentation .security .status-codes,.emarsys-documentation .support .error-example,.emarsys-documentation .support .file-type,.emarsys-documentation .support .scenario,.emarsys-documentation .support .status-codes,.emarsys-documentation .testing .error-example,.emarsys-documentation .testing .file-type,.emarsys-documentation .testing .scenario,.emarsys-documentation .testing .status-codes,.emarsys-documentation .workflow .error-example,.emarsys-documentation .workflow .file-type,.emarsys-documentation .workflow .scenario,.emarsys-documentation .workflow .status-codes{margin-bottom:20px}.emarsys-documentation .error-handling .error-example ol,.emarsys-documentation .error-handling .error-example ul,.emarsys-documentation .error-handling .file-type ol,.emarsys-documentation .error-handling .file-type ul,.emarsys-documentation .error-handling .scenario ol,.emarsys-documentation .error-handling .scenario ul,.emarsys-documentation .error-handling .status-codes ol,.emarsys-documentation .error-handling .status-codes ul,.emarsys-documentation .file-types .error-example ol,.emarsys-documentation .file-types .error-example ul,.emarsys-documentation .file-types .file-type ol,.emarsys-documentation .file-types .file-type ul,.emarsys-documentation .file-types .scenario ol,.emarsys-documentation .file-types .scenario ul,.emarsys-documentation .file-types .status-codes ol,.emarsys-documentation .file-types .status-codes ul,.emarsys-documentation .security .error-example ol,.emarsys-documentation .security .error-example ul,.emarsys-documentation .security .file-type ol,.emarsys-documentation .security .file-type ul,.emarsys-documentation .security .scenario ol,.emarsys-documentation .security .scenario ul,.emarsys-documentation .security .status-codes ol,.emarsys-documentation .security .status-codes ul,.emarsys-documentation .support .error-example ol,.emarsys-documentation .support .error-example ul,.emarsys-documentation .support .file-type ol,.emarsys-documentation .support .file-type ul,.emarsys-documentation .support .scenario ol,.emarsys-documentation .support .scenario ul,.emarsys-documentation .support .status-codes ol,.emarsys-documentation .support .status-codes ul,.emarsys-documentation .testing .error-example ol,.emarsys-documentation .testing .error-example ul,.emarsys-documentation .testing .file-type ol,.emarsys-documentation .testing .file-type ul,.emarsys-documentation .testing .scenario ol,.emarsys-documentation .testing .scenario ul,.emarsys-documentation .testing .status-codes ol,.emarsys-documentation .testing .status-codes ul,.emarsys-documentation .workflow .error-example ol,.emarsys-documentation .workflow .error-example ul,.emarsys-documentation .workflow .file-type ol,.emarsys-documentation .workflow .file-type ul,.emarsys-documentation .workflow .scenario ol,.emarsys-documentation .workflow .scenario ul,.emarsys-documentation .workflow .status-codes ol,.emarsys-documentation .workflow .status-codes ul{margin-left:20px}.emarsys-documentation .error-handling .error-example ol li,.emarsys-documentation .error-handling .error-example ul li,.emarsys-documentation .error-handling .file-type ol li,.emarsys-documentation .error-handling .file-type ul li,.emarsys-documentation .error-handling .scenario ol li,.emarsys-documentation .error-handling .scenario ul li,.emarsys-documentation .error-handling .status-codes ol li,.emarsys-documentation .error-handling .status-codes ul li,.emarsys-documentation .file-types .error-example ol li,.emarsys-documentation .file-types .error-example ul li,.emarsys-documentation .file-types .file-type ol li,.emarsys-documentation .file-types .file-type ul li,.emarsys-documentation .file-types .scenario ol li,.emarsys-documentation .file-types .scenario ul li,.emarsys-documentation .file-types .status-codes ol li,.emarsys-documentation .file-types .status-codes ul li,.emarsys-documentation .security .error-example ol li,.emarsys-documentation .security .error-example ul li,.emarsys-documentation .security .file-type ol li,.emarsys-documentation .security .file-type ul li,.emarsys-documentation .security .scenario ol li,.emarsys-documentation .security .scenario ul li,.emarsys-documentation .security .status-codes ol li,.emarsys-documentation .security .status-codes ul li,.emarsys-documentation .support .error-example ol li,.emarsys-documentation .support .error-example ul li,.emarsys-documentation .support .file-type ol li,.emarsys-documentation .support .file-type ul li,.emarsys-documentation .support .scenario ol li,.emarsys-documentation .support .scenario ul li,.emarsys-documentation .support .status-codes ol li,.emarsys-documentation .support .status-codes ul li,.emarsys-documentation .testing .error-example ol li,.emarsys-documentation .testing .error-example ul li,.emarsys-documentation .testing .file-type ol li,.emarsys-documentation .testing .file-type ul li,.emarsys-documentation .testing .scenario ol li,.emarsys-documentation .testing .scenario ul li,.emarsys-documentation .testing .status-codes ol li,.emarsys-documentation .testing .status-codes ul li,.emarsys-documentation .workflow .error-example ol li,.emarsys-documentation .workflow .error-example ul li,.emarsys-documentation .workflow .file-type ol li,.emarsys-documentation .workflow .file-type ul li,.emarsys-documentation .workflow .scenario ol li,.emarsys-documentation .workflow .scenario ul li,.emarsys-documentation .workflow .status-codes ol li,.emarsys-documentation .workflow .status-codes ul li{line-height:1.5;margin-bottom:8px}.emarsys-documentation .error-handling .error-example ol li strong,.emarsys-documentation .error-handling .error-example ul li strong,.emarsys-documentation .error-handling .file-type ol li strong,.emarsys-documentation .error-handling .file-type ul li strong,.emarsys-documentation .error-handling .scenario ol li strong,.emarsys-documentation .error-handling .scenario ul li strong,.emarsys-documentation .error-handling .status-codes ol li strong,.emarsys-documentation .error-handling .status-codes ul li strong,.emarsys-documentation .file-types .error-example ol li strong,.emarsys-documentation .file-types .error-example ul li strong,.emarsys-documentation .file-types .file-type ol li strong,.emarsys-documentation .file-types .file-type ul li strong,.emarsys-documentation .file-types .scenario ol li strong,.emarsys-documentation .file-types .scenario ul li strong,.emarsys-documentation .file-types .status-codes ol li strong,.emarsys-documentation .file-types .status-codes ul li strong,.emarsys-documentation .security .error-example ol li strong,.emarsys-documentation .security .error-example ul li strong,.emarsys-documentation .security .file-type ol li strong,.emarsys-documentation .security .file-type ul li strong,.emarsys-documentation .security .scenario ol li strong,.emarsys-documentation .security .scenario ul li strong,.emarsys-documentation .security .status-codes ol li strong,.emarsys-documentation .security .status-codes ul li strong,.emarsys-documentation .support .error-example ol li strong,.emarsys-documentation .support .error-example ul li strong,.emarsys-documentation .support .file-type ol li strong,.emarsys-documentation .support .file-type ul li strong,.emarsys-documentation .support .scenario ol li strong,.emarsys-documentation .support .scenario ul li strong,.emarsys-documentation .support .status-codes ol li strong,.emarsys-documentation .support .status-codes ul li strong,.emarsys-documentation .testing .error-example ol li strong,.emarsys-documentation .testing .error-example ul li strong,.emarsys-documentation .testing .file-type ol li strong,.emarsys-documentation .testing .file-type ul li strong,.emarsys-documentation .testing .scenario ol li strong,.emarsys-documentation .testing .scenario ul li strong,.emarsys-documentation .testing .status-codes ol li strong,.emarsys-documentation .testing .status-codes ul li strong,.emarsys-documentation .workflow .error-example ol li strong,.emarsys-documentation .workflow .error-example ul li strong,.emarsys-documentation .workflow .file-type ol li strong,.emarsys-documentation .workflow .file-type ul li strong,.emarsys-documentation .workflow .scenario ol li strong,.emarsys-documentation .workflow .scenario ul li strong,.emarsys-documentation .workflow .status-codes ol li strong,.emarsys-documentation .workflow .status-codes ul li strong{color:#2c3e50}.emarsys-documentation .error-handling .error-example ol li code,.emarsys-documentation .error-handling .error-example ul li code,.emarsys-documentation .error-handling .file-type ol li code,.emarsys-documentation .error-handling .file-type ul li code,.emarsys-documentation .error-handling .scenario ol li code,.emarsys-documentation .error-handling .scenario ul li code,.emarsys-documentation .error-handling .status-codes ol li code,.emarsys-documentation .error-handling .status-codes ul li code,.emarsys-documentation .file-types .error-example ol li code,.emarsys-documentation .file-types .error-example ul li code,.emarsys-documentation .file-types .file-type ol li code,.emarsys-documentation .file-types .file-type ul li code,.emarsys-documentation .file-types .scenario ol li code,.emarsys-documentation .file-types .scenario ul li code,.emarsys-documentation .file-types .status-codes ol li code,.emarsys-documentation .file-types .status-codes ul li code,.emarsys-documentation .security .error-example ol li code,.emarsys-documentation .security .error-example ul li code,.emarsys-documentation .security .file-type ol li code,.emarsys-documentation .security .file-type ul li code,.emarsys-documentation .security .scenario ol li code,.emarsys-documentation .security .scenario ul li code,.emarsys-documentation .security .status-codes ol li code,.emarsys-documentation .security .status-codes ul li code,.emarsys-documentation .support .error-example ol li code,.emarsys-documentation .support .error-example ul li code,.emarsys-documentation .support .file-type ol li code,.emarsys-documentation .support .file-type ul li code,.emarsys-documentation .support .scenario ol li code,.emarsys-documentation .support .scenario ul li code,.emarsys-documentation .support .status-codes ol li code,.emarsys-documentation .support .status-codes ul li code,.emarsys-documentation .testing .error-example ol li code,.emarsys-documentation .testing .error-example ul li code,.emarsys-documentation .testing .file-type ol li code,.emarsys-documentation .testing .file-type ul li code,.emarsys-documentation .testing .scenario ol li code,.emarsys-documentation .testing .scenario ul li code,.emarsys-documentation .testing .status-codes ol li code,.emarsys-documentation .testing .status-codes ul li code,.emarsys-documentation .workflow .error-example ol li code,.emarsys-documentation .workflow .error-example ul li code,.emarsys-documentation .workflow .file-type ol li code,.emarsys-documentation .workflow .file-type ul li code,.emarsys-documentation .workflow .scenario ol li code,.emarsys-documentation .workflow .scenario ul li code,.emarsys-documentation .workflow .status-codes ol li code,.emarsys-documentation .workflow .status-codes ul li code{background:#f8f9fa;border-radius:3px;color:#e74c3c;font-family:Courier New,monospace;font-size:13px;padding:2px 6px}.emarsys-documentation .error-handling pre,.emarsys-documentation .file-types pre,.emarsys-documentation .security pre,.emarsys-documentation .support pre,.emarsys-documentation .testing pre,.emarsys-documentation .workflow pre{background:#2c3e50;border-radius:4px;color:#43ee5d;font-family:Courier New,monospace;font-size:16px;font-weight:900;line-height:1.4;overflow-x:auto;padding:15px}.emarsys-documentation .error-handling p,.emarsys-documentation .file-types p,.emarsys-documentation .security p,.emarsys-documentation .support p,.emarsys-documentation .testing p,.emarsys-documentation .workflow p{line-height:1.6;margin-bottom:10px}.emarsys-documentation .error-handling p code,.emarsys-documentation .file-types p code,.emarsys-documentation .security p code,.emarsys-documentation .support p code,.emarsys-documentation .testing p code,.emarsys-documentation .workflow p code{background:#f8f9fa;border-radius:3px;color:#e74c3c;font-family:Courier New,monospace;font-size:13px;padding:2px 6px}.emarsys-documentation .support .support-links a{background:#3498db;border-radius:4px;color:#fff;display:inline-block;font-weight:600;padding:12px 20px;text-decoration:none;transition:background-color .3s ease}.emarsys-documentation .support .support-links a:hover{background:#2980b9}.generate-button-container{margin:2rem 0;padding:2rem;text-align:center}.template-generator{min-height:100vh}.generator-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:1rem;padding:1rem 2rem}.generator-header h1{color:#333;font-size:1.5rem;margin:0}.template-manager-section{border-top:1px solid #e9ecef;margin:2rem 0;padding-top:2rem}.template-manager-container{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.template-manager h3{color:#495057;font-size:1.25rem;margin-bottom:1.5rem}.template-manager .template-selector{margin-bottom:1.5rem}.template-manager .template-editor{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:1rem;padding:1.5rem}.template-manager .template-info{background:#e9ecef;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.template-manager .template-info h4{color:#495057;margin:0 0 .5rem}.template-manager .template-info p{color:#6c757d;font-size:.9rem;margin:.25rem 0}.template-manager .template-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.template-manager .mapping-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:1rem;padding:1.5rem}.template-manager .mapping-section h5{color:#495057;font-size:1.1rem;margin:0 0 1rem}
/*# sourceMappingURL=main.c54d0c84.css.map*/