:root{--plum:#2E1A47;--purple:#6c2bd9;--purple-dark:#4c1d95;--gold:#C9A86A;--cream:#F7F3EE;--ink:#241832;--muted:#6b6472;--line:#e3dccf;--red:#b42318;--green:#137547;--card:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Georgia,'Times New Roman',serif;background:var(--cream);color:var(--ink)}
.topbar{background:var(--plum);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;flex-wrap:wrap}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{background:var(--gold);color:var(--plum);font-weight:700;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}
.brand h1{margin:0;font-size:22px}.brand p{margin:2px 0 0;color:#d9cdea;font-size:13px}
.iam select{padding:8px;border-radius:8px;border:1px solid var(--gold);font:inherit}
.now-slot{font-size:13px;color:#efe7d6}
.main-nav{display:flex;gap:8px;flex-wrap:wrap;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line)}
.main-nav button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit}
.main-nav button.active{background:var(--purple);color:#fff;border-color:var(--purple)}
.app{max-width:1280px;margin:0 auto;padding:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}
.kpi b{font-size:30px;display:block}.kpi span{color:var(--muted);font-size:13px}
.btn{background:var(--purple);color:#fff;border:0;border-radius:10px;padding:9px 14px;cursor:pointer;font:inherit}
.btn.secondary{background:#fff;color:var(--purple-dark);border:1px solid var(--purple)}
.btn.danger{background:var(--red)}.btn.small{padding:6px 10px;font-size:13px}.btn:disabled{opacity:.5}
input,select,textarea{font:inherit;padding:9px;border:1px solid var(--line);border-radius:9px;width:100%;background:#fff}
label{font-size:13px;color:var(--muted);display:block;margin-bottom:10px}label input,label select,label textarea{margin-top:4px;color:var(--ink)}
.board{display:grid;grid-template-columns:repeat(6,minmax(260px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}
.column{background:#efe9dc;border-radius:12px;padding:10px;min-height:120px}.column h3{margin:4px 2px}.column p.meaning{font-size:12px;color:var(--muted);margin:2px}
.lead-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0;cursor:pointer;text-align:left;width:100%;font:inherit}
.badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;background:#efe7ff;color:var(--purple-dark);margin:2px 2px 2px 0}
.badge.good{background:#e2f3e9;color:var(--green)}.badge.bad{background:#fde8e5;color:var(--red)}.badge.gold{background:#f7ecd4;color:#7a5b12}
table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;font-size:14px;vertical-align:top}
.week{overflow-x:auto}.week table{min-width:980px}.slot-cell{font-size:12px}.chip{display:inline-block;background:#efe7ff;border-radius:999px;padding:1px 6px;margin:1px;font-size:11px}
.drawer-back{position:fixed;inset:0;background:rgba(20,10,35,.55);z-index:20}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(620px,100%);background:var(--cream);z-index:21;overflow:auto;padding:20px}
.next-box{background:var(--purple);color:#fff;border-radius:12px;padding:14px;margin-bottom:14px}
.script{border-left:4px solid var(--gold);background:#fff;padding:10px 12px;margin:8px 0;border-radius:0 10px 10px 0}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--plum);color:#fff;padding:11px 16px;border-radius:10px;display:none;z-index:40;max-width:92vw}
.toast.show{display:block}.error{color:var(--red);font-size:13px}.muted{color:var(--muted);font-size:13px}
.banner{background:#f7ecd4;border:1px solid var(--gold);border-radius:14px;padding:16px;margin-bottom:14px}
.flex{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.grow{flex:1}.hidden{display:none}
@media(max-width:700px){.app{padding:12px}.board{grid-template-columns:repeat(6,240px)}}
