/* =====================================================
   نت‌بی — Glass Dark 2026 Theme
   Ultra-modern dark glassmorphism • Persian RTL
   ===================================================== */

:root {
  --bg:            #060612;
  --bg2:           #0c0c1e;
  --bg3:           #10102a;
  --surface:       rgba(255,255,255,0.04);
  --surface2:      rgba(255,255,255,0.07);
  --surface3:      rgba(255,255,255,0.10);
  --surface-solid: rgba(14,14,36,0.97);
  --surface-hover: rgba(255,255,255,0.06);
  --border:        rgba(255,255,255,0.07);
  --border2:       rgba(255,255,255,0.12);
  --border3:       rgba(108,99,255,0.35);
  --accent:        #6c63ff;
  --accent-light:  rgba(108,99,255,0.15);
  --accent-glow:   rgba(108,99,255,0.35);
  --accent2:       #f43f8e;
  --accent2-light: rgba(244,63,142,0.12);
  --accent3:       #10b981;
  --accent3-light: rgba(16,185,129,0.12);
  --accent4:       #f59e0b;
  --accent4-light: rgba(245,158,11,0.12);
  --accent5:       #06b6d4;
  --accent5-light: rgba(6,182,212,0.12);
  --text:          rgba(255,255,255,0.92);
  --text2:         rgba(255,255,255,0.55);
  --text3:         rgba(255,255,255,0.28);
  --blur:          saturate(200%) blur(24px);
  --blur-sm:       saturate(180%) blur(16px);
  --blur-xs:       saturate(160%) blur(10px);
  --shadow:        0 4px 24px rgba(0,0,0,0.35),0 1px 6px rgba(0,0,0,0.25);
  --shadow-lg:     0 12px 48px rgba(0,0,0,0.5),0 4px 16px rgba(0,0,0,0.3);
  --shadow-xl:     0 24px 72px rgba(0,0,0,0.6),0 8px 24px rgba(0,0,0,0.4);
  --shadow-glow:   0 0 40px rgba(108,99,255,0.2),0 4px 24px rgba(0,0,0,0.4);
  --shadow-pink:   0 8px 32px rgba(244,63,142,0.25);
  --shadow-green:  0 8px 32px rgba(16,185,129,0.2);
  --radius:        18px;
  --radius-sm:     12px;
  --radius-xs:     8px;
  --radius-pill:   100px;
  --grad-primary:  linear-gradient(135deg,#6c63ff 0%,#a78bfa 100%);
  --grad-warm:     linear-gradient(135deg,#f43f8e 0%,#fb923c 100%);
  --grad-cool:     linear-gradient(135deg,#06b6d4 0%,#6c63ff 100%);
  --grad-green:    linear-gradient(135deg,#10b981 0%,#06b6d4 100%);
  --grad-bg:       linear-gradient(135deg,#060612 0%,#0f0a2e 50%,#060c1a 100%);
  --grad-glass:    linear-gradient(135deg,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0.02) 100%);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Vazirmatn',system-ui,sans-serif;
  background:var(--grad-bg);
  background-attachment:fixed;
  color:var(--text);line-height:1.7;min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:'';position:fixed;top:-300px;right:-200px;
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(108,99,255,0.12) 0%,transparent 65%);
  pointer-events:none;z-index:0;
}
body::after{
  content:'';position:fixed;bottom:-300px;left:-200px;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(244,63,142,0.08) 0%,transparent 65%);
  pointer-events:none;z-index:0;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;position:relative;z-index:1;}

/* NAVBAR */
.navbar{
  background:rgba(6,6,18,0.82);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:200;height:64px;
  box-shadow:var(--shadow);
}
.nav-inner{display:flex;align-items:center;height:64px;gap:24px;}
.nav-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;}
.logo-icon{
  width:36px;height:36px;background:var(--grad-primary);
  border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:900;color:#fff;
  box-shadow:0 4px 16px var(--accent-glow);
}
.logo-txt{background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.nav-links{display:flex;gap:2px;margin-right:auto;}
.nav-links a{padding:7px 14px;border-radius:var(--radius-xs);font-size:14px;font-weight:500;color:var(--text2);transition:.2s;}
.nav-links a:hover{background:var(--accent-light);color:var(--accent);}
.nav-actions{display:flex;align-items:center;gap:8px;}
.nav-icon-btn{position:relative;font-size:18px;cursor:pointer;padding:7px;border-radius:var(--radius-xs);transition:.2s;color:var(--text2);}
.nav-icon-btn:hover{background:var(--accent-light);color:var(--accent);}
.badge-dot{
  position:absolute;top:-2px;left:-2px;background:var(--accent2);color:#fff;
  font-size:10px;font-weight:700;min-width:18px;height:18px;
  border-radius:9px;display:flex;align-items:center;justify-content:center;
  padding:0 4px;border:2px solid var(--bg);
}
.nav-avatar{
  width:36px;height:36px;border-radius:50%;background:var(--grad-primary);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;color:#fff;cursor:pointer;overflow:hidden;
  box-shadow:0 2px 12px var(--accent-glow);border:2px solid rgba(255,255,255,0.1);
}
.nav-avatar img{width:100%;height:100%;object-fit:cover;}
.nav-user-menu{position:relative;}
.user-dropdown{
  display:none;position:absolute;top:calc(100% + 10px);left:0;
  background:var(--surface-solid);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--border2);border-radius:var(--radius);
  min-width:200px;overflow:hidden;
  box-shadow:var(--shadow-xl);z-index:300;
  animation:dropIn .2s ease;
}
@keyframes dropIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
.user-dropdown.open{display:block;}
.user-dropdown .user-info{padding:14px 16px;border-bottom:1px solid var(--border);background:var(--accent-light);}
.user-dropdown .user-info strong{display:block;font-size:14px;color:var(--text);}
.user-dropdown .user-info small{color:var(--text2);font-size:12px;}
.user-dropdown a{display:block;padding:10px 16px;font-size:14px;color:var(--text2);transition:.15s;}
.user-dropdown a:hover{background:var(--accent-light);color:var(--accent);padding-right:20px;}
.user-dropdown hr{border:none;border-top:1px solid var(--border);margin:4px 0;}
.hamburger{display:none;background:none;border:none;color:var(--text);font-size:22px;cursor:pointer;padding:4px;}
.mobile-menu{
  display:none;
  background:rgba(6,6,18,0.98);
  backdrop-filter:var(--blur-sm);
  border-bottom:1px solid var(--border);padding:12px 20px;
}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block;padding:10px 0;font-size:15px;border-bottom:1px solid var(--border);color:var(--text2);}
.mobile-menu a:last-child{border-bottom:none;}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:10px 20px;
  border-radius:var(--radius-sm);font-family:inherit;font-size:14px;font-weight:600;
  cursor:pointer;border:none;transition:all .25s ease;text-decoration:none;
  position:relative;overflow:hidden;letter-spacing:0.01em;
}
.btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.08),transparent);opacity:0;transition:opacity .25s;}
.btn:hover::before{opacity:1;}
.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:0 4px 20px var(--accent-glow);border:1px solid rgba(108,99,255,0.3);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow);}
.btn-outline{background:var(--surface2);border:1px solid var(--border2);color:var(--text2);backdrop-filter:var(--blur-xs);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);}
.btn-success{background:var(--accent3-light);color:var(--accent3);border:1px solid rgba(16,185,129,0.25);}
.btn-success:hover{background:var(--accent3);color:#fff;box-shadow:var(--shadow-green);}
.btn-danger{background:var(--accent2-light);color:var(--accent2);border:1px solid rgba(244,63,142,0.25);}
.btn-danger:hover{background:var(--accent2);color:#fff;box-shadow:var(--shadow-pink);}
.btn-ghost{background:transparent;border:1px solid var(--border2);color:var(--text2);}
.btn-ghost:hover{background:var(--surface2);color:var(--text);border-color:var(--border3);}
.btn-sm{padding:6px 14px;font-size:13px;border-radius:var(--radius-xs);}
.btn-lg{padding:14px 28px;font-size:16px;border-radius:var(--radius);}
.btn-block{width:100%;justify-content:center;}

/* CARDS */
.card{
  background:var(--surface);
  backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
  border:1px solid var(--border);border-radius:var(--radius);padding:24px;
  transition:all .3s ease;box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.card::before{content:'';position:absolute;inset:0;background:var(--grad-glass);pointer-events:none;border-radius:inherit;}
.card:hover{border-color:var(--border2);box-shadow:var(--shadow-lg);transform:translateY(-2px);background:var(--surface2);}
.card-sm{padding:16px;}
.card-flat{box-shadow:none;background:var(--surface);}
.card-flat:hover{transform:none;}

/* GRID */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}

/* FORM */
.form-group{margin-bottom:18px;}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:7px;transition:color .2s;}
.form-group:focus-within .form-label{color:var(--accent);}
.form-control{
  width:100%;
  background:rgba(255,255,255,0.05);
  backdrop-filter:var(--blur-xs);-webkit-backdrop-filter:var(--blur-xs);
  border:1px solid var(--border2);border-radius:var(--radius-sm);
  padding:11px 14px;color:var(--text);font-family:inherit;font-size:14px;
  outline:none;transition:all .2s;
  box-shadow:inset 0 1px 4px rgba(0,0,0,0.2);
}
.form-control:focus{
  border-color:var(--accent);
  background:rgba(108,99,255,0.08);
  box-shadow:0 0 0 4px rgba(108,99,255,0.15),inset 0 1px 4px rgba(0,0,0,0.2);
}
.form-control::placeholder{color:var(--text3);}
textarea.form-control{resize:vertical;min-height:100px;}
select.form-control{
  cursor:pointer;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236c63ff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 12px center;background-size:15px;padding-left:38px;
}
.form-error{font-size:12px;color:var(--accent2);margin-top:5px;}
.alert{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px;}
.alert-danger{background:var(--accent2-light);color:var(--accent2);border:1px solid rgba(244,63,142,0.2);}
.alert-success{background:var(--accent3-light);color:var(--accent3);border:1px solid rgba(16,185,129,0.2);}
.alert-info{background:var(--accent-light);color:var(--accent);border:1px solid rgba(108,99,255,0.2);}
.alert-warning{background:var(--accent4-light);color:var(--accent4);border:1px solid rgba(245,158,11,0.2);}

/* BADGES */
.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;}
.badge-purple{background:var(--accent-light);color:var(--accent);border:1px solid rgba(108,99,255,0.2);}
.badge-pink{background:var(--accent2-light);color:var(--accent2);border:1px solid rgba(244,63,142,0.2);}
.badge-green{background:var(--accent3-light);color:var(--accent3);border:1px solid rgba(16,185,129,0.2);}
.badge-yellow{background:var(--accent4-light);color:var(--accent4);border:1px solid rgba(245,158,11,0.2);}
.badge-cyan{background:var(--accent5-light);color:var(--accent5);border:1px solid rgba(6,182,212,0.2);}
.badge-gray{background:rgba(255,255,255,0.07);color:var(--text2);border:1px solid var(--border);}

/* PROGRESS */
.progress{height:6px;background:rgba(255,255,255,0.08);border-radius:3px;overflow:hidden;}
.progress-fill{height:100%;border-radius:3px;background:var(--grad-primary);transition:width 1s ease;}

/* TAGS */
.tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{background:rgba(255,255,255,0.05);border:1px solid var(--border2);padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;color:var(--text2);transition:.2s;}
.tag:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);}
.tag.matched{background:var(--accent3-light);border-color:rgba(16,185,129,0.3);color:var(--accent3);}

/* TABLE */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);backdrop-filter:var(--blur-sm);box-shadow:var(--shadow);}
table{width:100%;border-collapse:collapse;}
th{background:rgba(108,99,255,0.06);padding:12px 16px;text-align:right;font-size:12px;font-weight:700;color:var(--text2);border-bottom:1px solid var(--border);}
td{padding:13px 16px;font-size:13px;border-bottom:1px solid var(--border);color:var(--text2);}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(108,99,255,0.04);color:var(--text);}

/* JOB CARD */
.job-card{
  background:var(--surface);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
  border:1px solid var(--border);border-radius:var(--radius);padding:20px;
  display:flex;gap:16px;align-items:flex-start;
  transition:all .3s ease;position:relative;overflow:hidden;box-shadow:var(--shadow);
}
.job-card::before{content:'';position:absolute;top:0;right:0;bottom:0;width:3px;background:var(--grad-primary);opacity:0;transition:.3s;}
.job-card:hover{border-color:var(--border3);box-shadow:var(--shadow-glow);transform:translateY(-2px);background:var(--surface2);}
.job-card:hover::before{opacity:1;}
.company-logo{width:52px;height:52px;border-radius:14px;background:var(--grad-primary);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#fff;flex-shrink:0;overflow:hidden;box-shadow:0 4px 16px var(--accent-glow);border:1px solid rgba(108,99,255,0.3);}
.company-logo img{width:100%;height:100%;object-fit:cover;}
.job-info{flex:1;min-width:0;}
.job-title{font-size:16px;font-weight:700;margin-bottom:4px;color:var(--text);}
.job-company{font-size:13px;color:var(--text2);margin-bottom:10px;}
.job-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.job-meta span{font-size:12px;color:var(--text3);}
.match-score{font-size:22px;font-weight:900;color:var(--accent3);text-align:center;flex-shrink:0;}

/* PIPELINE ATS */
.pipeline{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;}
.pipeline-col{min-width:220px;background:var(--surface);backdrop-filter:var(--blur-sm);border-radius:var(--radius);padding:14px;border:1px solid var(--border);box-shadow:var(--shadow);}
.pipeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.pipeline-title{font-size:13px;font-weight:700;color:var(--text);}
.pipeline-count{background:var(--accent-light);color:var(--accent);padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;border:1px solid rgba(108,99,255,0.2);}
.pipeline-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:8px;cursor:grab;transition:all .2s;}
.pipeline-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-glow);}
.pipeline-card:active{cursor:grabbing;}

/* CHAT */
.chat-wrap{display:flex;height:calc(100vh - 130px);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);backdrop-filter:var(--blur-sm);box-shadow:var(--shadow-lg);}
.chat-sidebar{width:280px;border-left:1px solid var(--border);overflow-y:auto;flex-shrink:0;background:var(--surface);}
.chat-item{padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--border);transition:.2s;}
.chat-item:hover,.chat-item.active{background:var(--accent-light);}
.chat-item-name{font-size:14px;font-weight:600;color:var(--text);}
.chat-item-last{font-size:12px;color:var(--text2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;}
.chat-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:var(--surface2);}
.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background:rgba(0,0,0,0.15);}
.msg{max-width:68%;}
.msg.sent{align-self:flex-end;}
.msg.received{align-self:flex-start;}
.msg-bubble{padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;}
.msg.sent .msg-bubble{background:var(--grad-primary);color:#fff;border-bottom-left-radius:4px;box-shadow:0 4px 16px var(--accent-glow);}
.msg.received .msg-bubble{background:var(--surface2);border:1px solid var(--border2);border-bottom-right-radius:4px;color:var(--text);}
.msg-time{font-size:11px;color:var(--text3);margin-top:3px;}
.chat-input-wrap{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:10px;background:var(--surface2);}

/* TIMELINE */
.timeline{position:relative;padding-right:28px;}
.timeline::before{content:'';position:absolute;right:10px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),var(--accent3));opacity:0.25;}
.timeline-item{position:relative;margin-bottom:20px;}
.timeline-dot{position:absolute;right:-22px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:3px solid var(--bg2);box-shadow:0 0 0 2px var(--accent),0 0 10px var(--accent-glow);}
.timeline-content{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;}

/* STATS */
.stat-box{background:var(--surface);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;display:flex;align-items:center;gap:16px;transition:all .3s;box-shadow:var(--shadow);}
.stat-box:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px);border-color:var(--border2);}
.stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--surface2);border:1px solid var(--border2);}
.stat-val{font-size:28px;font-weight:800;line-height:1;color:var(--text);}
.stat-label{font-size:13px;color:var(--text2);margin-top:4px;}
.stat-change{font-size:12px;color:var(--accent3);margin-top:4px;font-weight:600;}

/* HERO */
.hero{padding:80px 0;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-100px;right:-100px;width:700px;height:700px;background:radial-gradient(circle,rgba(108,99,255,0.12) 0%,transparent 60%);pointer-events:none;}
.hero::after{content:'';position:absolute;bottom:-100px;left:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(244,63,142,0.07) 0%,transparent 60%);pointer-events:none;}
.hero-title{font-size:52px;font-weight:900;line-height:1.2;margin-bottom:20px;letter-spacing:-0.02em;}
.hero-title span{background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-sub{font-size:18px;color:var(--text2);max-width:600px;margin-bottom:36px;line-height:1.8;}
.search-hero{display:flex;gap:12px;background:var(--surface2);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--border2);border-radius:var(--radius);padding:8px 8px 8px 16px;max-width:740px;box-shadow:var(--shadow-glow);}
.search-hero input{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:inherit;font-size:16px;}
.search-hero input::placeholder{color:var(--text3);}

/* PLANS */
.plan-card{background:var(--surface);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--border);border-radius:var(--radius);padding:32px;text-align:center;position:relative;transition:all .3s;box-shadow:var(--shadow);}
.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);border-color:var(--border2);}
.plan-card.featured{border-color:var(--accent);background:rgba(108,99,255,0.08);box-shadow:0 0 0 1px rgba(108,99,255,0.3),var(--shadow-glow);}
.plan-card.featured::before{content:'محبوب‌ترین';position:absolute;top:-14px;right:50%;transform:translateX(50%);background:var(--grad-primary);color:#fff;padding:4px 18px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;box-shadow:0 4px 16px var(--accent-glow);}
.plan-price{font-size:44px;font-weight:900;margin:16px 0;background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.plan-features{list-style:none;text-align:right;margin:20px 0;}
.plan-features li{padding:7px 0;font-size:14px;color:var(--text2);border-bottom:1px solid var(--border);}
.plan-features li:last-child{border:none;}
.plan-features li::before{content:'✓  ';color:var(--accent3);font-weight:700;}

/* FOOTER */
.footer{background:rgba(6,6,18,0.95);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-top:1px solid var(--border);padding:48px 0 24px;position:relative;z-index:1;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px;}
.footer-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;margin-bottom:12px;}
.footer h4{font-size:14px;font-weight:700;margin-bottom:14px;color:var(--text);}
.footer a,.footer p{display:block;font-size:13px;color:var(--text2);margin-bottom:8px;transition:.2s;}
.footer a:hover{color:var(--accent);}
.footer-bottom{border-top:1px solid var(--border);padding-top:20px;text-align:center;font-size:13px;color:var(--text3);}

/* TOAST */
.toast-container{position:fixed;bottom:24px;left:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;}
.toast{background:var(--surface-solid);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:12px 18px;font-size:14px;color:var(--text);display:flex;align-items:center;gap:10px;min-width:260px;box-shadow:var(--shadow-lg);transform:translateX(-120%);transition:.35s cubic-bezier(.34,1.56,.64,1);}
.toast.show{transform:translateX(0);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:1000;display:none;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--surface-solid);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--border2);border-radius:22px;padding:32px;max-width:580px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-glow);animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);}
@keyframes slideUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.modal-title{font-size:20px;font-weight:800;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;color:var(--text);}
.modal-close{cursor:pointer;font-size:20px;color:var(--text2);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:.2s;}
.modal-close:hover{background:var(--accent-light);color:var(--accent);}

/* TABS */
.tabs{display:flex;gap:4px;background:var(--surface);backdrop-filter:var(--blur-xs);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;margin-bottom:20px;}
.tab-btn{flex:1;padding:8px 16px;border-radius:var(--radius-xs);cursor:pointer;font-size:13px;font-weight:600;color:var(--text2);text-align:center;transition:.2s;border:none;background:none;font-family:inherit;}
.tab-btn.active{background:var(--surface3);color:var(--accent);box-shadow:var(--shadow);border:1px solid var(--border2);}
.tab-content{display:none;}
.tab-content.active{display:block;}

/* SIDEBAR LAYOUT */
.layout-sidebar{display:flex;gap:24px;align-items:flex-start;}
.sidebar-panel{width:260px;flex-shrink:0;}
.main-panel{flex:1;min-width:0;}

/* SCROLLBAR */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(108,99,255,0.25);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--accent);}

/* SECTION HEADERS */
.section-title{font-size:22px;font-weight:800;margin-bottom:6px;color:var(--text);letter-spacing:-0.01em;}
.section-sub{font-size:15px;color:var(--text2);margin-bottom:24px;}
.page-header{padding:32px 0 24px;border-bottom:1px solid var(--border);margin-bottom:32px;}
.page-header h1{font-size:26px;font-weight:800;color:var(--text);}
.page-header p{color:var(--text2);margin-top:4px;}

/* GLASS HELPERS */
.glass{background:var(--surface);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);}
.glass-strong{background:var(--surface2);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--border2);border-radius:var(--radius);box-shadow:var(--shadow-lg);}
.glass-ultra{background:rgba(255,255,255,0.05);backdrop-filter:saturate(200%) blur(30px);-webkit-backdrop-filter:saturate(200%) blur(30px);border:1px solid rgba(255,255,255,0.10);border-radius:var(--radius);box-shadow:var(--shadow-glow);}

/* RESPONSIVE */
@media(max-width:900px){
  .grid-4{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .layout-sidebar{flex-direction:column;}
  .sidebar-panel{width:100%;}
}
@media(max-width:640px){
  .nav-links{display:none;}
  .hamburger{display:block;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .hero-title{font-size:32px;}
  .footer-grid{grid-template-columns:1fr;}
  .search-hero{flex-direction:column;gap:8px;}
  .chat-sidebar{display:none;}
  .plan-card{padding:24px;}
}
@media print{
  body{background:white;color:#000;}
  .navbar,.footer,.toast-container{display:none;}
  .card{box-shadow:none;border:1px solid #ddd;}
}

/* =====================================================
   ✅ ارتقای پرمیوم — تم روشن/تیره، انیمیشن، دسترسی‌پذیری،
   Skeleton Loading، حالت‌های خالی زیبا، Scroll Reveal
   ===================================================== */

/* ── تم روشن — با data-theme="light" روی <html> فعال می‌شود ── */
:root[data-theme="light"]{
  --bg:            #f8f9fc;
  --bg2:           #ffffff;
  --bg3:           #eef0f9;
  --surface:       rgba(15,15,35,0.035);
  --surface2:      rgba(15,15,35,0.055);
  --surface3:      rgba(15,15,35,0.08);
  --surface-solid: rgba(255,255,255,0.98);
  --surface-hover: rgba(15,15,35,0.05);
  --border:        rgba(15,15,35,0.09);
  --border2:       rgba(15,15,35,0.14);
  --border3:       rgba(108,99,255,0.3);
  --text:          #14142b;
  --text2:         rgba(20,20,43,0.62);
  --text3:         rgba(20,20,43,0.38);
  --shadow:        0 4px 20px rgba(20,20,40,0.07),0 1px 4px rgba(20,20,40,0.05);
  --shadow-lg:     0 16px 48px rgba(20,20,40,0.10),0 4px 16px rgba(20,20,40,0.06);
  --shadow-xl:     0 28px 72px rgba(20,20,40,0.14),0 8px 24px rgba(20,20,40,0.08);
  --shadow-glow:   0 0 40px rgba(108,99,255,0.14),0 4px 24px rgba(20,20,40,0.06);
  --grad-bg:       linear-gradient(135deg,#f8f9fc 0%,#eef0fb 50%,#f5f7fc 100%);
  --grad-glass:    linear-gradient(135deg,rgba(15,15,35,0.035) 0%,rgba(15,15,35,0.01) 100%);
}
:root[data-theme="light"] body::before{background:radial-gradient(circle,rgba(108,99,255,0.10) 0%,transparent 65%);}
:root[data-theme="light"] body::after{background:radial-gradient(circle,rgba(244,63,142,0.07) 0%,transparent 65%);}
:root[data-theme="light"] ::-webkit-scrollbar-thumb{background:rgba(108,99,255,0.18);}
:root[data-theme="light"] .form-control{background:rgba(15,15,35,0.03);box-shadow:inset 0 1px 3px rgba(20,20,40,0.04);}
:root[data-theme="light"] .msg.received .msg-bubble{background:var(--surface2);}

/* گذار نرم بین تم‌ها — بدون فلاش ناگهانی رنگ */
body,.card,.stat-box,.job-card,.plan-card,.navbar,.footer,.modal-box,.toast,.form-control,table,.pipeline-col,.chat-wrap{
  transition:background-color .35s ease, border-color .35s ease, box-shadow .35s ease, color .3s ease;
}

/* دکمه تغییر تم روشن/تیره */
.theme-toggle{
  display:flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:var(--radius-xs);background:var(--surface2);border:1px solid var(--border2);
  color:var(--text2);cursor:pointer;transition:.2s;font-size:16px;flex-shrink:0;
}
.theme-toggle:hover{background:var(--accent-light);color:var(--accent);border-color:var(--border3);transform:translateY(-1px);}

/* ── انیمیشن ورود صفحه (Page Transition) ── */
@keyframes pageFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
body{animation:pageFadeIn .5s cubic-bezier(.22,1,.36,1);}
@media(prefers-reduced-motion: reduce){body{animation:none;}}

/* ── Scroll Reveal — عناصر با کلاس reveal هنگام ورود به دید محو-بالا می‌آیند ──
   ✅ اصلاح شده: قبلاً .reveal همیشه opacity:0 داشت، یعنی اگر جاوااسکریپت به هر
   دلیلی لود/اجرا نمی‌شد (فایل آپلود نشده، خطای شبکه، مسدود شدن اسکریپت و...)،
   محتوا برای همیشه نامرئی می‌ماند. حالا فقط وقتی جاوااسکریپت واقعاً اجرا شده
   باشد (کلاس js-reveal-ready که در premium-ui.js اضافه می‌شود) محتوا مخفی
   می‌شود؛ در غیر این صورت محتوا از ابتدا نمایان است — یعنی بدترین حالت فقط
   نبود انیمیشن است، نه گم‌شدن کامل محتوا. */
@keyframes revealUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
html.js-reveal-ready .reveal{opacity:0;}
html.js-reveal-ready .reveal.is-visible{animation:revealUp .7s cubic-bezier(.22,1,.36,1) forwards;}

/* ── میکرو-اینتراکشن‌های عمومی ── */
.hover-lift{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;}
.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);}
.press-scale{transition:transform .15s ease;}
.press-scale:active{transform:scale(.96);}

/* ── گرادیان متحرک (برای بج/دکمه‌های ویژه) ── */
@keyframes gradientShift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
.grad-animated{background:linear-gradient(270deg,#6c63ff,#f43f8e,#06b6d4,#6c63ff);background-size:300% 300%;animation:gradientShift 8s ease infinite;}
@media(prefers-reduced-motion: reduce){.grad-animated{animation:none;}}

/* ── Skeleton Loading ── */
.skeleton{position:relative;overflow:hidden;background:var(--surface2);border-radius:var(--radius-sm);}
.skeleton::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.07),transparent);animation:skeletonShine 1.6s ease-in-out infinite;}
:root[data-theme="light"] .skeleton::after{background:linear-gradient(90deg,transparent,rgba(20,20,40,0.06),transparent);}
@keyframes skeletonShine{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
.skeleton-text{height:14px;margin-bottom:8px;width:100%;border-radius:6px;}
.skeleton-text.sm{width:55%;}
.skeleton-title{height:22px;width:40%;margin-bottom:14px;border-radius:6px;}
.skeleton-avatar{width:48px;height:48px;border-radius:50%;}
.skeleton-card{height:120px;}
.skeleton-row{display:flex;align-items:center;gap:14px;padding:14px 0;}

/* ── حالت خالی زیبا (Empty States) ── */
.empty-state{text-align:center;padding:64px 24px;}
.empty-state-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:22px;background:var(--grad-glass);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:var(--shadow);}
.empty-state-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px;}
.empty-state-sub{font-size:13px;color:var(--text2);max-width:340px;margin:0 auto 20px;line-height:1.8;}

/* ── دسترسی‌پذیری AA — حلقه فوکوس واضح روی کیبورد ── */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,.btn:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:4px;
}
@media(prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ── ناوبری با آگاهی از اسکرول (سایه/تراکم شیشه‌ای بیشتر هنگام اسکرول) ── */
.navbar.scrolled{box-shadow:var(--shadow-lg);background:var(--surface-solid);}

/* =====================================================
   ✅ اصلاح شده: نامرئی‌شدن متن در تم روشن
   بسیاری از صفحات رنگ متن را مستقیم و ثابت (inline style)
   روی سفید/رنگ روشن گذاشته بودند (نه از طریق متغیر CSS)،
   چون کل پروژه اصالتاً فقط تیره طراحی شده بود. با روشن‌شدن
   پس‌زمینه از طریق تم جدید، این متن‌های سفیدِ ثابت روی
   زمینه‌ی روشن، نامرئی می‌شدند. این قانون، متن‌هایی که فقط
   رنگشان (بدون پس‌زمینه‌ی اختصاصی همراه، مثل بج‌ها/دکمه‌های
   رنگی) به‌صورت ثابت سفید تنظیم شده، به رنگ خوانای تم برمی‌گرداند؛
   بج‌ها/دکمه‌هایی که پس‌زمینه‌ی رنگی مخصوص خودشان را هم در همان
   style دارند (که متن سفید رویشان همیشه درست است) دست‌نخورده می‌مانند.
   ===================================================== */
[data-theme="light"] [style*="color:#fff"]:not([style*="background"]),
[data-theme="light"] [style*="color: #fff"]:not([style*="background"]),
[data-theme="light"] [style*="color:white"]:not([style*="background"]),
[data-theme="light"] [style*="color: white"]:not([style*="background"]){
  color:var(--text) !important;
}
[data-theme="light"] [style*="color:rgba(255,255,255"]:not([style*="background"]),
[data-theme="light"] [style*="color: rgba(255,255,255"]:not([style*="background"]),
[data-theme="light"] [style*="color:rgba(255, 255, 255"]:not([style*="background"]){
  color:var(--text2) !important;
}
