*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--surface:#1a1d27;--surface2:#242736;--border:#2e3247;--text:#e2e8f0;--text-muted:#8892a4;--accent:#4f7cff;--accent-hover:#3b6aee;--accent-dim:#4f7cff22;--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--radius:10px;--radius-sm:6px;--shadow:0 4px 20px #00000059;--font:"Inter", system-ui, sans-serif;--sidebar-w:220px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}.app-shell{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:50;flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px 18px;display:flex}.brand-icon{background:var(--accent);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:grid}.brand-name{letter-spacing:.4px;font-size:15px;font-weight:700;display:block}.brand-sub{color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;font-size:10px;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13.5px;transition:all .15s;display:flex}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);padding:14px 18px}.sidebar-version{color:var(--text-muted);font-size:11px}.main-area{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:12px;height:54px;padding:0 24px;display:flex}.topbar-title{font-size:15px;font-weight:600}.mobile-menu{display:none}.content-area{flex:1;padding:24px;overflow-y:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h2{font-size:20px;font-weight:700}.page-sub{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:16px;display:flex}.stat-icon{border-radius:8px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.stat-value{font-size:17px;font-weight:700;display:block}.stat-label{color:var(--text-muted);font-size:11px;display:block}.stat-sub{color:var(--success);margin-top:2px;font-size:11px;display:block}.dash-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.dash-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.dash-card-header h3{font-size:14px;font-weight:600}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:12px}.link-btn:hover{text-decoration:underline}.mini-table{border-collapse:collapse;width:100%}.mini-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:6px 0;font-size:11px}.mini-table td{border-bottom:1px solid var(--border);padding:8px 0;font-size:13px}.mini-table tr:last-child td{border-bottom:none}.activity-list{list-style:none}.activity-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.activity-item:last-child{border-bottom:none}.act-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.act-title{font-size:13px;display:block}.act-meta{color:var(--text-muted);font-size:11px;display:block}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:13.5px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-icon{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon:hover{background:var(--surface2);color:var(--text)}.btn-icon.danger:hover{color:var(--danger);background:#ef444422}.filters-bar{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.search-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:200px;color:var(--text-muted);flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-size:13.5px}.filters-bar select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;outline:none;padding:8px 10px;font-size:13px}.clients-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.client-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px;transition:border-color .15s;display:flex}.client-card:hover{border-color:var(--accent)}.client-card-top{align-items:flex-start;gap:10px;display:flex}.client-avatar{background:var(--accent-dim);width:36px;height:36px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;font-size:16px;font-weight:700;display:grid}.client-info h4{font-size:14px;font-weight:600}.client-info .muted{font-size:12px}.client-details{flex-direction:column;gap:4px;display:flex}.client-detail{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.card-actions{gap:4px;margin-top:4px;display:flex}.tag{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.tag button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.tag-sm{padding:1px 6px;font-size:11px}.tag-list{flex-wrap:wrap;gap:4px;display:flex}.tag-input-row{gap:8px;display:flex}.kanban-board{gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.kanban-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:0 0 220px;max-height:calc(100vh - 200px);display:flex}.kanban-col-header{border-bottom:1px solid var(--border);padding:12px 14px}.kanban-col-title{align-items:center;gap:7px;margin-bottom:2px;display:flex}.kanban-stage-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kanban-count{background:var(--surface2);color:var(--text-muted);border-radius:10px;margin-left:auto;padding:0 7px;font-size:11px}.kanban-value{color:var(--text-muted);font-size:11px}.kanban-cards{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.kanban-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:5px;padding:10px 12px;display:flex}.kanban-card-title{font-size:13px;font-weight:500;line-height:1.4}.kanban-client{color:var(--text-muted);font-size:11px}.kanban-card-meta{align-items:center;gap:8px;display:flex}.kanban-price{color:var(--success);font-size:12px;font-weight:600}.kanban-prob,.kanban-date{color:var(--text-muted);font-size:11px}.kanban-card-actions{align-items:center;gap:4px;margin-top:4px;display:flex}.stage-select{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;flex:1;padding:4px 6px;font-size:11px}.kanban-add-btn{border:1px dashed var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:5px;width:100%;padding:6px 10px;font-size:12px;transition:all .15s;display:flex}.kanban-add-btn:hover{border-color:var(--accent);color:var(--accent)}.activity-table-container{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:11px}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.data-table tr:last-child td{border-bottom:none}.data-table tr.row-done td{opacity:.55}.act-type-icon{border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.act-title-cell{flex-direction:column;gap:1px;display:flex}.act-desc{color:var(--text-muted);font-size:11px}.row-actions{gap:3px;display:flex}.status-toggle{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;transition:all .15s;display:inline-flex}.status-toggle.done{color:var(--success);background:#10b98122}.status-toggle.pending{color:var(--warning);background:#f59e0b22}.status-toggle.small{padding:3px 7px;font-size:11px}.detail-info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin-bottom:20px;padding:16px 20px;display:flex}.detail-info-grid{flex-wrap:wrap;gap:16px;display:flex}.detail-info-item{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13.5px;transition:all .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-actions{justify-content:flex-end;margin-bottom:14px;display:flex}.opp-list{flex-direction:column;gap:8px;display:flex}.opp-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.opp-card-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.opp-title{font-size:13.5px;font-weight:500}.opp-card-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.opp-value{color:var(--success);font-size:13px;font-weight:600}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{border-bottom:1px solid var(--border);gap:12px;padding:12px 0;display:flex;position:relative}.timeline-item:last-child{border-bottom:none}.timeline-item.done{opacity:.65}.timeline-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.timeline-item.done .timeline-dot{background:var(--success)}.timeline-content{flex:1}.timeline-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.timeline-title{font-size:13.5px;font-weight:500}.timeline-meta{color:var(--text-muted);font-size:11px}.timeline-desc{color:var(--text-muted);margin-bottom:6px;font-size:12.5px}.modal-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);flex-direction:column;max-height:90vh;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-header h3{font-size:16px;font-weight:600}.modal-body{padding:20px;overflow-y:auto}.confirm-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:100%;max-width:380px;padding:24px}.confirm-box p{color:var(--text-muted);margin-bottom:20px;font-size:14px}.confirm-actions{justify-content:center;gap:10px;display:flex}.crm-form{flex-direction:column;gap:14px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-field{flex-direction:column;gap:5px;display:flex}.form-field label{color:var(--text-muted);font-size:12px;font-weight:500}.form-field input,.form-field select,.form-field textarea{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13.5px;font-family:var(--font);outline:none;padding:8px 10px;transition:border-color .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent)}.form-field textarea{resize:vertical;min-height:72px}.required{color:var(--danger);margin-left:2px}.form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.range-input{width:100%;accent-color:var(--accent);margin-top:4px}.stage-pill{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.badge{border:1px solid;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-block}.badge-sm{padding:2px 6px;font-size:11px}.muted{color:var(--text-muted)}.small{font-size:12px}.mono{font-variant-numeric:tabular-nums}.empty-msg{color:var(--text-muted);padding:12px 0;font-size:13px}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-state h4{color:var(--text);font-size:16px}.empty-state p{max-width:280px;font-size:13px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (width<=768px){.sidebar{height:100%;transition:left .25s;position:fixed;top:0;left:-100%}.sidebar.open{left:0}.overlay{z-index:40;background:#00000080;position:fixed;inset:0}.mobile-menu{display:flex}.dash-grid,.form-row{grid-template-columns:1fr}.content-area{padding:16px}.kanban-board{flex-direction:column;overflow-x:hidden}.kanban-col{flex:none;max-height:none}}
