/* ═══ Turbo Bot Dashboard — Styles ═══ */
:root {
  --bg: #0f1115;
  --bg2: #13161c;
  --panel: #181b22;
  --panel2: #1c2029;
  --accent: #63f5c6;
  --accent-dim: rgba(99,245,198,0.1);
  --gold: #f5c463;
  --gold-dim: rgba(245,196,99,0.12);
  --text: #e4e6eb;
  --muted: #6b7080;
  --muted2: #8b8f99;
  --green: #34d399;
  --green-dim: rgba(52,211,153,0.1);
  --red: #f87171;
  --red-dim: rgba(248,113,113,0.12);
  --orange: #fb923c;
  --blue: #60a5fa;
  --purple: #a78bfa;
  --bubble-out: #005c4b;
  --bubble-in: #1f2c33;
  --border: rgba(255,255,255,0.06);
  --border2: rgba(255,255,255,0.1);
  --radius: 14px;
  --radius-sm: 8px;
  --transition: all .15s ease;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;line-height:1.5;height:100vh;overflow:hidden;display:flex;flex-direction:column;}
a{color:var(--accent);text-decoration:none;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}

/* ═══ AUTH ═══ */
#auth-screen{display:flex;align-items:center;justify-content:center;height:100vh;}
.auth-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:40px;max-width:360px;width:90%;text-align:center;}
.auth-box h1{font-size:1.3rem;margin-bottom:4px;display:flex;align-items:center;justify-content:center;gap:8px;}
.auth-box p{font-size:0.8rem;color:var(--muted);margin-bottom:20px;}
.auth-box input{width:100%;padding:10px 14px;border:1px solid var(--border2);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:0.85rem;outline:none;font-family:inherit;margin-bottom:10px;}
.auth-box input:focus{border-color:var(--accent);}
.auth-box button{width:100%;padding:10px;background:var(--accent);color:var(--bg);border:none;border-radius:var(--radius-sm);font-weight:600;font-size:0.85rem;cursor:pointer;font-family:inherit;margin-top:4px;}
.auth-box button:hover{opacity:0.85;}
.auth-error{color:var(--red);font-size:0.78rem;margin-top:8px;}

/* ═══ APP ═══ */
#app{display:none;flex:1;overflow:hidden;flex-direction:column;}
#app.show{display:flex;}

/* ═══ TOP BAR ═══ */
.topbar{display:flex;align-items:center;height:46px;padding:0 16px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;}
.topbar-logo{font-weight:700;font-size:0.95rem;color:var(--gold);margin-right:24px;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.topbar-nav{display:flex;gap:2px;height:100%;}
.topbar-nav button{background:none;border:none;color:var(--muted);padding:0 14px;font-size:0.78rem;font-weight:500;cursor:pointer;font-family:inherit;height:100%;border-bottom:2px solid transparent;transition:var(--transition);}
.topbar-nav button:hover{color:var(--text);}
.topbar-nav button.active{color:var(--gold);border-bottom-color:var(--gold);}
.topbar-spacer{flex:1;}
.topbar-user{font-size:0.75rem;color:var(--muted2);margin-right:12px;}
.topbar-badge{padding:2px 10px;border-radius:4px;font-size:0.65rem;font-weight:600;text-transform:uppercase;background:var(--green-dim);color:var(--green);}
.topbar-dot{width:7px;height:7px;border-radius:50%;background:var(--green);margin-left:8px;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* ═══ PAGES ═══ */
.page-wrap{flex:1;overflow:hidden;}
.page{display:none;height:100%;}
.page.active{display:flex;flex-direction:column;}

/* ═══ OVERVIEW ═══ */
.overview-scroll{flex:1;overflow-y:auto;padding:24px 32px;}
.stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:32px;}
.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;text-align:center;position:relative;overflow:hidden;}
.stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);}
.stat .v{font-size:2rem;font-weight:800;}
.stat .l{font-size:0.72rem;color:var(--muted);margin-top:2px;}

/* Org chart */
.org-chart{display:flex;flex-direction:column;align-items:center;}
.org-leader{background:linear-gradient(135deg,rgba(245,196,99,.06),rgba(99,245,198,.04));border:1.5px solid var(--gold);border-radius:var(--radius);padding:18px 28px;display:flex;align-items:center;gap:14px;transition:var(--transition);}
.org-leader:hover{box-shadow:0 0 30px rgba(245,196,99,.08);}
.org-leader .emoji{font-size:2.2rem;}
.org-leader .info .title{font-size:.65rem;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.org-leader .info .name{font-size:1.1rem;font-weight:700;}
.org-leader .info .scope{font-size:.78rem;color:var(--muted);}
.org-vline{width:2px;height:28px;background:var(--gold);}
.org-hbar{width:85%;max-width:900px;height:2px;background:var(--gold);position:relative;margin-bottom:4px;}
.org-hbar .dot{position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--gold);border:2px solid var(--bg);}
.org-vlines{display:flex;width:85%;max-width:900px;justify-content:space-between;padding:0 2%;}
.org-vlines .vl{width:2px;height:20px;background:var(--gold);}
.org-agents{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:0;}
.org-agent{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;width:190px;text-align:center;transition:var(--transition);}
.org-agent:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.3);}
.org-agent .emoji{font-size:1.8rem;margin-bottom:6px;}
.org-agent .name{font-size:.9rem;font-weight:700;margin-bottom:2px;}
.org-agent .role{font-size:.65rem;color:var(--gold);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:8px;}
.org-agent .desc{font-size:.73rem;color:var(--muted);margin-bottom:10px;line-height:1.4;}
.org-agent .tags{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;}
.tag{display:inline-block;padding:2px 7px;border-radius:4px;font-size:.6rem;font-weight:600;}
.tag-green{background:var(--green-dim);color:var(--green);}
.tag-accent{background:var(--accent-dim);color:var(--accent);}

/* ═══ CHAT PAGE ═══ */
.chat-layout{display:flex;height:100%;overflow:hidden;}
.chat-sidebar{width:240px;background:var(--bg2);border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0;}
.ch-section-label{padding:10px 14px 4px;font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
.ch-item{display:flex;align-items:center;gap:8px;padding:7px 14px;cursor:pointer;font-size:.82rem;color:var(--muted2);border-radius:4px;margin:1px 6px;transition:var(--transition);}
.ch-item:hover{background:rgba(255,255,255,.03);color:var(--text);}
.ch-item.active{background:var(--accent-dim);color:var(--accent);}
.ch-item .ch-icon{font-size:.9rem;}
.dm-item{display:flex;align-items:center;gap:8px;padding:7px 14px;cursor:pointer;font-size:.82rem;color:var(--muted2);border-radius:4px;margin:1px 6px;transition:var(--transition);}
.dm-item:hover{background:rgba(255,255,255,.03);color:var(--text);}
.dm-item.active{background:var(--accent-dim);color:var(--accent);}

/* Chat main */
.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--bg);}
.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center;}
.ce-icon{font-size:3.5rem;margin-bottom:12px;opacity:.3;}
.chat-empty h2{font-size:1rem;color:var(--text);font-weight:500;margin-bottom:4px;}
.chat-empty p{font-size:.82rem;}
.chat-header{display:flex;align-items:center;gap:10px;padding:8px 16px;height:50px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;}
.ch-avatar{width:34px;height:34px;border-radius:50%;background:var(--panel2);display:flex;align-items:center;justify-content:center;font-size:1rem;}
.ch-info{flex:1;}
.ch-name{font-size:.88rem;font-weight:600;}
.ch-status{font-size:.7rem;color:var(--green);}
.chat-messages{flex:1;overflow-y:auto;padding:16px 48px;display:flex;flex-direction:column;gap:4px;}
.bubble{max-width:65%;padding:6px 10px 4px;border-radius:8px;font-size:.86rem;line-height:1.45;word-break:break-word;white-space:pre-wrap;}
.bubble.out{background:var(--bubble-out);align-self:flex-end;border-top-right-radius:2px;}
.bubble.in{background:var(--bubble-in);align-self:flex-start;border-top-left-radius:2px;}
.bubble .b-name{font-size:.72rem;font-weight:600;margin-bottom:2px;display:block;}
.bubble .b-time{font-size:.6rem;color:var(--muted);float:right;margin-left:10px;margin-top:4px;}
.bubble.error{border-left:2px solid var(--red);}
.bubble .b-name.client{color:var(--accent);}
.bubble .b-name.agent-turbo{color:var(--gold);}
.bubble .b-name.agent-darwin{color:#34d399;}
.bubble .b-name.agent-riley{color:#34d399;}
.bubble .b-name.agent-morgan{color:var(--orange);}
.bubble .b-name.agent-harper{color:var(--blue);}
.bubble .b-name.agent-casey{color:var(--purple);}
.system-msg{text-align:center;font-size:.72rem;color:var(--muted);padding:4px 12px;margin:8px auto;background:rgba(0,0,0,.25);border-radius:6px;max-width:80%;}
.typing-indicator{background:var(--bubble-in);padding:8px 14px;border-radius:8px;font-size:.78rem;color:var(--muted);font-style:italic;display:none;margin:4px 48px;align-self:flex-start;animation:typingPulse 1.5s infinite;flex-shrink:0;}
.typing-indicator.show{display:block;}
@keyframes typingPulse{0%,100%{opacity:1;}50%{opacity:.5;}}
.chat-input-bar{display:flex;gap:8px;padding:10px 16px;background:var(--panel);flex-shrink:0;align-items:flex-end;}
.chat-input-bar textarea{flex:1;background:var(--bg2);border:1px solid var(--border2);color:var(--text);border-radius:20px;padding:9px 16px;font-size:.86rem;font-family:inherit;resize:none;outline:none;max-height:100px;}
.chat-input-bar textarea:focus{border-color:var(--accent);}
.chat-input-bar textarea::placeholder{color:var(--muted);}
.send-btn{width:38px;height:38px;background:var(--accent);color:var(--bg);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.send-btn:hover{opacity:.85;}

/* Members panel */
.chat-members{width:180px;background:var(--bg2);border-left:1px solid var(--border);overflow-y:auto;flex-shrink:0;padding:10px 0;}
.members-title{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 14px 6px;font-weight:600;}
.member{display:flex;align-items:center;gap:6px;padding:3px 14px;font-size:.78rem;}
.member .m-dot{width:6px;height:6px;border-radius:50%;background:var(--green);margin-left:auto;}

/* ═══ ACTIVITY ═══ */
.activity-scroll{flex:1;overflow-y:auto;padding:24px 32px;}
.feed-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.feed-header{padding:12px 16px;border-bottom:1px solid var(--border);}
.feed-header h3{font-size:.85rem;font-weight:700;}
.feed-list{max-height:calc(100vh - 180px);overflow-y:auto;}
.feed-row{display:flex;align-items:flex-start;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border);font-size:.8rem;}
.feed-row .f-time{font-size:.68rem;color:var(--muted);min-width:55px;white-space:nowrap;}
.feed-row .f-emoji{font-size:.9rem;}
.feed-row .f-text{color:var(--text);}

/* ═══ USER MENU ═══ */
.user-menu{position:relative;margin-left:10px;}
.user-menu-btn{background:var(--panel2);border:1px solid var(--border2);color:var(--text);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;}
.user-menu-btn:hover{border-color:var(--accent);}
.user-dropdown{display:none;position:absolute;top:40px;right:0;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-sm);min-width:220px;box-shadow:0 8px 30px rgba(0,0,0,.5);z-index:100;overflow:hidden;}
.user-dropdown.show{display:block;}
.ud-name{padding:12px 14px 2px;font-size:.85rem;font-weight:600;}
.ud-email{padding:0 14px 10px;font-size:.7rem;color:var(--muted);}
.ud-divider{height:1px;background:var(--border);margin:0;}
.user-dropdown button{width:100%;text-align:left;background:none;border:none;color:var(--text);padding:10px 14px;font-size:.8rem;cursor:pointer;font-family:inherit;}
.user-dropdown button:hover{background:rgba(255,255,255,.04);}
.user-dropdown .ud-logout{color:var(--red);}
.user-dropdown .ud-logout:hover{background:var(--red-dim);}

/* ═══ MODAL ═══ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:200;}
.modal-box{background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius);padding:24px;max-width:380px;width:90%;}
.modal-box h3{font-size:.95rem;margin-bottom:16px;}
.modal-box input{width:100%;padding:10px 14px;border:1px solid var(--border2);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.85rem;outline:none;font-family:inherit;margin-bottom:10px;}
.modal-box input:focus{border-color:var(--accent);}
.modal-error{color:var(--red);font-size:.75rem;min-height:18px;margin-bottom:8px;}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;}
.modal-cancel{background:var(--panel2);border:1px solid var(--border2);color:var(--muted2);padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.8rem;}
.modal-confirm{background:var(--accent);border:none;color:var(--bg);padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:600;}
.modal-confirm:hover{opacity:.85;}

/* ═══ RESPONSIVE ═══ */
@media(max-width:900px){
  .chat-members{display:none;}
  .chat-sidebar{width:60px;}
  .ch-section-label{display:none;}
  .ch-item span:not(.ch-icon),.dm-item span:not(:first-child){display:none;}
  .stats-row{grid-template-columns:repeat(3,1fr);}
  .org-agents{flex-direction:column;align-items:center;}
  .org-agent{width:90%;}
  .chat-messages{padding:12px 16px;}
  .bubble{max-width:85%;}
}
@media(max-width:600px){
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .overview-scroll{padding:16px;}
}
