:root{
  --bg:#0b0e13; --bg2:#0f131a; --card:#161b23; --card2:#1b212b; --line:#28303c;
  --txt:#eaf0f7; --muted:#8b97a8; --accent:#3ddc97; --accent-d:#0a3326;
  --accent2:#56b6ff; --warn:#f6b860; --bad:#ff7a7a; --radius:18px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Inter,sans-serif;
  color:var(--txt);padding:0 16px 40px;
  background:radial-gradient(120% 60% at 50% -10%,#13202b 0%,var(--bg) 55%) fixed;}

.topbar{position:sticky;top:0;z-index:9;display:flex;align-items:center;justify-content:space-between;
  padding:20px 2px 12px;background:rgba(11,14,19,.82);backdrop-filter:blur(12px)}
.topbar h1{font-size:22px;margin:0;font-weight:800;letter-spacing:-.3px}
.pill{background:var(--card2);color:var(--muted);border:1px solid var(--line);
  border-radius:999px;padding:5px 13px;font-size:13px;font-weight:600}

.tabs{position:sticky;top:60px;z-index:8;display:flex;gap:8px;padding:6px 0 14px;
  overflow-x:auto;background:rgba(11,14,19,.82);backdrop-filter:blur(12px);scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;background:var(--card);color:var(--muted);border:1px solid var(--line);
  border-radius:999px;padding:9px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:.18s}
.tab:hover{color:var(--txt)}
.tab--on{background:linear-gradient(180deg,#46e6a4,#2bc587);color:var(--accent-d);
  border-color:transparent;box-shadow:0 6px 18px rgba(61,220,151,.25)}

.pane{display:none;flex-direction:column;gap:14px;animation:fade .25s ease}
.pane--on{display:flex}
@keyframes fade{from{opacity:0}to{opacity:1}}

.card{background:linear-gradient(180deg,var(--card),#13181f);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:.18s}
.card:hover{border-color:#34404f}
.card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.badge{font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--accent2);
  background:rgba(86,182,255,.13);border-radius:7px;padding:4px 9px;font-weight:800}
.offers{font-size:12px;color:var(--muted);font-weight:600}
.title{font-size:17px;font-weight:700;line-height:1.3;margin:2px 0 8px;letter-spacing:-.2px}
.budget{font-size:15px;color:var(--accent);font-weight:700;margin-bottom:12px}
.rec{background:var(--card2);border-left:3px solid var(--warn);border-radius:12px;
  padding:12px 14px;font-size:14px;line-height:1.55;color:#cfd8e4;margin-bottom:14px}
.rec b{color:var(--warn)}
.actions{display:flex;gap:10px}
.btn{flex:1;border:0;border-radius:13px;padding:13px;font-size:14.5px;font-weight:700;cursor:pointer;
  transition:transform .08s,filter .18s}
.btn:hover{filter:brightness(1.06)}
.btn:active{transform:scale(.97)}
.btn--copy{background:linear-gradient(180deg,#46e6a4,#2bc587);color:var(--accent-d)}
.btn--open{background:var(--card2);color:var(--txt);border:1px solid var(--line)}

.msg{background:linear-gradient(180deg,var(--card),#13181f);border:1px solid var(--line);
  border-radius:var(--radius);padding:15px 17px;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.msg__who{font-weight:700;font-size:15px;margin-bottom:3px;display:flex;align-items:center;gap:8px}
.msg__proj{font-size:12px;color:var(--muted);margin-bottom:7px}
.msg__text{font-size:14.5px;line-height:1.5;color:#cfd8e4}

.form{display:flex;flex-direction:column;gap:11px;margin-bottom:18px}
.ta,.sel{width:100%;background:var(--card);color:var(--txt);border:1px solid var(--line);
  border-radius:14px;padding:14px;font-size:15px;font-family:inherit;transition:.15s}
.ta{min-height:88px;resize:vertical;line-height:1.5}
.ta:focus,.sel:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(61,220,151,.16)}
.ta::placeholder{color:#5e6a7a}

.note{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 15px;
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.note__text{font-size:14.5px;line-height:1.5;white-space:pre-wrap}
.note__del{background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer;flex:0 0 auto}
.note__del:hover{color:var(--bad)}

.task{background:linear-gradient(180deg,var(--card),#13181f);border:1px solid var(--line);
  border-radius:14px;padding:14px 16px;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.task__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.task__proj{font-weight:700;font-size:15px}
.st{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:4px 9px;border-radius:7px}
.st-queued{background:rgba(139,151,168,.18);color:var(--muted)}
.st-running{background:rgba(246,184,96,.18);color:var(--warn)}
.st-done{background:rgba(61,220,151,.18);color:var(--accent)}
.st-error{background:rgba(255,122,122,.18);color:var(--bad)}
.task__prompt{font-size:13.5px;color:var(--muted);margin-bottom:7px;line-height:1.4}
.task__result{font-size:13.5px;line-height:1.55;white-space:pre-wrap;
  background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;
  max-height:240px;overflow:auto;color:#cfd8e4}

.statscard{margin-bottom:18px}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stat{background:linear-gradient(180deg,var(--card),#13181f);border:1px solid var(--line);
  border-radius:14px;padding:14px;text-align:center}
.stat b{display:block;font-size:24px;font-weight:800;color:var(--accent);letter-spacing:-.5px}
.stat span{font-size:12px;color:var(--muted)}
.stat-sub{margin-top:10px;font-size:13px;color:var(--muted);text-align:center}
.hint{font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px}
.row{display:flex;gap:10px;margin-bottom:14px}
.row .btn{flex:1}
.section-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);
  font-weight:800;margin:10px 2px 10px}
.chat-item{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:.15s}
.chat-item:hover{border-color:#34404f}
.chat-item__t{font-weight:700;font-size:15px}
.chat-item__m{font-size:12px;color:var(--muted);margin-top:3px}
.thread-head{font-size:12px;color:var(--muted);font-weight:700;text-align:center;margin-bottom:12px}
#thread{display:flex;flex-direction:column;gap:10px;max-height:62vh;overflow:auto;margin-bottom:12px;padding:2px}
.bubble{max-width:86%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;
  white-space:pre-wrap;word-wrap:break-word}
.bubble--user{align-self:flex-end;background:linear-gradient(180deg,#46e6a4,#2bc587);
  color:var(--accent-d);border-bottom-right-radius:5px}
.bubble--assistant{align-self:flex-start;background:var(--card2);border:1px solid var(--line);
  border-bottom-left-radius:5px}
.empty,.soon{text-align:center;color:var(--muted);margin-top:56px;font-size:15px;line-height:1.6}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);
  background:linear-gradient(180deg,#46e6a4,#2bc587);color:var(--accent-d);font-weight:800;
  padding:11px 20px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.45);font-size:14px}
