@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--bg-base:#0c0f1a;--bg-surface:#131829;--bg-card:#1a2035;--bg-elevated:#202743;--bg-hover:#252e4a;--border:#ffffff12;--border-active:#6382ff66;--text-primary:#f0f2ff;--text-secondary:#8a93b8;--text-muted:#4f5880;--accent:#6382ff;--accent-glow:#6382ff33;--accent-hover:#7a97ff;--teal:#10d5b2;--teal-dim:#10d5b226;--amber:#f5a623;--amber-dim:#f5a62326;--red:#f25f5c;--red-dim:#f25f5c26;--green:#22c55e;--green-dim:#22c55e26;--purple:#a78bfa;--purple-dim:#a78bfa26;--gray:#6b7280;--gray-dim:#6b728026;--font:"Inter",-apple-system,sans-serif;--sidebar-w:240px;--topbar-h:60px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-glow:0 0 20px #6382ff26}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}h4{font-size:.875rem;font-weight:600}p{color:var(--text-secondary)}.app-shell{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-w);padding-top:var(--topbar-h);flex:1;min-height:100vh;transition:margin-left .3s}.page-body{max-width:1600px;padding:28px 32px}@media (max-width:900px){.main-content{padding-top:calc(var(--topbar-h) + 10px);margin-left:0}.page-body{padding:16px}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:border-color .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-glow);border-color:#6382ff33}.card-sm{border-radius:var(--radius-md);padding:14px 16px}.btn{border-radius:var(--radius-md);font-size:.8rem;font-weight:600;font-family:var(--font);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 0 16px #6382ff66}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-active)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid #f25f5c33}.btn-danger:hover{background:#f25f5c40}.btn-sm{padding:5px 10px;font-size:.75rem}.btn-icon{border-radius:var(--radius-sm);padding:7px}.badge{letter-spacing:.02em;border-radius:100px;align-items:center;gap:4px;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.badge-new_lead{color:#8499f7;background:#6b7fd72e}.badge-contacted{color:#a78bfa;background:#a78bfa2e}.badge-cma_requested{color:#f5a623;background:#f59e0b2e}.badge-cma_done{color:#10d5b2;background:#10d5b22e}.badge-offer_made{color:#60a5fa;background:#3b82f62e}.badge-under_contract{color:#a78bfa;background:#8b5cf62e}.badge-closed{color:#22c55e;background:#22c55e2e}.badge-dead{color:#9ca3af;background:#6b728026}.input,.select,.textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font);outline:none;padding:9px 12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.select option{background:var(--bg-surface)}.textarea{resize:vertical;min-height:80px}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}@media (max-width:640px){.form-row,.form-row-3{grid-template-columns:1fr}}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:default;flex-direction:column;gap:6px;padding:20px 22px;transition:all .2s;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg,var(--card-color,var(--accent)),transparent);height:2px;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.stat-icon{margin-bottom:4px;font-size:1.5rem}.stat-delta{font-size:.75rem;font-weight:600}.stat-delta.up{color:var(--green)}.stat-delta.down{color:var(--red)}.kanban-board{scrollbar-width:thin;gap:12px;min-height:calc(100vh - 180px);padding-bottom:20px;display:flex;overflow-x:auto}.kanban-col{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;flex:0 0 270px;gap:0;display:flex;overflow:hidden}.kanban-col-header{border-bottom:1px solid var(--border);background:inherit;z-index:1;justify-content:space-between;align-items:center;padding:12px 14px;display:flex;position:sticky;top:0}.kanban-col-title{align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:flex}.kanban-col-dot{border-radius:50%;width:8px;height:8px}.kanban-col-count{background:var(--bg-elevated);color:var(--text-secondary);border-radius:100px;padding:1px 7px;font-size:.72rem;font-weight:700}.kanban-cards{flex-direction:column;flex:1;gap:8px;min-height:100px;padding:10px 8px;display:flex}.deal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:grab;-webkit-user-select:none;user-select:none;padding:12px 14px;transition:all .2s}.deal-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md);transform:translateY(-1px)}.deal-card.dragging{opacity:.5;cursor:grabbing}.deal-card-address{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.875rem;font-weight:700;overflow:hidden}.deal-card-price{color:var(--teal);margin-bottom:8px;font-size:.8rem;font-weight:700}.deal-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.deal-card-mls{color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:2px 7px;font-size:.7rem}.deal-card-agent{color:var(--text-muted);font-size:.7rem}.deal-card-actions{gap:4px;margin-top:10px;display:flex}.followup-badge{border-radius:100px;align-items:center;gap:3px;padding:2px 7px;font-size:.68rem;font-weight:700;display:inline-flex}.followup-badge.overdue{background:var(--red-dim);color:var(--red)}.followup-badge.today{background:var(--amber-dim);color:var(--amber)}.followup-badge.upcoming{background:var(--teal-dim);color:var(--teal)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000bf;justify-content:flex-end;align-items:flex-start;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-drawer{background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;width:min(700px,100vw);height:100vh;animation:.25s slideIn;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);background:var(--bg-surface);z-index:10;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex;position:sticky;top:0}.modal-body{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex}.modal-section{flex-direction:column;gap:12px;display:flex}.modal-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:8px;font-size:.7rem;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{border-bottom:1px solid var(--border);gap:12px;padding:8px 0;font-size:.8rem;display:flex}.timeline-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.timeline-content{flex:1}.timeline-desc{color:var(--text-primary)}.timeline-time{color:var(--text-muted);font-size:.72rem}.fup-list{flex-direction:column;gap:8px;display:flex}.fup-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.fup-item:hover{border-color:var(--border-active)}.fup-item.overdue{border-left:3px solid var(--red)}.fup-item.today{border-left:3px solid var(--amber)}.fup-item.upcoming{border-left:3px solid var(--teal)}.fup-item.done{opacity:.45}.dropzone{border:2px dashed var(--border-active);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--bg-elevated);padding:32px;transition:all .2s}.dropzone:hover,.dropzone.active{background:var(--accent-glow);border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.file-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;transition:all .2s;display:inline-flex}.file-chip:hover{border-color:var(--border-active)}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%}thead tr{background:var(--bg-elevated)}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap;padding:10px 16px;font-size:.72rem;font-weight:700}td{border-top:1px solid var(--border);padding:10px 16px;font-size:.845rem}tr{transition:background .15s}tr:hover td{background:var(--bg-elevated)}.stage-progress{border-radius:var(--radius-sm);gap:0;display:flex;overflow:hidden}.stage-step{background:var(--bg-elevated);flex:1;height:5px}.stage-step.active{background:var(--accent)}.stage-step.done{background:var(--teal)}.mls-panel{border:1px solid var(--border-active);border-radius:var(--radius-lg);background:linear-gradient(135deg,#6382ff14,#10d5b20d);padding:20px}.mls-badge{background:var(--accent-glow);color:var(--accent);border-radius:100px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.divider{border:none;border-top:1px solid var(--border);margin:4px 0}.flex-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.flex-center{align-items:center;gap:8px;display:flex}.grid-stats{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:1100px){.grid-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.grid-stats{grid-template-columns:1fr}}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:60px 20px;display:flex}.empty-icon{opacity:.4;font-size:3rem}.tag{background:var(--bg-elevated);color:var(--text-secondary);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.currency{color:var(--teal);font-weight:700}.text-muted{color:var(--text-muted)}.text-sm{font-size:.8rem}.page-header{margin-bottom:24px}.page-title{font-size:1.5rem;font-weight:800}.page-subtitle{color:var(--text-secondary);margin-top:3px;font-size:.85rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:2s infinite pulse}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.skeleton{background:linear-gradient(90deg,var(--bg-card)25%,var(--bg-elevated)50%,var(--bg-card)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}
