@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary-color:#6366f1;--primary-hover:#4f46e5;--bg-color:#0f172a;--card-bg:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--border-color:#334155;--success-color:#10b981;--error-color:#ef4444;--danger-color:#ef4444;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;display:flex}.app-container{flex-direction:column;gap:1.5rem;width:100%;max-width:600px;display:flex}.header{text-align:center;margin-bottom:.5rem}.header h1{background:linear-gradient(90deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:700}.header p{color:var(--text-muted)}.template-selector-container{background-color:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border-color);align-items:center;gap:1rem;padding:1rem;display:flex}.template-selector-container label{color:var(--text-muted);font-weight:500}.template-select{background-color:var(--bg-color);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;outline:none;flex:1;padding:.5rem;font-size:1rem}.template-select:focus{border-color:var(--primary-color)}.upload-zone{background-color:var(--card-bg);border:2px dashed var(--border-color);border-radius:var(--radius);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 2rem;transition:all .2s;display:flex}.upload-zone:hover,.upload-zone.dragging{border-color:var(--primary-color);background-color:#6366f10d}.upload-zone.compact{padding:1.5rem 1rem}.upload-icon{color:var(--primary-color);width:48px;height:48px;margin-bottom:.5rem}.upload-zone.compact .upload-icon{width:32px;height:32px;margin-bottom:0}.upload-zone h3{font-size:1.125rem;font-weight:600}.upload-zone p{color:var(--text-muted);font-size:.875rem}.file-input{display:none}.preview-container{background-color:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border-color);overflow:hidden}.files-list-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.files-list-header h4{font-size:1rem;font-weight:600}.files-list{max-height:250px;list-style:none;overflow-y:auto}.file-item{border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.file-item:last-child{border-bottom:none}.file-icon-small{color:var(--text-muted)}.file-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.875rem;overflow:hidden}.file-size{color:var(--text-muted);text-align:right;width:60px;font-size:.75rem}.file-actions{background-color:#0003;padding:1rem 1.25rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border-color);flex-direction:column;width:100%;max-width:650px;max-height:90vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.template-list-view,.template-edit-view{flex:1;padding:1.5rem;overflow-y:auto}.template-list{flex-direction:column;gap:1rem;list-style:none;display:flex}.template-item{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.template-info h4{margin-bottom:.25rem}.template-info p{color:var(--text-muted);margin-bottom:.25rem;font-size:.875rem}.template-info small{color:var(--primary-color);font-size:.75rem;font-weight:500}.template-actions{gap:.5rem;display:flex}.edit-form-group{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.edit-form-group label{color:var(--text-muted);font-size:.875rem;font-weight:500}.edit-form-group input[type=text],.field-editor input,.field-editor select{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;outline:none;padding:.75rem;font-size:.875rem}.edit-form-group input:focus,.field-editor input:focus,.field-editor select:focus{border-color:var(--primary-color)}.field-editor{grid-template-columns:2fr 3fr 1fr auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}hr{border:none;border-top:1px solid var(--border-color);margin:1.5rem 0}.help-text{color:var(--text-muted);margin-bottom:1rem;font-size:.875rem}button{cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:.5rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff;padding:.75rem 1.5rem}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-color);color:var(--text-main);border:1px solid var(--border-color);padding:.75rem 1.5rem}.btn-secondary:hover:not(:disabled){background-color:var(--border-color)}.btn-sm{padding:.4rem .75rem}.btn-text{color:var(--text-muted)}.btn-text:hover:not(:disabled){color:var(--text-main)}.btn-clear-all{color:var(--error-color)}.btn-clear-all:hover:not(:disabled){color:#fca5a5}.btn-icon{color:var(--text-muted);border-radius:4px;padding:.4rem}.btn-icon:hover:not(:disabled){color:var(--text-main);background-color:#ffffff1a}.text-danger{color:var(--danger-color)!important}.status-message{border-radius:var(--radius);padding:1rem;font-size:.875rem;font-weight:500;animation:.3s slideUp}.status-success{color:var(--success-color);background-color:#10b9811a;border:1px solid #10b98133}.status-error{color:var(--error-color);background-color:#ef44441a;border:1px solid #ef444433}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569}
