:root{--bg:#0f1216;--panel:#171b21;--border:#2a2f37;--text:#e6e9ee;--muted:#8a919c;--accent:#4f8cff;--err:#f85149}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Segoe UI,Roboto,sans-serif}code{background:var(--bg);border-radius:4px;padding:1px 5px;font-family:ui-monospace,Consolas,monospace;font-size:.85em}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:7px 10px}th{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}a{color:var(--accent)}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:7px 14px;font-size:13px}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--border);color:var(--text)}input,select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px}.muted{color:var(--muted)}.app{max-width:1400px;margin:0 auto;padding:24px}.app h1{margin:0 0 20px;font-size:18px;font-weight:600}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:-18px -18px 18px;padding:0 18px;display:flex}.tab-btn{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:12px 6px;font-size:14px;font-weight:600}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent)}.columns{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.col{flex:1;min-width:380px}.json-input{resize:vertical;width:100%;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.5}.json-status{min-height:18px;margin:6px 0;font-size:13px}.json-status.invalid{color:var(--err)}.field-row{flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0;display:flex}.field-row label{font-size:13px}.preview-panel{padding:0;position:sticky;top:16px;overflow:hidden}.preview-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.preview-panel-header strong{font-size:13px}.preview-frame{background:#fff;border:none;width:100%;height:calc(100vh - 81px);display:block}.howto p{margin:0 0 14px;font-size:13px}.example-json{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:420px;padding:14px;font-family:ui-monospace,Consolas,monospace;font-size:12px;overflow:auto}.download-row{align-items:center;gap:10px;margin-top:14px;display:flex}.edit-form fieldset{border:1px solid var(--border);border-radius:6px;gap:10px;margin:0 0 14px;padding:10px 14px 14px;display:grid}.edit-form legend{color:var(--muted);text-transform:uppercase;padding:0 4px;font-size:12px;font-weight:600}.edit-form label{gap:4px;font-size:13px;display:grid}.edit-form input[type=text],.edit-form input[type=date],.edit-form input[type=number],.edit-form textarea{box-sizing:border-box;width:100%}.item-row{grid-template-columns:1fr 120px auto;gap:8px;display:grid}.item-footer{justify-content:space-between;align-items:center;font-size:13px;display:flex}.pin-gate{place-items:center;min-height:100vh;padding:16px;display:grid}.pin-gate form{box-sizing:border-box;gap:12px;width:min(320px,100%);display:grid}.pin-gate h1{margin:0;font-size:18px}.pin-gate label{gap:6px;font-size:13px;display:grid}
