:root{--bg:#f4f6f8;--card:#ffffff;--text:#1a1d21;--muted:#5c6570;--border:#d8dee6;--accent:#0b5fff;--accent-hover:#0949c6;--danger:#b42318;--danger-bg:#fef3f2;--ok:#067647;--ok-bg:#ecfdf3;--warn-bg:#fffaeb;--radius:10px;--shadow:0 1px 2px rgba(16,24,40,0.06),0 8px 24px rgba(16,24,40,0.06);--font:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent)}main{max-width:640px;margin:0 auto;padding:1.25rem 1rem 3rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.25rem 1.5rem}.brand{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}h1{font-size:1.35rem;margin:0 0 .35rem;line-height:1.25}.lede{color:var(--muted);margin:0 0 1.25rem;font-size:.95rem}.meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem;padding:.9rem 1rem;background:#f8fafc;border:1px solid var(--border);border-radius:8px}.meta dt{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600}.meta dd{margin:.15rem 0 0;font-size:.95rem;font-weight:500}@media (max-width:480px){.meta{grid-template-columns:1fr}}.field{margin-bottom:1rem}.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.35rem}.field .hint{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:.15rem}.req{color:var(--danger)}input[type=email],input[type=number],input[type=text],select,textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(11,95,255,.35);border-color:var(--accent)}textarea{min-height:110px;resize:vertical}.radio-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.radio-row label{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;font-size:.95rem}.check{display:flex;align-items:flex-start;gap:.6rem;font-size:.95rem}.check input{margin-top:.25rem}.error{font-size:.8rem;margin-top:.3rem}.error,.form-error{color:var(--danger)}.form-error{background:var(--danger-bg);border:1px solid #fecdca;border-radius:8px;padding:.75rem .9rem;margin-bottom:1rem;font-size:.9rem}.actions{margin-top:1.25rem;display:flex;flex-direction:column;gap:.5rem}button[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--accent);color:#fff;font:inherit;font-weight:600;padding:.8rem 1.1rem;border-radius:8px;cursor:pointer}button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}button[type=submit]:disabled{opacity:.65;cursor:not-allowed}.footnote{font-size:.8rem;color:var(--muted);margin:0}.status-box{padding:1rem 1.1rem;border-radius:8px;margin-top:.5rem}.status-box.locked{background:var(--warn-bg);border:1px solid #fedf89}.status-box.ok{background:var(--ok-bg);border:1px solid #abefc6;color:var(--ok)}.status-box.missing{background:var(--danger-bg);border:1px solid #fecdca;color:var(--danger)}.placeholder-home{text-align:center;padding:3rem 1rem}.placeholder-home h1{font-size:1.5rem}.attachments-field{border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem 1rem;margin:1rem 0 1.25rem}.attachments-field legend{font-size:.875rem;font-weight:600;padding:0 .35rem}.attachments-hint{font-size:.8rem;color:var(--muted);margin:0 0 .65rem}.attachments-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.attachments-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.875rem;background:var(--bg,#f8fafc);border:1px solid var(--border);border-radius:6px;padding:.45rem .65rem}.attachments-name{flex:1 1 auto;min-width:0;word-break:break-all}.attachments-size{color:var(--muted);font-size:.8rem}.attachments-remove{font-size:.8rem;padding:.2rem .55rem;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:4px;cursor:pointer}.attachments-remove:disabled{opacity:.5;cursor:not-allowed}.template-badge{font-size:.8rem;color:var(--muted);margin:0 0 1rem}.jsonforms-root .group-layout,.jsonforms-root .horizontal-layout,.jsonforms-root .vertical-layout{display:flex;flex-direction:column;gap:0}.jsonforms-root .horizontal-layout{flex-direction:row;flex-wrap:wrap;gap:.75rem}.jsonforms-root .control,.jsonforms-root .horizontal-layout-item,.jsonforms-root .vertical-layout-item{margin-bottom:1rem}.jsonforms-root .control>label,.jsonforms-root label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.35rem;color:var(--text)}.jsonforms-root .control>.validation,.jsonforms-root .validation{color:var(--danger);font-size:.8rem;margin-top:.3rem;min-height:0}.jsonforms-root .control>.input-description,.jsonforms-root .input-description{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:.15rem}.jsonforms-root input[type=date],.jsonforms-root input[type=datetime-local],.jsonforms-root input[type=email],.jsonforms-root input[type=number],.jsonforms-root input[type=text],.jsonforms-root input[type=time],.jsonforms-root select,.jsonforms-root textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff;color:var(--text);height:auto}.jsonforms-root textarea{min-height:110px;resize:vertical}.jsonforms-root input:focus,.jsonforms-root select:focus,.jsonforms-root textarea:focus{outline:2px solid rgba(11,95,255,.35);border-color:var(--accent)}.jsonforms-root .control.radio,.jsonforms-root .radio{display:flex;flex-direction:column}.jsonforms-root .radio .wrapper,.jsonforms-root .radio group,.jsonforms-root fieldset.radio{display:flex;flex-wrap:wrap;gap:.5rem 1rem;border:none;padding:0;margin:0}.jsonforms-root .control input[type=radio]+label,.jsonforms-root .radio label,.jsonforms-root label.radio{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;font-size:.95rem}.jsonforms-root input[type=checkbox],.jsonforms-root input[type=radio]{width:auto;height:auto;padding:0;margin:0;accent-color:var(--accent)}.jsonforms-root .checkbox,.jsonforms-root .control.checkbox{display:flex;flex-direction:column}.jsonforms-root .checkbox .checkbox-input,.jsonforms-root .checkbox label,.jsonforms-root .control input[type=checkbox]+*{display:flex;align-items:flex-start;gap:.6rem;font-size:.95rem;font-weight:500}.server-errors{list-style:none;margin:0 0 1rem;padding:0}.server-errors li{margin-bottom:.25rem}