*{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#07080a;--card:#141719;--teal:#2ed9c3;--teal2:#1aaa9a;--teal3:#064e3b;
  --white:#f0f0ee;--off:#9a9a98;--muted:#555;--green:#3db87a;
  --border:#242628;--border2:#2a2d2f;--violet:#8b5cf6;--amber:#f59e0b;
}
html,body{height:100%;overflow:hidden;background:var(--black);font-family:'DM Sans',sans-serif;color:var(--white)}

/* ── Header ── */
.hdr{height:52px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:0.5px solid var(--border);background:#0a0c0e;flex-shrink:0}
.logo{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;letter-spacing:.04em}.logo span{color:var(--teal)}
.hdrtitle{font-size:11px;color:var(--muted);border-left:0.5px solid #222;padding-left:12px}
.hdrspace{flex:1}
.fname{background:#111315;border:0.5px solid var(--border2);color:var(--white);padding:5px 10px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:11px;width:170px;outline:none}
.fname:focus{border-color:var(--teal2)}
.btn{padding:6px 13px;border-radius:7px;font-size:11px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .18s;border:none}
.btn-ghost{background:transparent;border:0.5px solid var(--border2);color:var(--off)}.btn-ghost:hover{border-color:#444;color:var(--white)}
.btn-teal{background:var(--teal);color:var(--black);font-weight:700;font-family:'Syne',sans-serif}.btn-teal:hover{background:var(--teal2)}

/* ── Layout ── */
.body{display:flex;height:calc(100vh - 52px);overflow:hidden}

/* ── Form panel ── */
.fpanel{width:400px;flex-shrink:0;overflow-y:auto;border-right:0.5px solid var(--border);scrollbar-width:thin;scrollbar-color:#222 transparent}
.fpanel::-webkit-scrollbar{width:4px}.fpanel::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:2px}

/* ── Sections ── */
.sec{border-bottom:0.5px solid var(--border)}
.sec-hdr{display:flex;align-items:center;gap:9px;padding:11px 15px;cursor:pointer;user-select:none;transition:background .15s}
.sec-hdr:hover{background:#0d0f11}
.sec-icon{font-size:13px}.sec-title{font-family:'Syne',sans-serif;font-size:11px;font-weight:700;flex:1}
.sec-arr{color:var(--muted);font-size:10px;transition:transform .2s;display:inline-block}.sec-arr.open{transform:rotate(180deg)}
.sec-body{padding:13px 15px;display:flex;flex-direction:column;gap:10px}.sec-body.hid{display:none}

/* ── Fields ── */
.f{display:flex;flex-direction:column;gap:4px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.f3{display:grid;grid-template-columns:80px 1fr;gap:7px;align-items:start}
.f label{font-size:9px;color:var(--off);letter-spacing:.05em;text-transform:uppercase}
.f input,.f textarea,.f select{
  background:#111315;border:0.5px solid var(--border2);color:var(--white);
  padding:7px 10px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:11.5px;
  outline:none;transition:border-color .2s,background .2s;width:100%;resize:vertical
}
.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--teal2)}
.f textarea{min-height:58px;line-height:1.5}
.hint{font-size:9px;color:#3a3a3a;line-height:1.5}

/* ── AI section ── */
.ai-sec{background:linear-gradient(135deg,#040f0e 0%,#07080a 100%);border-bottom:0.5px solid var(--teal3)}
.ai-sec .sec-hdr{border-bottom:0.5px solid var(--teal3)}
.ai-badge{font-size:8px;background:#0a2a24;border:0.5px solid var(--teal3);color:var(--teal);padding:2px 7px;border-radius:10px;margin-left:4px}
.btn-ai{background:var(--teal);color:var(--black);border:none;padding:9px 16px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;font-family:'Syne',sans-serif;transition:all .2s;display:flex;align-items:center;gap:6px;justify-content:center;width:100%}
.btn-ai:hover{background:var(--teal2)}.btn-ai:disabled{opacity:.5;cursor:not-allowed}
.ai-status{font-size:10px;padding:7px 10px;border-radius:6px;display:none;margin-top:2px}
.ai-status.ok{display:block;background:#0a1a0a;border:0.5px solid #1a4a2a;color:var(--green)}
.ai-status.err{display:block;background:#1a0a0a;border:0.5px solid #4a1a1a;color:#e05454}
.ai-status.loading{display:block;background:#040f0e;border:0.5px solid var(--teal3);color:var(--teal)}
@keyframes spin{to{transform:rotate(360deg)}}
.spinner{display:inline-block;width:10px;height:10px;border:1.5px solid var(--teal3);border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}

/* ── Client cards ── */
.cc-card{background:#111315;border:0.5px solid var(--border2);border-radius:9px;overflow:hidden;margin-bottom:7px}
.cc-card:last-child{margin-bottom:0}
.cc-hdr{display:flex;align-items:center;gap:8px;padding:9px 11px;cursor:pointer;user-select:none}
.cc-hdr:hover{background:#161a1c}
.cc-num{font-size:8px;color:var(--teal);font-weight:700;letter-spacing:.1em;flex-shrink:0}
.cc-np{font-size:11px;color:var(--white);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-chk{width:13px;height:13px;accent-color:var(--teal);cursor:pointer;flex-shrink:0}
.cc-arr{font-size:9px;color:var(--muted);transition:transform .2s;flex-shrink:0}.cc-arr.open{transform:rotate(180deg)}
.cc-body{padding:10px 12px;display:flex;flex-direction:column;gap:8px;border-top:0.5px solid var(--border)}
.cc-body.hid{display:none}
.cc-dis .cc-np{color:var(--muted);text-decoration:line-through}

/* ── Flash animation for AI fill ── */
@keyframes aiflash{0%{border-color:var(--teal);background:#040f0e}100%{border-color:var(--border2);background:#111315}}
.ai-filled{animation:aiflash 1.2s ease forwards}

/* ── Preview panel ── */
.ppanel{flex:1;display:flex;flex-direction:column;background:#050608;overflow:hidden}
.pv-hdr{padding:9px 15px;display:flex;align-items:center;gap:8px;border-bottom:0.5px solid var(--border);flex-shrink:0}
.pv-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.pv-info{margin-left:auto;font-size:9px;color:#2a2a2a}
.pv-wrap{flex:1;position:relative;overflow:hidden;padding:14px}
.pv-scale{position:absolute;top:14px;left:14px;transform-origin:top left;border:0.5px solid var(--border);border-radius:6px;overflow:hidden}
#pframe{width:1280px;height:800px;border:none;display:block;background:var(--black)}

@media(max-width:860px){.ppanel{display:none}.fpanel{width:100%;border:none}}
