:root{--bg:#f4f6f9;--panel:#fff;--panel-2:#f7f9fc;--border:#e6e8ee;--border-strong:#d6dae2;--text:#0f172a;--muted:#64748b;--brand:#2ca01c;--brand-dark:#228016;--brand-soft:#e8f6e4;--danger:#dc2626;--danger-soft:#fdecec;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #1018280d;--shadow-md:0 6px 24px #10182814;--ring:0 0 0 3px #2ca01c2e}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.5}a{color:var(--brand-dark);text-decoration:none}a:hover{color:var(--brand)}.container{max-width:1080px;margin:0 auto;padding:28px 22px 80px}.sidebar{z-index:50;color:#c7d0de;background:#0f1729;border-right:1px solid #ffffff0f;flex-direction:column;gap:4px;width:240px;padding:18px 14px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar .brand{color:#fff;letter-spacing:-.01em;align-items:center;gap:9px;padding:2px 8px 14px;font-size:15px;font-weight:800;display:inline-flex}.sidebar .brand:before{content:"";background:linear-gradient(135deg,#2ca01c,#74d05c);border-radius:7px;width:22px;height:22px;box-shadow:0 2px 8px #2ca01c80}.sidebar nav{flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.nav-group{margin-top:14px}.nav-group:first-child{margin-top:0}.nav-label{text-transform:uppercase;letter-spacing:.06em;color:#5b6678;padding:6px 10px 3px;font-size:10.5px;font-weight:700}.sidebar nav a{color:#c7d0de;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar nav a:hover{color:#fff;background:#ffffff0f}.sidebar nav a.active{color:#fff;background:#2ca01c38;font-weight:600}.sidebar-foot{border-top:1px solid #ffffff12;margin-top:6px;padding-top:12px}.sidebar-foot button{color:#c7d0de;background:#ffffff0f;border-color:#ffffff1f;width:100%}.sidebar-foot button:hover{color:#fff;background:#ffffff1f}body:has(.sidebar){padding-left:240px}@media (max-width:860px){body:has(.sidebar){padding-left:0}.sidebar{border-bottom:1px solid #ffffff14;border-right:none;flex-flow:wrap;align-items:center;gap:4px;width:auto;padding:10px 14px;position:static;inset:auto}.sidebar nav{flex-flow:wrap;overflow:visible}.nav-group{display:contents}.nav-label{display:none}.sidebar-foot{border:none;margin:0;padding:0}.sidebar-foot button{width:auto}.sidebar .brand{padding:2px 8px}}h1{letter-spacing:-.02em;margin:0 0 6px;font-size:24px;font-weight:800}h2{letter-spacing:-.01em;margin:0 0 14px;font-size:16px;font-weight:700}p{margin:0 0 12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:20px 22px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px}.stat .num{letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.1}.stat .label{color:var(--muted);margin-top:4px;font-size:13px;font-weight:500}.stat .sub{color:var(--muted);margin-top:6px;font-size:12px}.stat.accent .num{color:var(--brand-dark)}label{color:var(--muted);margin:12px 0 5px;font-size:12.5px;font-weight:600;display:block}input[type=text],input[type=email],input[type=password],input[type=date],select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--text);background:#fff;padding:9px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}input::placeholder,textarea::placeholder{color:#9aa3b2}textarea{resize:vertical;min-height:72px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}button,.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font:inherit;cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,transform 50ms;display:inline-flex}button:hover,.btn:hover{background:var(--panel-2)}button:active,.btn:active{transform:translateY(1px)}button:focus-visible,.btn:focus-visible{box-shadow:var(--ring);outline:none}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px #2ca01c4d}button.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}button.danger{color:var(--danger);border-color:#f0c8c8}button.danger:hover{background:var(--danger-soft)}button.small,.btn.small{padding:5px 11px;font-size:12.5px}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.tag{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;margin:2px 4px 2px 0;padding:2px 10px;font-size:12px;display:inline-block}.pill{border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600}.pill.on{background:var(--brand-soft);color:var(--brand-dark)}.pill.off{color:var(--muted);background:#eef1f5}.list-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 0;display:flex}.list-item:last-child{border-bottom:none}.step-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);margin-bottom:12px;padding:16px;transition:box-shadow .15s,border-color .15s}.step-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.step-num{background:var(--brand);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:inline-flex}.thumb{border:1px solid var(--border);border-radius:8px;max-width:160px;max-height:110px}.error{color:var(--danger);margin-top:8px;font-size:13px}.empty{color:var(--muted);text-align:center;padding:28px}.step-drag-row{align-items:flex-start;gap:8px;display:flex}.step-drag-row.drag-over{outline:2px dashed var(--brand);outline-offset:2px;border-radius:var(--radius)}.step-drag-row .step-card{flex:1;margin-bottom:0}.step-drag-row+.step-drag-row{margin-top:12px}.drag-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;flex:none;padding:16px 2px;font-size:18px;line-height:1}.drag-handle:active{cursor:grabbing}.recorder-hint{background:var(--brand-soft);border-radius:var(--radius);border:1px solid #cfe8c8;margin-bottom:14px;padding:12px 14px;font-size:14px}.recorder-hint ol{font-size:13px}.flow-id{border:1px solid var(--border);color:var(--text);word-break:break-all;background:#fff;border-radius:6px;padding:6px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.log-client{padding:14px 18px}.log-client>summary{cursor:pointer;align-items:center;gap:10px;font-weight:700;list-style:none;display:flex}.log-client>summary::-webkit-details-marker{display:none}.log-client>summary:before{content:"▸";color:var(--muted)}.log-client[open]>summary:before{content:"▾"}.log-client>summary .count{color:var(--muted);font-size:13px;font-weight:400}.log-month{margin:6px 0}.log-month>summary{cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:5px 0;font-size:14px;font-weight:600;list-style:none;display:flex}.log-month>summary::-webkit-details-marker{display:none}.log-month>summary:before{content:"▸";color:var(--muted);font-size:12px}.log-month[open]>summary:before{content:"▾"}.log-month>summary .count{color:var(--muted);font-size:12px;font-weight:400}.log-month>.log-day{margin-left:18px}.log-day{margin:14px 0 4px}.log-date{color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:4px;font-size:13px;font-weight:600}.log-exchange{border-bottom:1px solid var(--border);padding:10px 0}.log-exchange:last-child{border-bottom:none}.log-q{font-weight:600}.log-meta{color:var(--muted);margin:3px 0 6px;font-size:12px}.log-a{align-items:flex-start;gap:8px;margin:4px 0 6px;display:flex}.log-a-ico{flex:none}.log-a-md{flex:1;min-width:0}.log-a-md .qbo-md-h{margin:9px 0 2px;font-weight:700}.log-a-md .qbo-md-p{margin:3px 0}.log-a-md ul{margin:3px 0 3px 18px;padding:0}.log-a-md li{margin:2px 0}.log-a-md strong{font-weight:700}.log-a-md code{background:#0f172a0f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.log-a-md>:first-child{margin-top:0}.log-a-md>:last-child{margin-bottom:0}
