/* ============ Mark Bureau - Premium Dark SaaS UI ============ */
*{font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased}
html,body{background:#070512;min-height:100vh}

/* Scrollbar */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:rgba(255,255,255,0.02)}
::-webkit-scrollbar-thumb{background:rgba(139,92,246,0.2);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:rgba(139,92,246,0.4)}

/* Glass / Cards */
.glass{background:rgba(255,255,255,0.03);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06)}
.glass-strong{background:rgba(20,15,40,0.6);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08)}
.card{background:linear-gradient(135deg,rgba(30,20,60,0.4),rgba(15,10,30,0.4));border:1px solid rgba(255,255,255,0.06);border-radius:14px}
.card-hover{transition:all .25s ease}
.card-hover:hover{border-color:rgba(139,92,246,0.3);box-shadow:0 8px 32px rgba(139,92,246,0.08);transform:translateY(-2px)}

/* Gradients */
.bg-app{background:radial-gradient(ellipse at top left,#1a1042 0%,#0a0518 50%,#000 100%)}
.bg-sidebar{background:linear-gradient(180deg,#0a0820 0%,#06040f 100%);border-right:1px solid rgba(255,255,255,0.06)}
.bg-topbar{background:rgba(7,5,18,0.8);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.06)}
.grad-text{background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.grad-btn{background:linear-gradient(135deg,#8b5cf6,#3b82f6);transition:all .25s}
.grad-btn:hover{box-shadow:0 0 24px rgba(139,92,246,0.4);transform:translateY(-1px)}

/* Inputs */
.input{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);transition:all .2s;color:#e5e7eb;border-radius:8px;padding:10px 14px}
.input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,0.12);outline:none;background:rgba(255,255,255,0.05)}
.input::placeholder{color:#6b7280}
select.input option{background:#0a0820;color:#e5e7eb}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:8px;font-weight:500;font-size:.875rem;transition:all .2s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff}
.btn-primary:hover{box-shadow:0 4px 20px rgba(139,92,246,0.35)}
.btn-ghost{background:rgba(255,255,255,0.05);color:#d1d5db;border-color:rgba(255,255,255,0.08)}
.btn-ghost:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.15)}
.btn-danger{background:rgba(239,68,68,0.1);color:#fca5a5;border-color:rgba(239,68,68,0.2)}
.btn-danger:hover{background:rgba(239,68,68,0.2)}
.btn-sm{padding:.35rem .7rem;font-size:.75rem}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em}

/* Stage colors */
.stage-new_lead{background:rgba(148,163,184,0.15);color:#cbd5e1}
.stage-interested{background:rgba(59,130,246,0.15);color:#93c5fd}
.stage-documents_pending{background:rgba(245,158,11,0.15);color:#fcd34d}
.stage-ready_for_filing{background:rgba(20,184,166,0.15);color:#5eead4}
.stage-filed{background:rgba(99,102,241,0.15);color:#a5b4fc}
.stage-examination{background:rgba(168,85,247,0.15);color:#d8b4fe}
.stage-objected{background:rgba(239,68,68,0.15);color:#fca5a5}
.stage-reply_submitted{background:rgba(14,165,233,0.15);color:#7dd3fc}
.stage-hearing_scheduled{background:rgba(217,70,239,0.18);color:#f0abfc}
.stage-accepted{background:rgba(34,197,94,0.15);color:#86efac}
.stage-registered{background:rgba(16,185,129,0.2);color:#6ee7b7}
.stage-renewal_due{background:rgba(251,146,60,0.2);color:#fdba74}
.stage-closed{background:rgba(75,85,99,0.2);color:#9ca3af}

/* Priority */
.prio-urgent{background:rgba(239,68,68,0.18);color:#fca5a5;border:1px solid rgba(239,68,68,0.3)}
.prio-high{background:rgba(251,146,60,0.18);color:#fdba74;border:1px solid rgba(251,146,60,0.25)}
.prio-medium{background:rgba(59,130,246,0.15);color:#93c5fd;border:1px solid rgba(59,130,246,0.2)}
.prio-low{background:rgba(75,85,99,0.2);color:#9ca3af;border:1px solid rgba(75,85,99,0.25)}

/* Status (followups/payments) */
.status-pending,.status-todo{background:rgba(245,158,11,0.15);color:#fcd34d}
.status-completed,.status-done,.status-paid{background:rgba(34,197,94,0.15);color:#86efac}
.status-overdue,.status-missed{background:rgba(239,68,68,0.18);color:#fca5a5}
.status-partial,.status-in_progress{background:rgba(59,130,246,0.15);color:#93c5fd}
.status-interested{background:rgba(34,197,94,0.15);color:#86efac}
.status-busy,.status-no_response{background:rgba(148,163,184,0.15);color:#cbd5e1}
.status-callback_later{background:rgba(168,85,247,0.15);color:#d8b4fe}
.status-payment_pending{background:rgba(251,146,60,0.18);color:#fdba74}
.status-active{background:rgba(34,197,94,0.15);color:#86efac}
.status-inactive{background:rgba(75,85,99,0.2);color:#9ca3af}

/* Sidebar nav */
.nav-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:10px;color:#9ca3af;transition:all .2s;font-size:.9rem;font-weight:500;cursor:pointer;position:relative}
.nav-item:hover{background:rgba(255,255,255,0.04);color:#e5e7eb}
.nav-item.active{background:linear-gradient(135deg,rgba(139,92,246,0.2),rgba(59,130,246,0.15));color:#fff}
.nav-item.active::before{content:'';position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:60%;background:linear-gradient(180deg,#8b5cf6,#3b82f6);border-radius:0 3px 3px 0}
.nav-item .nav-icon{width:18px;text-align:center;font-size:.95rem}

/* Animations */
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.animate-fade-in{animation:fadeIn .3s ease-out}
@keyframes pulse-soft{0%,100%{opacity:1}50%{opacity:.6}}
.pulse-soft{animation:pulse-soft 2s ease-in-out infinite}
@keyframes slideIn{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}
.animate-slide-in{animation:slideIn .25s ease-out}

/* Tables */
table.data-table{width:100%;border-collapse:collapse}
table.data-table th{text-align:left;padding:.75rem 1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid rgba(255,255,255,0.06)}
table.data-table td{padding:.85rem 1rem;font-size:.875rem;border-bottom:1px solid rgba(255,255,255,0.04)}
table.data-table tr.row-hover:hover{background:rgba(139,92,246,0.04)}

/* Kanban */
.kanban-col{min-width:280px;max-width:280px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}
.kanban-card{background:linear-gradient(135deg,rgba(30,20,60,0.5),rgba(15,10,30,0.5));border:1px solid rgba(255,255,255,0.06);border-radius:10px;padding:.85rem;margin-bottom:.6rem;cursor:grab;transition:all .2s}
.kanban-card:hover{border-color:rgba(139,92,246,0.4);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.3)}
.kanban-card.dragging{opacity:.4;transform:rotate(2deg)}
.kanban-col.drop-target{background:rgba(139,92,246,0.06);border-color:rgba(139,92,246,0.3)}

/* Toast */
.toast{padding:.85rem 1.1rem;background:linear-gradient(135deg,rgba(20,15,40,0.95),rgba(10,5,30,0.95));border:1px solid rgba(255,255,255,0.1);border-radius:10px;color:#fff;font-size:.875rem;backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,0.4);min-width:280px;display:flex;align-items:center;gap:.75rem;animation:slideIn .25s}
.toast.success{border-left:3px solid #10b981}
.toast.error{border-left:3px solid #ef4444}
.toast.info{border-left:3px solid #3b82f6}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s}
.modal-box{background:linear-gradient(135deg,#16102e,#0c0820);border:1px solid rgba(255,255,255,0.1);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,0.6)}

/* Skeleton */
.skel{background:linear-gradient(90deg,rgba(255,255,255,0.03) 0%,rgba(255,255,255,0.06) 50%,rgba(255,255,255,0.03) 100%);background-size:200% 100%;animation:skel-pulse 1.4s infinite;border-radius:6px}
@keyframes skel-pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Misc */
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}
.text-muted{color:#9ca3af}
.text-dim{color:#6b7280}
.shadow-glow-purple{box-shadow:0 0 24px rgba(139,92,246,.25)}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%}

/* AI insights */
.insight-card{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(139,92,246,0.08),rgba(59,130,246,0.04));border:1px solid rgba(139,92,246,0.2);border-radius:12px;padding:1rem}
.insight-card.severity-high{background:linear-gradient(135deg,rgba(239,68,68,0.08),rgba(251,146,60,0.04));border-color:rgba(239,68,68,0.25)}
.insight-card.severity-medium{background:linear-gradient(135deg,rgba(251,146,60,0.08),rgba(245,158,11,0.04));border-color:rgba(251,146,60,0.2)}

/* Mobile */
@media(max-width:1024px){
  #sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;z-index:40;transform:translateX(-100%);transition:transform .25s}
  #sidebar.open{transform:translateX(0)}
  #main-area{margin-left:0!important}
}
