:root{--bg: #e8efe8;--bg-deep: #d5e2d6;--panel: #f7faf7;--ink: #1d2a22;--muted: #5a6b60;--accent: #2f6b4f;--accent-soft: #dceee4;--danger: #9b3d3d;--fixed: #8b1e1e;--green-field: #1f6b3a;--ai: #1a4f9c;--line: #c5d3c8;--shadow: 0 18px 50px rgba(29, 42, 34, .08);--font-ui: "Source Sans 3", system-ui, sans-serif;--font-display: "Fraunces", Georgia, serif;--font-doc: Calibri, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-ui);background:radial-gradient(circle at 10% 0%,#f4f8f2 0%,transparent 45%),radial-gradient(circle at 90% 10%,#d9ebe0 0%,transparent 40%),linear-gradient(160deg,var(--bg),var(--bg-deep))}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--line);background:#f7faf7eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.brand{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.brand span{color:var(--accent)}.topbar-actions{display:flex;gap:.5rem;align-items:center}.btn{border:1px solid transparent;border-radius:10px;padding:.55rem .95rem;background:var(--accent);color:#fff;font-weight:600;transition:transform .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);background:#255a42}.btn:disabled{opacity:.55;cursor:wait;transform:none}.btn.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn.ghost{background:transparent;color:var(--muted);border-color:transparent}.btn.danger{background:var(--danger)}.tabs{display:flex;gap:.35rem;padding:.65rem 1.25rem 0;overflow-x:auto}.tab{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:#ffffffb3;border-radius:12px 12px 0 0;padding:.55rem .85rem;color:var(--muted);white-space:nowrap}.tab.active{background:var(--panel);color:var(--ink);border-bottom-color:var(--panel);font-weight:600}.tab .close{border:0;background:transparent;color:var(--muted);padding:0 .15rem;font-size:1rem;line-height:1}.workspace{flex:1;display:grid;grid-template-columns:minmax(340px,1fr) minmax(420px,1.15fr);gap:0;min-height:0;border-top:1px solid var(--line)}.panel{background:var(--panel);overflow:auto;min-height:calc(100vh - 110px);padding:1.1rem 1.25rem 2rem}.panel.preview-panel{background:linear-gradient(180deg,#ecefe8,#e3e8df);border-left:1px solid var(--line)}.panel h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.35rem}.panel .hint{color:var(--muted);margin:0 0 1rem;font-size:.92rem}.legend{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem}.chip{font-size:.78rem;font-weight:600;padding:.25rem .55rem;border-radius:999px;background:#fff;border:1px solid var(--line)}.chip.fixed{color:var(--fixed)}.chip.green{color:var(--green-field)}.chip.ai{color:var(--ai)}.section-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.9rem;margin-bottom:.85rem;box-shadow:var(--shadow)}.section-card h3{margin:0 0 .55rem;font-size:.98rem}.section-card.fixed-card h3{color:var(--fixed)}.section-card.green-card h3{color:var(--green-field)}.section-card.ai-card h3{color:var(--ai)}.label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.25rem}.field{width:100%;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;background:#fbfcfb;margin-bottom:.55rem}.field:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,white);border-color:var(--accent)}textarea.field{min-height:88px;resize:vertical;line-height:1.4}.row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.audio-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.35rem}.status{font-size:.82rem;color:var(--muted)}.error{color:var(--danger);font-size:.9rem;margin:.4rem 0}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(420px,100%);background:#f7faf7f2;border:1px solid var(--line);border-radius:22px;padding:2rem 1.6rem;box-shadow:var(--shadow)}.login-card h1{font-family:var(--font-display);margin:0 0 .35rem;font-size:2rem}.login-card p{margin:0 0 1.25rem;color:var(--muted)}.doc-sheet{width:min(780px,100%);margin:0 auto;background:#fff;min-height:1000px;padding:2.4rem 2.6rem 3rem;box-shadow:var(--shadow);font-family:var(--font-doc);font-size:15px;line-height:1.45;color:#111}.doc-center{text-align:center;font-weight:700;margin-bottom:.35rem}.doc-title-fixed{color:var(--fixed);font-weight:700;text-decoration:underline;margin:1rem 0 .35rem}.doc-title-fixed.plain{text-decoration:none}.doc-sub{color:var(--fixed);font-weight:700;margin:.55rem 0 .25rem}.doc-green{color:var(--green-field);white-space:pre-wrap;outline:none;border-radius:4px}.doc-meta-value{font-weight:700}.doc-green:focus,.doc-ai:focus,.doc-name:focus{outline:2px dashed color-mix(in srgb,var(--accent) 40%,white);background:#fafdfa}.doc-ai{color:var(--ai);white-space:pre-wrap;outline:none;margin-bottom:.65rem}.doc-name{outline:none;font-weight:700}.doc-meta{margin:.15rem 0}.doc-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;text-align:center;color:#222}.doc-signatures .line{border-bottom:1px dotted #444;height:1.4rem;margin-bottom:.35rem}.doc-signatures small{font-size:.85rem}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;max-width:780px;margin-left:auto;margin-right:auto}.muted{color:var(--muted);font-size:.86rem}@media(max-width:980px){.workspace{grid-template-columns:1fr}.panel.preview-panel{border-left:0;border-top:1px solid var(--line)}.row{grid-template-columns:1fr}}
