*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--surface: #171717;--surface2: #1f1f1f;--surface3: #2a2a2a;--border: #2e2e2e;--border-light: #383838;--text: #e8e4dc;--text-dim: #7a7570;--text-mid: #b0a99f;--accent: #e8c170;--accent-dim: rgba(232, 193, 112, .12);--accent-glow: rgba(232, 193, 112, .06);--green: #6fcf8e;--green-dim: rgba(111, 207, 142, .1);--red: #e87070;--red-dim: rgba(232, 112, 112, .1);--blue: #70a8e8;--blue-dim: rgba(112, 168, 232, .1);--orange: #e8a070;--orange-dim: rgba(232, 160, 112, .1);--purple: #b070e8;--purple-dim: rgba(176, 112, 232, .1);--font-display: "Fraunces", Georgia, serif;--font-mono: "DM Mono", monospace}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:13px;min-height:100vh;overflow-x:hidden}.app{display:grid;grid-template-columns:220px 1fr;grid-template-rows:48px 1fr;min-height:100vh}.topbar{grid-column:1 / -1;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:24px;position:sticky;top:0;z-index:100}.logo{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--accent);letter-spacing:-.5px;margin-right:8px}.topbar-divider{width:1px;height:18px;background:var(--border-light)}.topbar-nav{display:flex;gap:4px}.topbar-nav a{color:var(--text-dim);text-decoration:none;padding:4px 10px;border-radius:4px;font-size:12px;transition:color .15s}.topbar-nav a:hover{color:var(--text-mid)}.topbar-nav a.active{color:var(--text);background:var(--surface3)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar-search{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:5px 10px;color:var(--text);font-family:var(--font-mono);font-size:12px;width:180px;outline:none}.topbar-search::placeholder{color:var(--text-dim)}.avatar{width:28px;height:28px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--accent);font-weight:500}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 0;overflow-y:auto}.sidebar-section{padding:0 12px;margin-bottom:24px}.sidebar-label{font-size:10px;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;padding:0 8px;margin-bottom:6px}.sidebar-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:5px;color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .15s;margin-bottom:1px}.sidebar-item:hover{background:var(--surface2);color:var(--text-mid)}.sidebar-item.active{background:var(--accent-dim);color:var(--accent)}.sidebar-item .icon{width:14px;text-align:center;font-size:12px}.sidebar-badge{margin-left:auto;background:var(--surface3);color:var(--text-dim);font-size:10px;padding:1px 6px;border-radius:10px}.sidebar-item.active .sidebar-badge{background:var(--accent-dim);color:var(--accent)}.main{overflow-y:auto;padding:28px 32px;background:var(--bg)}.main.panel-open{padding-right:452px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.page-title{font-family:var(--font-display);font-size:26px;font-weight:300;color:var(--text);letter-spacing:-.5px;font-style:italic}.page-subtitle{color:var(--text-dim);font-size:12px;margin-top:4px}.header-actions{display:flex;gap:8px;align-items:center}.btn{padding:7px 14px;border-radius:5px;font-family:var(--font-mono);font-size:12px;cursor:pointer;border:none;transition:all .15s}.btn-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface2);color:var(--text-mid)}.btn-primary{background:var(--accent);color:#0f0f0f;font-weight:500}.btn-primary:hover{background:#f0cc82}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 18px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px}.stat-card.gold:before{background:var(--accent)}.stat-card.green:before{background:var(--green)}.stat-card.blue:before{background:var(--blue)}.stat-card.orange:before{background:var(--orange)}.stat-label{font-size:10px;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.stat-value{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--text);letter-spacing:-1px}.stat-meta{font-size:11px;color:var(--text-dim);margin-top:4px}.stat-meta .up{color:var(--green)}.stat-meta .warn{color:var(--orange)}.filter-row{display:flex;gap:8px;margin-bottom:20px;align-items:center}.sort-select{margin-left:auto;background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--text-mid);font-family:var(--font-mono);font-size:11px;padding:5px 10px;outline:none;cursor:pointer}.stage-nav{display:flex;gap:2px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.stage-nav-item{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:5px;font-size:11px;cursor:pointer;color:var(--text-dim);transition:all .15s;white-space:nowrap;border:1px solid transparent;background:transparent;font-family:var(--font-mono)}.stage-nav-item:hover{color:var(--text-mid);background:var(--surface)}.stage-nav-item.active{background:var(--surface);border-color:var(--border);color:var(--text)}.stage-nav-count{background:var(--surface3);border-radius:10px;padding:1px 6px;font-size:10px;color:var(--text-dim)}.pipeline-table{width:100%;border-collapse:collapse}.pipeline-table thead tr{border-bottom:1px solid var(--border)}.pipeline-table th{text-align:left;padding:8px 12px;font-size:10px;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;font-weight:400;white-space:nowrap}.pipeline-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.pipeline-table tbody tr:hover,.pipeline-table tbody tr.selected{background:var(--surface)}.pipeline-table td{padding:13px 12px;vertical-align:middle}.deal-name{font-size:14px;color:var(--text);font-weight:600;margin-bottom:2px}.deal-project,.deal-company{font-size:11px;color:var(--text-dim)}.stage-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.stage-dot{width:5px;height:5px;border-radius:50%}.stage-discovery{background:var(--blue-dim);color:var(--blue)}.stage-discovery .stage-dot{background:var(--blue)}.stage-scoping{background:var(--purple-dim);color:var(--purple)}.stage-scoping .stage-dot{background:var(--purple)}.stage-proposal{background:var(--orange-dim);color:var(--orange)}.stage-proposal .stage-dot{background:var(--orange)}.stage-negotiation{background:var(--accent-dim);color:var(--accent)}.stage-negotiation .stage-dot{background:var(--accent)}.stage-won{background:var(--green-dim);color:var(--green)}.stage-won .stage-dot{background:var(--green)}.stage-lost{background:var(--red-dim);color:var(--red)}.stage-lost .stage-dot{background:var(--red)}.deal-value{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text);letter-spacing:-.5px}.deal-type{display:inline-block;padding:2px 7px;border-radius:3px;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.type-ai{background:var(--purple-dim);color:var(--purple)}.type-web{background:var(--blue-dim);color:var(--blue)}.type-mobile{background:var(--green-dim);color:var(--green)}.health-bar{width:80px;height:4px;background:var(--surface3);border-radius:2px;overflow:hidden;margin-bottom:3px}.health-fill{height:100%;border-radius:2px;transition:width .3s}.health-high .health-fill{background:var(--green)}.health-mid .health-fill{background:var(--accent)}.health-low .health-fill{background:var(--red)}.health-label{font-size:10px;color:var(--text-dim)}.days-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim)}.days-badge.stale{color:var(--red)}.days-badge.warn{color:var(--orange)}.days-badge.fresh{color:var(--text-dim)}.owner-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-dim)}.owner-dot{width:18px;height:18px;border-radius:50%;font-size:9px;display:flex;align-items:center;justify-content:center;font-weight:500}.next-action{font-size:11px;color:var(--text-mid);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next-action-date{font-size:10px;color:var(--text-dim);margin-top:2px}.next-action-date.overdue{color:var(--red)}.detail-overlay{position:fixed;right:0;top:48px;bottom:0;width:420px;background:var(--surface);border-left:1px solid var(--border);z-index:50;overflow-y:auto;transform:translate(100%);transition:transform .25s cubic-bezier(.16,1,.3,1)}.detail-overlay.open{transform:translate(0)}.detail-header{padding:20px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:10}.detail-close{position:absolute;top:16px;right:16px;background:var(--surface3);border:none;color:var(--text-dim);width:26px;height:26px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s}.detail-close:hover{background:var(--border-light);color:var(--text)}.detail-deal-name{font-family:var(--font-display);font-size:20px;font-weight:300;font-style:italic;color:var(--text);margin-bottom:2px;padding-right:32px}.detail-sub{font-size:12px;color:var(--text-dim);margin-bottom:2px}.detail-company{font-size:12px;color:var(--text-dim);margin-bottom:12px}.detail-stage-row{display:flex;align-items:center;gap:8px}.stage-pill-dropdown{position:relative}.stage-pill-trigger{cursor:pointer;border:none;font:inherit;display:inline-flex;align-items:center;gap:5px;padding-right:18px}.stage-pill-trigger:disabled{cursor:default;opacity:.8}.stage-pill-chevron{position:absolute;right:6px;font-size:10px;opacity:.7}.stage-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:140px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;list-style:none;padding:4px;z-index:20;box-shadow:0 8px 24px #0006}.stage-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:4px;background:none;color:var(--text);font-size:12px;font-family:var(--font-mono);cursor:pointer;text-align:left;transition:background .15s}.stage-dropdown-item:hover:not(:disabled){background:var(--surface3)}.stage-dropdown-item.current{opacity:.6;cursor:default}.stage-dropdown-item:disabled{cursor:default}.detail-body{padding:20px 24px}.detail-section{margin-bottom:24px}.detail-section-title{font-size:10px;color:var(--text-dim);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:10px}.detail-section-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.detail-section-header-row .detail-section-title{margin-bottom:0}.btn-next-action{padding:6px 12px;font-size:11px;font-family:var(--font-mono);background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);border-radius:6px;cursor:pointer;transition:all .15s}.btn-next-action:hover{background:var(--accent);color:#0f0f0f}.btn-edit-details{padding:4px 10px;font-size:11px;font-family:var(--font-mono);background:var(--surface3);color:var(--text-mid);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s}.btn-edit-details:hover{background:var(--border-light);color:var(--text)}.next-actions-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.next-action-box{background:var(--accent-dim);border:1px solid var(--accent);border-radius:6px;padding:12px 14px}.next-action-description{font-size:12px;color:var(--accent);margin-bottom:4px}.next-action-meta{font-size:11px;color:var(--text-dim)}.next-action-stage{color:var(--text-mid)}.next-action-form{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:12px 14px}.next-action-input{width:100%;background:var(--surface3);border:1px solid var(--border);border-radius:4px;padding:8px 10px;color:var(--text);font-family:var(--font-mono);font-size:12px;margin-bottom:10px}.next-action-form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.next-action-form-actions{display:flex;gap:8px}.btn-secondary{padding:6px 12px;font-size:11px;font-family:var(--font-mono);background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:6px;cursor:pointer}.btn-secondary:hover{background:var(--surface3);color:var(--text)}.activity-log-toggle{margin-top:8px;padding:4px 0;font-size:11px;color:var(--accent);background:none;border:none;cursor:pointer;font-family:var(--font-mono)}.activity-log-toggle:hover{text-decoration:underline}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-field{background:var(--surface2);border-radius:6px;padding:10px 12px}.detail-field-label{font-size:10px;color:var(--text-dim);margin-bottom:4px}.detail-field-value{font-size:12px;color:var(--text)}.detail-field.full{grid-column:1 / -1}.detail-field-value.accent{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--accent);letter-spacing:-.5px}.stage-progress{display:flex;align-items:center;gap:0;margin-bottom:20px}.stage-step{flex:1;text-align:center;position:relative}.stage-step:after{content:"";position:absolute;top:10px;right:0;width:100%;height:1px;background:var(--border);z-index:0}.stage-step:last-child:after{display:none}.stage-dot-progress{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface2);margin:0 auto 4px;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;font-size:9px;transition:all .2s}.stage-step.done .stage-dot-progress{background:var(--green);border-color:var(--green);color:#0f0f0f}.stage-step.current .stage-dot-progress{background:var(--accent);border-color:var(--accent);color:#0f0f0f;box-shadow:0 0 0 3px var(--accent-dim)}.stage-step-label{font-size:9px;color:var(--text-dim)}.stage-step.current .stage-step-label{color:var(--accent)}.stage-step.done .stage-step-label{color:var(--green)}.activity-log{display:flex;flex-direction:column;gap:0}.activity-item{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);position:relative}.activity-item:last-child{border-bottom:none}.activity-item:before{content:"";position:absolute;left:13px;top:34px;bottom:-10px;width:1px;background:var(--border)}.activity-item:last-child:before{display:none}.activity-icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;margin-top:1px;position:relative;z-index:1}.activity-icon.call{background:var(--blue-dim)}.activity-icon.email{background:var(--green-dim)}.activity-icon.meeting{background:var(--purple-dim)}.activity-icon.notes,.activity-icon.milestone{background:var(--accent-dim)}.activity-title{font-size:12px;color:var(--text);margin-bottom:3px}.activity-note{font-size:11px;color:var(--text-dim);line-height:1.5;margin-bottom:4px}.activity-date{font-size:10px;color:var(--text-dim)}.log-entry-box{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-top:12px}.log-entry-box textarea{background:transparent;border:none;color:var(--text);font-family:var(--font-mono);font-size:12px;width:100%;resize:none;outline:none;line-height:1.5}.log-entry-box textarea::placeholder{color:var(--text-dim)}.log-entry-row{margin-top:8px}.log-date-label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-dim)}.log-date-input{background:var(--surface3);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text);font-family:var(--font-mono);font-size:12px}.log-entry-actions{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.log-type-btn{padding:4px 8px;border-radius:4px;font-size:10px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-family:var(--font-mono);transition:all .15s}.log-type-btn:hover,.log-type-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.log-submit{margin-left:auto;background:var(--accent);color:#0f0f0f;border:none;padding:4px 12px;border-radius:4px;font-family:var(--font-mono);font-size:11px;font-weight:500;cursor:pointer}.alert-bar{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--orange);border-radius:6px;padding:10px 14px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-mid)}.alert-icon{color:var(--orange);font-size:14px}.alert-link{color:var(--orange);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:32px;width:100%;max-width:360px}.auth-title{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--accent);margin-bottom:8px}.auth-subtitle{font-size:12px;color:var(--text-dim);margin-bottom:24px}.auth-card label{display:block;font-size:10px;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.auth-card input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:5px;padding:8px 12px;color:var(--text);font-family:var(--font-mono);font-size:13px;margin-bottom:16px;outline:none}.auth-card input::placeholder{color:var(--text-dim)}.auth-card .btn-primary{width:100%;padding:10px;margin-top:8px}.auth-error{font-size:11px;color:var(--red);margin-bottom:12px}.auth-footer{margin-top:20px;text-align:center;font-size:12px;color:var(--text-dim)}.auth-footer a{color:var(--accent);text-decoration:none}.auth-footer a:hover{text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pipeline-table tbody tr{animation:fadeIn .2s ease both}.pipeline-table tbody tr:nth-child(1){animation-delay:.02s}.pipeline-table tbody tr:nth-child(2){animation-delay:.04s}.pipeline-table tbody tr:nth-child(3){animation-delay:.06s}.pipeline-table tbody tr:nth-child(4){animation-delay:.08s}.pipeline-table tbody tr:nth-child(5){animation-delay:.1s}.pipeline-table tbody tr:nth-child(6){animation-delay:.12s}.pipeline-table tbody tr:nth-child(7){animation-delay:.14s}.companies-form-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px 24px;margin-bottom:24px}.companies-form-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px}.companies-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.companies-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-family:var(--font-mono);font-size:12px}.point-of-contact-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.point-of-contact-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.btn-add-contact{padding:4px 10px;font-size:11px;font-family:var(--font-mono);background:var(--surface3);color:var(--text-mid);border:1px solid var(--border);border-radius:4px;cursor:pointer}.btn-add-contact:hover{background:var(--border-light);color:var(--text)}.contact-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.contact-row-fields{flex:1;display:grid;grid-template-columns:1fr 1fr .8fr .8fr .7fr;gap:8px}.contact-row-fields .contact-name{min-width:0}.contact-row-actions{display:flex;gap:6px;flex-shrink:0}.btn-primary-flag{padding:4px 8px;font-size:10px;font-family:var(--font-mono);background:var(--surface3);color:var(--text-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer}.btn-primary-flag.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.btn-remove-contact{padding:4px 8px;font-size:12px;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer}.btn-remove-contact:hover:not(:disabled){background:var(--red-dim);color:var(--red)}.btn-remove-contact:disabled{opacity:.5;cursor:not-allowed}.companies-list-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px}.companies-list{list-style:none;display:flex;flex-direction:column;gap:10px}.company-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:14px 16px}.company-card-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.company-card-project{font-size:12px;color:var(--text-dim);margin-bottom:8px}.company-card-contacts{display:flex;flex-wrap:wrap;gap:6px}.company-contact-tag{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--surface3);color:var(--text-mid)}.company-contact-tag.primary{background:var(--accent-dim);color:var(--accent)}
