body { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif; }

.btn-primary { display: inline-block; background: #2563eb; color: #fff; font-weight: 600; border-radius: 10px; transition: background 0.15s; }
.btn-primary:hover { background: #1d4ed8; }
.btn-primary:disabled { opacity: 0.6; }
.btn-outline { display: inline-block; border: 1.5px solid #2563eb; color: #2563eb; font-weight: 600; border-radius: 10px; background: #fff; transition: background 0.15s; }
.btn-outline:hover { background: #eff6ff; }
.btn-outline:disabled { opacity: 0.6; }

.inp { width: 100%; border: 1px solid #cbd5e1; border-radius: 10px; padding: 10px 12px; font-size: 16px; background: #fff; }
.inp:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15); }
.lbl { display: block; font-size: 12px; font-weight: 600; color: #475569; margin-bottom: 6px; }

.sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: 240px; background: #0f172a; color: #fff; display: flex; flex-direction: column; z-index: 40; transform: translateX(-100%); transition: transform 0.2s; }
.sidebar.open { transform: translateX(0); }
@media (min-width: 1024px) { .sidebar { position: sticky; top: 0; height: 100vh; transform: none; flex-shrink: 0; } }
.nav-item { display: flex; align-items: center; gap: 6px; padding: 9px 12px; border-radius: 10px; color: #94a3b8; font-size: 14px; }
.nav-item:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.nav-item.on { background: #2563eb; color: #fff; }
.soon { font-size: 10px; background: rgba(255, 255, 255, 0.12); color: #cbd5e1; padding: 1px 6px; border-radius: 999px; margin-left: auto; }

.card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 20px; }
.kpi { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 14px 16px; }
.kpi-label { font-size: 12px; color: #64748b; }
.kpi-num { font-size: 28px; font-weight: 900; margin-top: 4px; font-variant-numeric: tabular-nums; }

.chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #cbd5e1; border-radius: 999px; padding: 6px 12px; font-size: 14px; cursor: pointer; background: #fff; }
.chip:has(input:checked) { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; }
.title-opt { border: 1px solid #cbd5e1; border-radius: 10px; padding: 6px 10px; font-size: 13px; cursor: pointer; background: #f8fafc; }
.title-opt:hover { border-color: #2563eb; background: #eff6ff; }
.cal-filter { border: 1px solid #cbd5e1; border-radius: 999px; padding: 4px 12px; background: #fff; }
.chip-on { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; }

.cal-row { display: flex; gap: 12px; padding: 12px 0; cursor: pointer; }
.cal-row:hover { background: #f8fafc; }
.cal-date { flex: 0 0 76px; font-size: 13px; color: #475569; font-variant-numeric: tabular-nums; }
.cal-main { flex: 1; min-width: 0; }
.cal-title { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-sub { font-size: 12px; color: #64748b; margin-top: 2px; }
.st { font-size: 11px; padding: 2px 8px; border-radius: 999px; white-space: nowrap; align-self: center; }
.st-draft { background: #f1f5f9; color: #475569; }
.st-scheduled { background: #fef3c7; color: #b45309; }
.st-published { background: #dcfce7; color: #15803d; }

.soon-card h3 { font-weight: 800; font-size: 18px; }
.soon-card p { color: #64748b; font-size: 14px; margin-top: 8px; max-width: 560px; line-height: 1.7; }

.kpi-sub { font-size: 11px; color: #94a3b8; margin-top: 2px; }
.lead-filter { border: 1px solid #cbd5e1; border-radius: 999px; padding: 4px 12px; background: #fff; }
.lead-row { display: flex; gap: 12px; padding: 12px 0; cursor: pointer; align-items: center; }
.lead-row:hover { background: #f8fafc; }
.st-new { background: #dbeafe; color: #1d4ed8; }
.st-contacted { background: #fef3c7; color: #b45309; }
.st-following { background: #ede9fe; color: #6d28d9; }
.st-won { background: #dcfce7; color: #15803d; }
.st-lost { background: #f1f5f9; color: #64748b; }
.intent-high { color: #dc2626; font-weight: 700; }
.intent-mid { color: #d97706; }
.intent-low { color: #94a3b8; }
.bar { height: 8px; border-radius: 999px; background: #2563eb; }
