
:root {
  --bg: #FFFFFF;
  --sidebar-bg: #F7F6F4;
  --sidebar-hover: #EFEDE9;
  --sidebar-active: #E8E5DF;
  --panel-bg: #FAFAF8;
  --border: #E8E6E1;
  --border-light: #F0EDE8;
  --text-primary: #1A1814;
  --text-secondary: #6B6560;
  --text-tertiary: #AAA49C;
  --accent: #7C5CFC;
  --accent-light: #EDE8FF;
  --accent-hover: #6A4EE0;
  --status-new: #3B82F6;
  --status-new-bg: #EFF6FF;
  --status-lead: #D97706;
  --status-lead-bg: #FFFBEB;
  --status-closed: #059669;
  --status-closed-bg: #ECFDF5;
  --status-lost: #DC2626;
  --status-lost-bg: #FEF2F2;
  --status-ignored: #9CA3AF;
  --status-ignored-bg: #F9FAFB;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.06);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);height:100vh;display:flex;flex-direction:column;overflow:hidden;-webkit-font-smoothing:antialiased}

/* LOGIN */
#login-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#F7F6F4 0%,#EFEDE9 100%)}
.login-box{width:380px;background:var(--bg);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-lg);border:1px solid var(--border)}
.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}
.login-logo-mark{width:32px;height:32px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:600}
.login-logo-text{font-size:18px;font-weight:600;color:var(--text-primary)}
.login-box h1{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.login-box p{font-size:13px;color:var(--text-secondary);margin-bottom:24px}
.login-box input{width:100%;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:11px 14px;font-size:14px;color:var(--text-primary);margin-bottom:10px;outline:none;font-family:inherit;transition:border-color .15s}
.login-box input:focus{border-color:var(--accent);background:var(--bg)}
.login-box button{width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);padding:12px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s}
.login-box button:hover{background:var(--accent-hover)}
.login-error{color:var(--status-lost);font-size:13px;margin-top:8px}

/* APP SHELL */
#app{display:none;flex:1;overflow:hidden;flex-direction:row}

/* SIDEBAR */
.sidebar{width:230px;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}
.sidebar-header{padding:16px 16px 12px}
.sidebar-brand{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.sidebar-brand-mark{width:24px;height:24px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}
.sidebar-brand-text{font-size:13px;font-weight:600;color:var(--text-primary)}
.search-box input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px;color:var(--text-primary);outline:none;font-family:inherit;transition:border-color .15s}
.search-box input:focus{border-color:var(--accent)}
.search-box input::placeholder{color:var(--text-tertiary)}
.sidebar-nav{padding:8px;flex:1;overflow-y:auto}
.nav-label{font-size:10px;font-weight:600;color:var(--text-tertiary);letter-spacing:.8px;text-transform:uppercase;padding:10px 8px 5px}
.nav-item{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .12s;user-select:none}
.nav-item:hover{background:var(--sidebar-hover);color:var(--text-primary)}
.nav-item.active{background:var(--sidebar-active);color:var(--text-primary);font-weight:500}
.nav-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.nav-count{margin-left:auto;font-size:11px;color:var(--text-tertiary);background:var(--border-light);padding:1px 7px;border-radius:20px;min-width:22px;text-align:center;font-weight:500}
.nav-count.has-items{background:var(--accent-light);color:var(--accent)}
.triage-btn{margin:8px;padding:9px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;text-align:center;transition:all .15s;font-family:inherit;box-shadow:var(--shadow-sm)}
.triage-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.triage-btn.has-new{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.creator-filter{padding:0 8px 8px}
.creator-filter select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;font-size:12px;color:var(--text-secondary);outline:none;font-family:inherit;cursor:pointer}
.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border)}
.footer-user{display:flex;align-items:center;gap:8px}
.footer-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}
.footer-info{flex:1;min-width:0}
.footer-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.footer-role{font-size:10px;color:var(--text-tertiary)}
.role-badge{font-size:10px;background:var(--accent-light);color:var(--accent);padding:1px 7px;border-radius:20px;font-weight:500}
.logout-btn{font-size:11px;color:var(--text-tertiary);cursor:pointer;margin-top:6px;transition:color .12s}
.logout-btn:hover{color:var(--text-secondary)}

/* MAIN */
.main{flex:1;display:flex;overflow:hidden}

/* EMAIL LIST */
.email-list{width:300px;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;background:var(--bg)}
.email-list-header{padding:14px 16px 10px;display:flex;align-items:center;justify-content:space-between}
.email-list-header h3{font-size:14px;font-weight:600;color:var(--text-primary)}
.icon-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 9px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .12s;font-family:inherit}
.icon-btn:hover{border-color:var(--accent);color:var(--accent)}
.status-tabs{display:flex;padding:0 12px 10px;gap:2px;overflow-x:auto}
.status-tab{padding:5px 10px;border-radius:20px;font-size:11px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border:none;background:none;white-space:nowrap;font-family:inherit;transition:all .12s}
.status-tab:hover{color:var(--text-secondary)}
.status-tab.active{background:var(--sidebar-active);color:var(--text-primary)}
.email-items{flex:1;overflow-y:auto}
.email-item{padding:12px 16px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s;position:relative}
.email-item:hover{background:var(--panel-bg)}
.email-item.active{background:var(--accent-light)}
.email-item-left-bar{position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;opacity:0}
.email-item.status-new .email-item-left-bar,.email-item.unread .email-item-left-bar{background:var(--status-new);opacity:1}
.email-item.status-lead .email-item-left-bar{background:var(--status-lead);opacity:1}
.email-item.status-closed .email-item-left-bar{background:var(--status-closed);opacity:0}
.email-item.status-lost .email-item-left-bar{background:var(--status-lost);opacity:1}
.ei-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;gap:8px}
.ei-sender{display:flex;align-items:center;gap:7px;min-width:0}
.ei-avatar{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#fff}
.ei-from-col{display:flex;flex-direction:column;min-width:0}
.ei-from{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.email-item.unread .ei-from{font-weight:600;color:var(--text-primary)}
.ei-from-name{font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.ei-to-badge{font-size:10px;background:var(--accent-light);color:var(--accent);padding:1px 7px;border-radius:10px;font-weight:500;white-space:nowrap;flex-shrink:0}
.ei-creator-name-small{font-size:10px;color:var(--text-tertiary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ei-time{font-size:11px;color:var(--text-tertiary);flex-shrink:0}
.ei-subject{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px;padding-left:29px}
.email-item.unread .ei-subject{color:var(--text-secondary)}
.ei-preview{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:29px}
.ei-bottom{display:flex;align-items:center;gap:6px;margin-top:4px;padding-left:29px;flex-wrap:wrap}
.ei-creator{font-size:10px;color:var(--text-tertiary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ei-creator-name{color:var(--accent);font-weight:500}
.ei-thread-count{font-size:10px;background:var(--status-closed-bg);color:var(--status-closed);padding:1px 6px;border-radius:10px;flex-shrink:0;font-weight:500}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:8px}
.empty-state-icon{font-size:28px;opacity:.4}
.empty-state-text{color:var(--text-tertiary);font-size:13px}

/* EMAIL DETAIL */
.email-detail{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
.email-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;background:var(--panel-bg)}
.email-detail-empty-icon{font-size:36px;opacity:.3}
.email-detail-empty-text{color:var(--text-tertiary);font-size:13px}
.email-detail-empty-hint{color:var(--text-tertiary);font-size:11px;opacity:.6}

/* EMAIL HEADER */
.email-detail-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);background:var(--bg)}
.ed-subject{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:10px;line-height:1.3}
.ed-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ed-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;flex-shrink:0}
.ed-from-info{flex:1;min-width:0}
.ed-from-name{font-size:13px;font-weight:500;color:var(--text-primary)}
.ed-from-email{font-size:11px;color:var(--text-tertiary)}
.ed-creator-badge{font-size:11px;background:var(--accent-light);color:var(--accent);padding:3px 10px;border-radius:20px;font-weight:500;flex-shrink:0}
.ed-received-at{font-size:11px;color:var(--text-tertiary);white-space:nowrap}
.ed-time{font-size:11px;color:var(--text-tertiary);margin-left:auto;flex-shrink:0}

/* EMAIL ACTIONS */
.email-actions{padding:10px 24px;border-bottom:1px solid var(--border);display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:var(--panel-bg)}
.status-pill{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:none;color:var(--text-secondary);transition:all .15s;font-family:inherit}
.status-pill:hover{border-color:var(--text-secondary);color:var(--text-primary)}
.status-pill.active-new{border-color:var(--status-new);color:var(--status-new);background:var(--status-new-bg)}
.status-pill.active-lead{border-color:var(--status-lead);color:var(--status-lead);background:var(--status-lead-bg)}
.status-pill.active-closed{border-color:var(--status-closed);color:var(--status-closed);background:var(--status-closed-bg)}
.status-pill.active-lost{border-color:var(--status-lost);color:var(--status-lost);background:var(--status-lost-bg)}
.status-pill.active-ignored{border-color:var(--status-ignored);color:var(--status-ignored);background:var(--status-ignored-bg)}
.assign-select{padding:5px 10px;border-radius:20px;font-size:12px;background:var(--bg);border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;outline:none;margin-left:auto;font-family:inherit}
.collision-bar{padding:0 24px 8px;background:var(--panel-bg)}
.collision-indicator{font-size:11px;color:var(--status-lead);background:var(--status-lead-bg);padding:4px 10px;border-radius:var(--radius-sm);display:inline-block}
.collision-indicator.active{display:inline-block}

/* EMAIL BODY */
.email-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px}
.date-sep{display:flex;align-items:center;gap:10px;margin:4px 0}
.date-sep-line{flex:1;height:1px;background:var(--border-light)}
.date-sep-text{font-size:10px;color:var(--text-tertiary);white-space:nowrap;font-weight:500}
.msg-bubble{display:flex;flex-direction:column;max-width:78%}
.msg-bubble.received{align-self:flex-start}
.msg-bubble.sent{align-self:flex-end}
.msg-bubble-header{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.msg-bubble.sent .msg-bubble-header{flex-direction:row-reverse}
.msg-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;color:#fff;flex-shrink:0}
.msg-sender{font-size:11px;color:var(--text-tertiary);font-weight:500}
.msg-sender.team{color:var(--accent)}
.msg-time{font-size:10px;color:var(--text-tertiary)}
.msg-body{padding:12px 16px;border-radius:var(--radius-lg);font-size:13px;line-height:1.65;word-break:break-word;white-space:pre-wrap;box-shadow:var(--shadow-sm)}
.msg-bubble.received .msg-body{background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:4px}
.msg-bubble.sent .msg-body{background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.msg-bubble.sent .msg-body a{color:rgba(255,255,255,.8)}
.note-bubble{align-self:center;max-width:88%;background:#FFFBEB;border:1px solid #FDE68A;border-radius:var(--radius-md);padding:10px 14px}
.note-bubble-header{font-size:10px;color:#92400E;margin-bottom:3px;display:flex;gap:8px;font-weight:500}
.note-bubble-body{font-size:12px;color:#78350F;line-height:1.5}

/* REPLY AREA */
.reply-area{border-top:1px solid var(--border);background:var(--bg);flex-shrink:0}
.reply-tabs{display:flex;border-bottom:1px solid var(--border-light);padding:0 24px}
.reply-tab{padding:10px 0;margin-right:20px;font-size:12px;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;font-weight:500;transition:all .15s}
.reply-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.reply-content{padding:14px 24px}
.reply-to-label{font-size:11px;color:var(--text-tertiary);margin-bottom:8px}
.reply-to-label span{color:var(--text-secondary);font-weight:500}
.quick-reply-bar{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.qr-btn{padding:4px 12px;border-radius:20px;font-size:11px;color:var(--accent);border:1px solid var(--accent-light);background:var(--accent-light);cursor:pointer;font-family:inherit;font-weight:500;transition:all .12s}
.qr-btn:hover{background:var(--accent);color:#fff}
.reply-content textarea{width:100%;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;font-size:13px;color:var(--text-primary);resize:none;outline:none;font-family:inherit;line-height:1.6;min-height:80px;max-height:220px;transition:border-color .15s,min-height .2s}
.reply-content textarea:focus{border-color:var(--accent);min-height:140px;background:var(--bg)}
.reply-content textarea::placeholder{color:var(--text-tertiary)}
.reply-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:10px;gap:8px}
.btn-primary{padding:8px 20px;background:var(--accent);border:none;border-radius:var(--radius-md);font-size:12px;font-weight:500;color:#fff;cursor:pointer;font-family:inherit;transition:background .15s}
.btn-primary:hover{background:var(--accent-hover)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-secondary{padding:8px 16px;background:none;border:1.5px solid var(--status-closed);border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--status-closed);cursor:pointer;font-family:inherit;transition:all .15s}
.btn-secondary:hover{background:var(--status-closed-bg)}
.btn-note{padding:8px 16px;background:none;border:1.5px solid #F59E0B;border-radius:var(--radius-md);font-size:12px;font-weight:500;color:#B45309;cursor:pointer;font-family:inherit;transition:all .15s}
.btn-note:hover{background:#FFFBEB}

/* TOAST */
.toast{position:fixed;bottom:24px;right:24px;background:var(--text-primary);border-radius:var(--radius-md);padding:10px 18px;font-size:13px;color:#fff;z-index:9999;display:none;box-shadow:var(--shadow-lg);font-weight:500}
.toast.success{background:#059669}
.toast.error{background:#DC2626}

/* ADMIN PANELS */
.admin-panel{padding:24px;overflow-y:auto;flex:1;background:var(--panel-bg)}
.admin-section{max-width:560px;margin-bottom:32px;background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-sm)}
.admin-section-header{padding:16px 20px;border-bottom:1px solid var(--border-light)}
.admin-section-header h3{font-size:14px;font-weight:600;color:var(--text-primary)}
.admin-form{padding:16px 20px;display:grid;gap:10px;border-bottom:1px solid var(--border-light)}
.admin-input{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;font-size:13px;color:var(--text-primary);outline:none;width:100%;font-family:inherit;transition:border-color .15s}
.admin-input:focus{border-color:var(--accent);background:var(--bg)}
.admin-input::placeholder{color:var(--text-tertiary)}
.admin-btn-primary{background:var(--accent);border:none;border-radius:var(--radius-md);padding:10px 16px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;font-family:inherit;transition:background .15s;width:100%}
.admin-btn-primary:hover{background:var(--accent-hover)}
.admin-btn-primary:disabled{opacity:.5;cursor:not-allowed}
.admin-list{padding:8px}
.admin-list-item{padding:10px 12px;border-radius:var(--radius-md);display:flex;align-items:center;gap:10px;transition:background .1s}
.admin-list-item:hover{background:var(--panel-bg)}
.ali-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;flex-shrink:0}
.ali-info{flex:1;min-width:0}
.ali-name{font-size:13px;color:var(--text-primary);font-weight:500}
.ali-sub{font-size:11px;color:var(--text-tertiary);margin-top:1px}
.ali-badge{font-size:10px;padding:2px 8px;border-radius:20px;background:var(--accent-light);color:var(--accent);flex-shrink:0;font-weight:500}
.ali-badge.admin-badge{background:var(--status-lost-bg);color:var(--status-lost)}
.ali-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.ali-select{padding:5px 8px;border-radius:var(--radius-sm);font-size:11px;background:var(--panel-bg);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;outline:none;font-family:inherit}
.ali-btn{padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;border:1px solid var(--border);color:var(--text-secondary);background:none;cursor:pointer;font-family:inherit;transition:all .12s}
.ali-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}
.ali-btn.del{border-color:var(--status-lost-bg);color:var(--status-lost)}
.ali-btn.del:hover{background:var(--status-lost-bg)}
.password-reveal{margin:0 20px 16px;padding:12px 16px;background:var(--status-closed-bg);border:1px solid #6EE7B7;border-radius:var(--radius-md);font-size:13px;color:var(--status-closed);display:none}
.password-reveal strong{display:block;font-size:10px;color:var(--text-tertiary);margin-bottom:3px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.bulk-bar{display:flex;gap:8px;align-items:center;padding:10px 20px;border-bottom:1px solid var(--border-light);background:var(--accent-light)}
.bulk-bar span{font-size:12px;color:var(--accent);font-weight:500;flex:1}

/* TRIAGE MODE */
#triage-mode{display:none;position:fixed;inset:0;z-index:1000;flex-direction:column;align-items:center;justify-content:center}
#triage-mode.active{display:flex}
.triage-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,#F0ECFF 0%,#FCF0F8 40%,#EFF6FF 100%)}
.triage-backdrop::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(124,92,252,0.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(236,72,153,0.06) 0%,transparent 50%)}
.triage-header{position:absolute;top:0;left:0;right:0;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;z-index:10;background:rgba(255,255,255,0.7);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.5)}
.triage-header h2{font-size:14px;font-weight:600;color:var(--text-primary)}
.triage-progress-bar{flex:1;max-width:200px;height:4px;background:var(--border);border-radius:2px;margin:0 16px;overflow:hidden}
.triage-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}
.triage-progress-text{font-size:12px;color:var(--text-secondary);white-space:nowrap}
.triage-close{background:rgba(255,255,255,0.8);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;font-family:inherit;backdrop-filter:blur(10px);transition:all .15s}
.triage-close:hover{border-color:var(--text-secondary);color:var(--text-primary)}
.triage-card-area{display:flex;align-items:center;justify-content:center;width:100%;max-width:780px;padding:72px 24px 96px;position:relative;z-index:5}
.triage-card{background:rgba(255,255,255,0.88);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,0.9);border-radius:var(--radius-xl);padding:32px 36px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,0.1),0 4px 16px rgba(0,0,0,0.06);position:relative;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .25s}
.triage-card.slide-left{transform:translateX(-130%) rotate(-10deg);opacity:0;transition:transform .3s ease-in,opacity .3s ease-in}
.triage-card.slide-right{transform:translateX(130%) rotate(10deg);opacity:0;transition:transform .3s ease-in,opacity .3s ease-in}
.swipe-hint{position:absolute;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--radius-md);pointer-events:none;opacity:0;transition:opacity .15s}
.swipe-hint.left{left:-120px;background:var(--status-ignored-bg);color:var(--status-ignored);border:1.5px solid var(--border)}
.swipe-hint.right{right:-120px;background:var(--accent-light);color:var(--accent);border:1.5px solid var(--accent)}
.tc-creator-row{display:flex;align-items:center;gap:7px;margin-bottom:14px}
.tc-creator-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;color:#fff;background:var(--accent);flex-shrink:0}
.tc-creator-label{font-size:11px;color:var(--accent);font-weight:500}
.tc-from{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:2px;line-height:1.2}
.tc-subject{font-size:16px;color:var(--text-primary);margin-bottom:14px;font-weight:600;line-height:1.3}
.tc-body-scroll{max-height:300px;overflow-y:auto;margin-bottom:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:14px 16px;background:var(--panel-bg)}
.tc-preview{font-size:13px;color:var(--text-secondary);line-height:1.75;white-space:pre-wrap;word-break:break-word}
.tc-time{font-size:11px;color:var(--text-tertiary);margin-top:12px}
.triage-tabs{display:flex;border-bottom:1px solid var(--border-light);margin-top:16px}
.triage-tab-item{padding:8px 0;margin-right:18px;font-size:12px;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;font-weight:500;transition:all .15s}
.triage-tab-item.active{color:var(--accent);border-bottom-color:var(--accent)}
.triage-reply-area{margin-top:12px}
.triage-reply-area textarea,.triage-note-area textarea{width:100%;background:rgba(255,255,255,0.7);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;font-size:13px;color:var(--text-primary);resize:none;outline:none;font-family:inherit;line-height:1.6;min-height:90px;transition:border-color .15s;backdrop-filter:blur(10px)}
.triage-reply-area textarea:focus,.triage-note-area textarea:focus{border-color:var(--accent);background:rgba(255,255,255,0.9)}
.triage-reply-actions{display:flex;justify-content:flex-end;margin-top:8px}
.triage-note-area{margin-top:12px;display:none}
.triage-actions{position:absolute;bottom:0;left:0;right:0;padding:16px 24px;display:flex;align-items:center;justify-content:center;gap:12px;z-index:10;background:rgba(255,255,255,0.85);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,0.6)}
.triage-action-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;border-radius:var(--radius-lg);font-size:13px;font-weight:500;cursor:pointer;border:1.5px solid;transition:all .2s;font-family:inherit;min-width:140px;justify-content:center}
.triage-action-btn .key-badge{font-size:10px;font-weight:700;background:rgba(0,0,0,0.1);padding:2px 6px;border-radius:4px;letter-spacing:.5px}
.btn-triage-lead .key-badge{background:rgba(255,255,255,0.25)}
.btn-triage-ignore{background:var(--bg);border-color:var(--border);color:var(--text-secondary)}
.btn-triage-ignore:hover{border-color:#9CA3AF;color:#374151;background:#F9FAFB}
.btn-triage-undo{background:var(--bg);border-color:var(--accent-light);color:var(--accent);display:none;min-width:auto;padding:12px 18px}
.btn-triage-undo:hover{background:var(--accent-light)}
.btn-triage-lead{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-triage-lead:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.triage-zero{display:none;flex-direction:column;align-items:center;gap:14px;text-align:center;position:relative;z-index:5}
.triage-zero.active{display:flex}
.triage-zero .emoji{font-size:52px}
.triage-zero h3{font-size:20px;font-weight:600;color:var(--text-primary)}
.triage-zero p{font-size:13px;color:var(--text-secondary)}

::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}

@media (max-width: 768px) {
  .sidebar{width:100%;position:fixed;bottom:0;left:0;right:0;top:auto;height:60px;flex-direction:row;border-right:none;border-top:1px solid var(--border);z-index:100;padding:0}
  .sidebar-header,.sidebar-nav,.sidebar-footer,.triage-btn,.creator-filter{display:none!important}
  .sidebar-mobile-nav{display:flex;flex:1;justify-content:space-around;align-items:center;padding:8px 0}
  .mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--text-tertiary);cursor:pointer;padding:4px 12px;border-radius:8px;transition:all .12s}
  .mobile-nav-item.active{color:var(--accent)}
  .mobile-nav-item svg{width:20px;height:20px}
  #app{flex-direction:column}
  .main{flex-direction:column;padding-bottom:60px}
  .email-list{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:45vh}
  .email-detail{min-height:55vh}
  .email-detail-header{padding:14px 16px 12px}
  .ed-subject{font-size:15px}
  .email-body{padding:14px 16px}
  .reply-content{padding:10px 16px}
  .triage-card-area{padding:60px 12px 90px}
  .triage-card{padding:20px}
  .tc-from{font-size:17px}
  .swipe-hint{display:none}
}
@media (min-width: 769px) {
  .sidebar-mobile-nav{display:none}
}

/* DARK MODE */
body.dark {
  --bg: #1A1A1E;
  --sidebar-bg: #131316;
  --sidebar-hover: #1F1F24;
  --sidebar-active: #26262D;
  --panel-bg: #16161A;
  --border: #2C2C35;
  --border-light: #232329;
  --text-primary: #F0EFF4;
  --text-secondary: #9B9AA6;
  --text-tertiary: #5C5B68;
  --accent: #8B6EFF;
  --accent-light: #1E1833;
  --accent-hover: #7A5EEE;
  --status-new: #60A5FA;
  --status-new-bg: #0F1E36;
  --status-lead: #FBBF24;
  --status-lead-bg: #1F1606;
  --status-closed: #34D399;
  --status-closed-bg: #052016;
  --status-lost: #F87171;
  --status-lost-bg: #200A0A;
  --status-ignored: #6B7280;
  --status-ignored-bg: #111318;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.2);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.4), 0 2px 4px rgba(0,0,0,0.2);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.5), 0 4px 12px rgba(0,0,0,0.3);
}
body.dark .triage-backdrop {
  background: linear-gradient(135deg, #0F0E14 0%, #130E18 40%, #0E1018 100%);
}
body.dark .triage-card {
  background: rgba(22,22,28,0.95);
  border-color: rgba(255,255,255,0.07);
}
body.dark .tc-body-scroll { background: var(--panel-bg); border-color: var(--border-light); }
body.dark .triage-header, body.dark .triage-actions {
  background: rgba(19,19,22,0.9);
  border-color: rgba(255,255,255,0.06);
}
body.dark .msg-bubble.sent .msg-body { background: #5B42CC; }
body.dark .note-bubble { background: #1C1A00; border-color: #3D3500; }
body.dark .note-bubble-header { color: #D4A017; }
body.dark .note-bubble-body { color: #B8860B; }
body.dark #login-screen { background: linear-gradient(135deg, #0F0F12 0%, #1A1A1E 100%); }
body.dark .login-box { background: #1A1A1E; border-color: #2C2C35; }
body.dark .login-box input { background: #16161A; border-color: #2C2C35; color: #F0EFF4; }
body.dark .login-box input:focus { background: #1A1A1E; }
body.dark .email-detail-empty { background: var(--panel-bg); }
body.dark .triage-close { background: rgba(26,26,30,0.8); border-color: #2C2C35; color: #9B9AA6; }
body.dark .triage-close:hover { border-color: #9B9AA6; color: #F0EFF4; }
body.dark .icon-btn { border-color: #2C2C35; color: #9B9AA6; }
body.dark .icon-btn:hover { border-color: var(--accent); color: var(--accent); }
body.dark .status-tab.active { background: #26262D; color: #F0EFF4; }
body.dark .search-box input { background: #16161A; border-color: #2C2C35; color: #F0EFF4; }
body.dark .triage-reply-area textarea,
body.dark .triage-note-area textarea { background: rgba(26,26,32,0.8); color: #F0EFF4; border-color: #2C2C35; }
body.dark .triage-reply-area textarea:focus,
body.dark .triage-note-area textarea:focus { background: rgba(30,30,38,0.95); border-color: var(--accent); }
body.dark .btn-triage-ignore { background: #1A1A1E; border-color: #2C2C35; color: #9B9AA6; }
body.dark .btn-triage-ignore:hover { background: #26262D; border-color: #9B9AA6; color: #F0EFF4; }
body.dark .msg-bubble.received .msg-body { background: #1F1F26; border-color: #2C2C35; }
body.dark .reply-content textarea { background: #16161A; border-color: #2C2C35; color: #F0EFF4; }
body.dark .reply-content textarea:focus { background: #1A1A1E; border-color: var(--accent); }
body.dark .assign-select { background: #1A1A1E; border-color: #2C2C35; color: #9B9AA6; }
body.dark .creator-filter select { background: #1A1A1E; border-color: #2C2C35; color: #9B9AA6; }
body.dark .admin-input { background: #16161A; border-color: #2C2C35; color: #F0EFF4; }
body.dark .admin-input:focus { background: #1A1A1E; }
body.dark .password-reveal { background: #052016; border-color: #065f46; color: #34D399; }
body.dark .ali-select { background: #1A1A1E; border-color: #2C2C35; color: #9B9AA6; }
.theme-toggle {
  background: none;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 4px 8px;
  font-size: 14px;
  cursor: pointer;
  color: var(--text-tertiary);
  transition: all .15s;
  margin-left: auto;
  flex-shrink: 0;
}
.theme-toggle:hover { border-color: var(--accent); color: var(--accent); }

/* DASHBOARD */
.dashboard{padding:32px 36px;overflow-y:auto;flex:1;background:var(--panel-bg);display:flex;flex-direction:column;gap:24px}
.dash-welcome{font-size:22px;font-weight:600;color:var(--text-primary);margin-bottom:2px}
.dash-sub{font-size:13px;color:var(--text-tertiary)}
.dash-triage-banner{background:var(--accent);border-radius:var(--radius-lg);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 24px rgba(124,92,252,0.25)}
.dash-triage-banner.no-new{background:var(--status-closed-bg);border:1px solid var(--status-closed)}
.dash-triage-left h3{font-size:18px;font-weight:600;color:#fff;margin-bottom:4px}
.dash-triage-left p{font-size:13px;color:rgba(255,255,255,0.75)}
.dash-triage-banner.no-new .dash-triage-left h3{color:var(--status-closed)}
.dash-triage-banner.no-new .dash-triage-left p{color:var(--text-secondary)}
.dash-triage-btn{background:#fff;color:var(--accent);border:none;border-radius:var(--radius-md);padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s;flex-shrink:0}
.dash-triage-btn:hover{background:var(--accent-light)}
.dash-triage-banner.no-new .dash-triage-btn{background:var(--status-closed);color:#fff}
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.dash-stat{background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border);padding:16px 20px;cursor:pointer;transition:all .15s}
.dash-stat:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}
.dash-stat-num{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:2px}
.dash-stat-label{font-size:11px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}
.dash-stat-dot{width:8px;height:8px;border-radius:50%;margin-bottom:10px}
body.dark .dash-triage-btn{background:rgba(255,255,255,0.15);color:#fff}
body.dark .dash-triage-btn:hover{background:rgba(255,255,255,0.25)}
body.dark .dash-stat{background:var(--panel-bg)}

/* TRIAGE CARD REDESIGN */
.tc-meta-row{display:flex;flex-direction:column;gap:3px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border-light)}
.tc-meta-line{display:flex;align-items:center;gap:8px;font-size:12px}
.tc-meta-label{color:var(--text-tertiary);font-weight:500;width:32px;flex-shrink:0}
.tc-meta-name{color:var(--text-primary);font-weight:500}
.tc-meta-email{color:var(--text-tertiary)}
.tc-subject-big{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:16px;line-height:1.25}

/* ===== Reply UI fixes ===== */
.ed-meta-line{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ed-meta-label{width:42px;font-size:11px;color:var(--text-tertiary);font-weight:500;flex-shrink:0}
.ed-meta-avatar{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;color:#fff;flex-shrink:0;min-width:20px}
.ed-meta-name{font-size:12px;font-weight:500;color:var(--text-primary)}
.ed-meta-email{font-size:11px;color:var(--text-tertiary)}

.qr-wrapper{position:relative;display:inline-block;margin-bottom:10px}
.qr-plus-btn{width:32px;height:32px;border:none;border-radius:8px;background:var(--accent-light);color:var(--accent);cursor:pointer;font-size:18px;font-weight:600}
.qr-dropdown{display:none;position:absolute;left:0;bottom:38px;min-width:220px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);z-index:9999;max-height:240px;overflow-y:auto}
.qr-dropdown.open{display:block}
.qr-dropdown-label{padding:10px 12px;font-size:11px;font-weight:600;color:var(--text-tertiary);border-bottom:1px solid var(--border)}
.qr-dropdown-item{padding:10px 12px;cursor:pointer;font-size:12px}
.qr-dropdown-item:hover{background:var(--panel-bg)}

.sent-meta{display:flex;flex-direction:column;gap:2px;line-height:1.2}
.sent-meta div{font-size:11px}
.sent-meta strong{font-weight:600;color:var(--text-secondary)}

/* ===== AI BADGES ===== */
.ai-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;flex-shrink:0}
.ai-badge.high_priority{background:#FEF2F2;color:#DC2626;border:1px solid #FECACA}
.ai-badge.spam{background:#F9FAFB;color:#6B7280;border:1px solid #E5E7EB}
.ai-badge.maybe{background:#FFFBEB;color:#D97706;border:1px solid #FDE68A}
.ai-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block}
.ai-badge.high_priority .ai-dot{background:#DC2626}
.ai-badge.spam .ai-dot{background:#9CA3AF}
.ai-badge.maybe .ai-dot{background:#D97706}
.ai-brand{font-size:11px;color:var(--text-tertiary);font-weight:500}
.ai-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;min-height:22px}
.ai-loading{font-size:11px;color:var(--text-tertiary);font-style:italic}
.overdue-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;background:#FEF2F2;color:#DC2626;border:1px solid #FECACA;flex-shrink:0}
.hp-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:2000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.hp-modal-overlay.active{display:flex}
.hp-modal{background:var(--bg);border-radius:var(--radius-xl);padding:28px 32px;max-width:360px;width:90%;box-shadow:var(--shadow-lg);border:1px solid var(--border);text-align:center}
.hp-modal-icon{font-size:36px;margin-bottom:12px}
.hp-modal h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}
.hp-modal p{font-size:13px;color:var(--text-secondary);margin-bottom:20px;line-height:1.5}
.hp-modal-actions{display:flex;gap:10px;justify-content:center}
.hp-modal-actions button{padding:9px 22px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;border:1.5px solid;transition:all .15s}
.hp-btn-ignore{background:none;border-color:var(--border);color:var(--text-secondary)}
.hp-btn-ignore:hover{border-color:var(--text-secondary);color:var(--text-primary)}
.hp-btn-keep{background:var(--accent);border-color:var(--accent);color:#fff}
.hp-btn-keep:hover{background:var(--accent-hover)}
body.dark .ai-badge.high_priority{background:#200A0A;border-color:#7F1D1D;color:#F87171}
body.dark .ai-badge.spam{background:#111318;border-color:#374151;color:#6B7280}
body.dark .ai-badge.maybe{background:#1F1606;border-color:#92400E;color:#FBBF24}
body.dark .overdue-badge{background:#200A0A;border-color:#7F1D1D;color:#F87171}
body.dark .hp-modal{background:#1A1A1E;border-color:#2C2C35}

/* BADGE FILTERS */
.badge-filters{display:flex;gap:5px;padding:4px 12px 8px;flex-wrap:wrap;border-bottom:1px solid var(--border-light)}
.badge-filter-btn{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:none;color:var(--text-secondary);font-family:inherit;transition:all .12s;white-space:nowrap}
.badge-filter-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}
.badge-filter-btn.hp.active{border-color:#DC2626;color:#DC2626;background:#FEF2F2}
.badge-filter-btn.spam.active{border-color:#9CA3AF;color:#6B7280;background:#F9FAFB}
.badge-filter-btn.maybe.active{border-color:#D97706;color:#D97706;background:#FFFBEB}
.badge-filter-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.ei-ai-badge{font-size:10px;font-weight:600;padding:1px 7px;border-radius:10px;flex-shrink:0}
.ei-ai-badge.badge-hp{background:#FEF2F2;color:#DC2626}
.ei-ai-badge.badge-spam{background:#F9FAFB;color:#9CA3AF;border:1px solid #E5E7EB}
.tc-meta-email{font-size:12px;color:var(--accent)!important;font-weight:500}
body.dark .badge-filter-btn.hp.active{border-color:#F87171;color:#F87171;background:#200A0A}
body.dark .badge-filter-btn.spam.active{border-color:#6B7280;color:#6B7280;background:#111318}
body.dark .badge-filter-btn.maybe.active{border-color:#FBBF24;color:#FBBF24;background:#1F1606}
body.dark .ei-ai-badge.badge-hp{background:#200A0A;color:#F87171}
body.dark .ei-ai-badge.badge-spam{background:#111318;color:#6B7280;border-color:#374151}





/* HP nav highlight */
.nav-hp-item.active{background:#FEF2F2!important;color:#DC2626!important;font-weight:500}
body.dark .nav-hp-item.active{background:#200A0A!important;color:#F87171!important}
