:root{--bg:#0a0a0e;--bg-elevated:#131318;--surface:#17171d;--surface-hover:#1e1e26;--border:#2a2a34;--border-strong:#3a3a48;--text:#a7a7b4;--text-h:#f5f5f7;--text-dim:#6b6b78;--m-blue:#1c69d4;--m-purple:#6f2a8f;--m-red:#e2231a;--m-stripe:linear-gradient(90deg, var(--m-blue) 0%, var(--m-blue) 33%, var(--m-purple) 33%, var(--m-purple) 66%, var(--m-red) 66%, var(--m-red) 100%);--accent:var(--m-blue);--accent-hover:#2a7ae4;--danger:var(--m-red);--danger-hover:#ff3a2f;--shadow:#00000080 0 10px 30px -10px, #00000059 0 4px 10px -4px;--radius:10px;--sans:"Segoe UI", system-ui, Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);letter-spacing:.1px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 50% -10%, #1c69d41f, transparent), var(--bg);min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3{color:var(--text-h);font-family:var(--sans);letter-spacing:-.01em}h1{margin:0;font-size:32px;font-weight:700}h2{margin:0 0 8px;font-size:20px;font-weight:600}p{margin:0}code{font-family:var(--mono);background:var(--surface);color:var(--text-h);border-radius:4px;padding:2px 6px;font-size:14px}.app{max-width:1180px;margin:0 auto;padding:0 24px 80px}.app__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;padding:40px 0 28px;display:flex;position:relative}.app__header:after{content:"";background:var(--m-stripe);height:3px;position:absolute;bottom:-1px;left:0;right:0}.app__brand{flex-direction:column;gap:4px;display:flex}.app__brand h1{align-items:baseline;gap:2px;font-size:26px;display:flex}.app__brand h1 span{background:var(--m-stripe);color:#0000;-webkit-background-clip:text;background-clip:text}.app__brand p{color:var(--text-dim);font-size:14px}.app__section{margin-bottom:40px}.app__section-title{align-items:center;gap:10px;margin-bottom:16px;display:flex}.app__section-title h2{margin:0}.app__section-title .badge{color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-start;gap:24px;padding:24px;display:flex}.upload-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--bg-elevated);flex-direction:column;flex:320px;justify-content:center;align-items:center;gap:8px;min-height:160px;padding:20px;transition:border-color .15s,background .15s;display:flex}.upload-dropzone:hover,.upload-dropzone.is-dragging{border-color:var(--accent);background:#1c69d414}.upload-dropzone input[type=file]{display:none}.upload-dropzone__icon{opacity:.7;font-size:28px}.upload-dropzone__title{color:var(--text-h);font-size:14px;font-weight:600}.upload-dropzone__hint{color:var(--text-dim);font-size:12px}.upload-dropzone__preview{object-fit:contain;border-radius:6px;max-width:100%;max-height:140px}.upload-form__fields{flex-direction:column;flex:260px;gap:16px;display:flex}.upload-form__fields label{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.upload-form__fields input[type=text]{font:inherit;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-h);border-radius:8px;padding:10px 12px}.upload-form__fields input[type=text]:focus,.upload-dropzone:focus-visible{border-color:var(--accent);outline:none}.btn,.template-form__actions button,.editor__header button,.gerador__header button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .15s,opacity .15s,border-color .15s}.btn:hover,.template-form__actions button:hover,.editor__header button:hover,.gerador__header button:hover{background:var(--accent-hover)}.btn.secondary,.template-form__actions button.secondary,.editor__header button,.gerador__header button{color:var(--text-h);border-color:var(--border-strong);background:0 0}.btn.secondary:hover,.template-form__actions button.secondary:hover,.editor__header button:hover,.gerador__header button:hover{background:var(--surface-hover)}.btn:disabled,.template-form__actions button:disabled{opacity:.5;cursor:not-allowed}.template-form__error{color:var(--danger);font-size:13px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.template-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.template-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.template-card__thumb{aspect-ratio:4/3;background:var(--bg-elevated);border-bottom:1px solid var(--border);justify-content:center;align-items:center;display:flex;overflow:hidden}.template-card__thumb img{object-fit:cover;width:100%;height:100%}.template-card__body{flex-direction:column;flex:1;gap:8px;padding:14px 16px;display:flex}.template-card__name{align-items:center;gap:6px;display:flex}.template-card__name h3{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:15px;overflow:hidden}.template-card__name button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.template-card__name button:hover{color:var(--text-h)}.template-card__rename{gap:6px;display:flex}.template-card__rename input{font:inherit;border:1px solid var(--accent);background:var(--bg-elevated);color:var(--text-h);border-radius:6px;flex:1;padding:4px 8px;font-size:13px}.template-card__meta{flex-wrap:wrap;gap:6px;display:flex}.template-card__meta span{color:var(--text-dim);background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px}.template-card__actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.template-card__actions button{font:inherit;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-h);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.template-card__actions button:hover{border-color:var(--accent);color:var(--accent)}.template-card__actions button.danger:hover{border-color:var(--danger);color:var(--danger)}.template-list__empty{color:var(--text-dim);text-align:center;border:1px dashed var(--border);border-radius:var(--radius);padding:40px}.editor{flex-direction:column;gap:16px;max-width:960px;margin:0 auto;padding:32px 20px;display:flex}.editor__header{align-items:center;gap:20px;display:flex}.editor__header h2{flex:1;margin:0}.editor__tipo-select{color:var(--text-h);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.editor__tipo-select select{font:inherit;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-h);border-radius:8px;padding:7px 8px}.editor__hint{color:var(--text-dim);font-size:13px}.editor__canvas{background-repeat:no-repeat;background-size:100% 100%;background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);-webkit-user-select:none;user-select:none;cursor:crosshair;position:relative}.editor__campo{border:2px solid var(--m-blue);cursor:move;box-sizing:border-box;background:#1c69d42e;position:absolute}.editor__campo--texto{border-color:var(--m-red);background:#e2231a26}.editor__campo-label{background:var(--text-h);color:#0a0a0e;white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;position:absolute;top:-20px;left:-2px}.editor__campo-remove{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:3px;width:16px;height:16px;font-size:12px;line-height:1;position:absolute;top:-20px;right:-2px}.editor__drawing{border:2px dashed var(--m-purple);pointer-events:none;background:#6f2a8f1f;position:absolute}.gerador{flex-direction:column;gap:20px;max-width:640px;margin:0 auto;padding:32px 20px;display:flex}.gerador__header{align-items:center;gap:16px;display:flex}.gerador__header h2{flex:1;margin:0}.gerador__form{flex-direction:column;gap:16px;display:flex}.gerador__form label{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.gerador__form input[type=text],.gerador__form input[type=file]{font:inherit;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-h);border-radius:8px;padding:9px 10px}.gerador__preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:12px;padding:16px;display:flex}.gerador__preview img{border:1px solid var(--border);border-radius:8px;max-width:100%}.gerador__download{color:var(--accent);font-size:13px;font-weight:700;text-decoration:none}.gerador__download:hover{color:var(--accent-hover)}.app__usuario{color:var(--text-dim);align-items:center;gap:12px;font-size:13px;display:flex}.app__usuario span{color:var(--text-h);font-weight:600}.auth-page{flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100vh;padding:40px 20px;display:flex}.auth-page__brand{text-align:center}.auth-page__brand h1{font-size:30px}.auth-page__brand h1 span{background:var(--m-stripe);color:#0000;-webkit-background-clip:text;background-clip:text}.auth-page__brand p{color:var(--text-dim);margin-top:4px;font-size:14px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;width:100%;max-width:420px;padding:28px;display:flex}.auth-card h2{margin:0 0 4px}.auth-card label{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.auth-card input{font:inherit;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-h);border-radius:8px;padding:10px 12px}.auth-card input:focus{border-color:var(--accent);outline:none}.auth-card input:disabled{color:var(--text-dim);opacity:.8}.auth-form__tipo-pessoa{color:var(--text-h);gap:20px;font-size:13px;display:flex}.auth-form__tipo-pessoa label{flex-direction:row;align-items:center;gap:6px;font-weight:500}.auth-form__senhas,.auth-form__endereco-linha{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-form__hint{color:var(--text-dim);margin:-8px 0 0;font-size:12px}.auth-card__link{color:var(--accent);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px;font-size:13px;font-weight:600}.auth-card__link:hover{color:var(--accent-hover)}
