:root{--color-bg:#0b0e14;--color-surface:#12161f;--color-surface-2:#1a1f2b;--color-surface-3:#232938;--color-border:#ffffff0f;--color-border-hover:#ffffff1f;--color-text:#e8eaed;--color-text-muted:#8b919e;--color-text-dim:#5a6070;--color-accent:#6c5ce7;--color-accent-soft:#6c5ce71f;--color-accent-hover:#7d6ff0;--color-success:#00d2a0;--color-success-soft:#00d2a01f;--color-danger:#ff6b6b;--color-danger-soft:#ff6b6b1f;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-xs:.75rem;--font-sm:.8125rem;--font-base:.875rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:2rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 30px #00000080;--shadow-glow:0 0 40px #6c5ce726;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-base);color:var(--color-text);background:var(--color-bg);min-height:100vh;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-surface-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-header{padding:var(--space-lg) var(--space-2xl);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);z-index:100;background:#12161fcc;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-logo{align-items:center;gap:var(--space-md);display:flex}.app-logo-icon{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--color-accent), #a78bfa);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;font-weight:700;display:flex}.app-logo-text{font-size:var(--font-lg);background:linear-gradient(135deg, var(--color-text), var(--color-text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.app-logo-badge{font-size:var(--font-xs);background:var(--color-accent-soft);color:var(--color-accent);letter-spacing:.5px;text-transform:uppercase;border-radius:20px;padding:2px 8px;font-weight:600}.app-main{flex:1;grid-template-columns:420px 1fr;gap:0;min-height:0;display:grid}.form-panel{border-right:1px solid var(--color-border);max-height:calc(100vh - 65px);padding:var(--space-2xl);gap:var(--space-xl);flex-direction:column;display:flex;overflow-y:auto}.form-section{gap:var(--space-md);flex-direction:column;display:flex}.form-section-title{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:1.2px;color:var(--color-text-muted);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);font-weight:700}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-label{font-size:var(--font-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.form-input{height:40px;padding:0 var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.form-input::placeholder{color:var(--color-text-dim)}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.image-uploader{align-items:center;gap:var(--space-lg);display:flex}.image-uploader-preview{border-radius:var(--radius-md);background:var(--color-surface);border:2px dashed var(--color-border);width:64px;height:64px;transition:border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.image-uploader-preview:hover{border-color:var(--color-accent)}.image-uploader-preview img{object-fit:cover;width:100%;height:100%}.image-uploader-placeholder{color:var(--color-text-dim);font-size:1.5rem}.image-uploader-actions{gap:var(--space-xs);flex-direction:column;display:flex}.image-uploader-url{height:32px;padding:0 var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-xs);width:240px;transition:border-color var(--transition-fast);outline:none}.image-uploader-url:focus{border-color:var(--color-accent)}.image-uploader-btns{gap:var(--space-xs);display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-sm);height:36px;padding:0 var(--space-lg);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;outline:none;font-weight:600;display:inline-flex}.btn-sm{height:28px;padding:0 var(--space-md);font-size:var(--font-xs)}.btn-primary{background:linear-gradient(135deg, var(--color-accent), #8b7cf0);color:#fff;box-shadow:0 2px 8px #6c5ce74d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6c5ce766}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--color-surface-2);color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-surface-3);color:var(--color-text);border-color:var(--color-border-hover)}.btn-success{background:linear-gradient(135deg, var(--color-success), #00b890);color:#fff;box-shadow:0 2px 8px #00d2a04d}.btn-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid #ff6b6b33}.btn-danger:hover{background:#ff6b6b33}.btn-icon{border-radius:var(--radius-sm);width:36px;height:36px;padding:0}.btn-icon.btn-sm{width:28px;height:28px}.theme-picker{gap:var(--space-md);flex-direction:column;display:flex}.theme-presets{gap:var(--space-sm);flex-wrap:wrap;display:flex}.theme-preset{cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);border:2px solid #0000;border-radius:50%;position:relative}.theme-preset:hover{transform:scale(1.15)}.theme-preset.active{border-color:var(--color-text);box-shadow:0 0 0 3px var(--color-bg), 0 0 0 5px var(--color-text-muted)}.theme-custom{align-items:center;gap:var(--space-md);display:flex}.theme-custom-input{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;width:40px;height:32px;padding:0}.theme-custom-input::-webkit-color-swatch-wrapper{padding:2px}.theme-custom-input::-webkit-color-swatch{border:1px solid var(--color-border);border-radius:4px}.theme-custom-hex{width:100px;height:32px;padding:0 var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:Courier New,monospace;font-size:var(--font-xs);outline:none}.form-toggle{align-items:center;gap:var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.form-toggle-input{display:none}.form-toggle-switch{background:var(--color-surface-3);border:1px solid var(--color-border);width:38px;height:20px;transition:all var(--transition-fast);border-radius:10px;flex-shrink:0;position:relative}.form-toggle-switch:after{content:"";background:var(--color-text-dim);width:14px;height:14px;transition:all var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px}.form-toggle-input:checked+.form-toggle-switch{background:var(--color-accent);border-color:var(--color-accent)}.form-toggle-input:checked+.form-toggle-switch:after{background:#fff;left:20px}.form-toggle-label{font-size:var(--font-sm);color:var(--color-text-muted)}.preview-panel{flex-direction:column;max-height:calc(100vh - 65px);display:flex;overflow-y:auto}.preview-toolbar{padding:var(--space-lg) var(--space-2xl);border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.preview-toolbar-left{align-items:center;gap:var(--space-md);display:flex}.preview-toolbar-right{align-items:center;gap:var(--space-sm);display:flex}.preview-tab{height:32px;padding:0 var(--space-lg);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-sm);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);background:0 0;border:none;font-weight:500}.preview-tab:hover{color:var(--color-text);background:var(--color-surface-2)}.preview-tab.active{color:var(--color-text);background:var(--color-surface-3)}.preview-content{padding:var(--space-3xl);flex:1;justify-content:center;align-items:flex-start;display:flex}.preview-signature-wrapper{border-radius:var(--radius-lg);padding:var(--space-3xl);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:700px}.preview-html-wrapper{width:100%;max-width:800px}.preview-html-code{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);font-family:Courier New,monospace;font-size:var(--font-xs);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-all;max-height:600px;line-height:1.5;overflow-y:auto}.copy-btn{position:relative}.copy-btn-tooltip{background:var(--color-success);color:#fff;font-size:var(--font-xs);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;padding:4px 10px;font-weight:600;animation:1.5s forwards tooltipFade;position:absolute;top:-36px;left:50%;transform:translate(-50%)}.copy-btn-tooltip:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid var(--color-success);position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}@keyframes tooltipFade{0%{opacity:0;transform:translate(-50%)translateY(4px)}15%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1}to{opacity:0}}.profile-switcher{align-items:center;gap:var(--space-sm);display:flex}.profile-chip{align-items:center;gap:var(--space-xs);height:32px;padding:0 var(--space-md);font-size:var(--font-xs);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);transition:all var(--transition-fast);border-radius:20px;font-weight:600;display:flex}.profile-chip:hover{border-color:var(--color-border-hover);color:var(--color-text)}.profile-chip.active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.profile-chip-add{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1rem;display:flex}.toast{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-sm);z-index:1000;animation:.3s toastIn;display:flex;position:fixed;bottom:24px;right:24px}.toast-success{border-color:#00d2a04d}.toast-success .toast-icon{color:var(--color-success)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-overlay{background:radial-gradient(circle at 50% 40%,#6c5ce714,#0000 60%);flex:1;justify-content:center;align-items:center;min-height:calc(100vh - 65px);display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3xl);gap:var(--space-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg), var(--shadow-glow);flex-direction:column;display:flex}.login-subtitle{text-align:center;color:var(--color-text-muted);font-size:var(--font-sm)}.login-input{text-align:center;letter-spacing:2px;font-size:var(--font-md)!important}.login-btn{width:100%;height:42px;font-size:var(--font-base)}.login-error{text-align:center;color:var(--color-danger);font-size:var(--font-sm);margin:calc(-1 * var(--space-sm)) 0;font-weight:500}@media (width<=1024px){.app-main{grid-template-columns:1fr}.form-panel{border-right:none;border-bottom:1px solid var(--color-border);max-height:none}.preview-panel{max-height:none}}
