:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-tertiary: #242736;--bg-card: #1e2130;--bg-card-hover: #252840;--bg-input: #1a1d27;--bg-sidebar: #13151e;--text-primary: #e8eaed;--text-secondary: #9aa0b2;--text-tertiary: #6b7185;--text-accent: #7c8aff;--border-color: #2a2d3e;--border-light: #353850;--accent: #6366f1;--accent-hover: #7577f5;--accent-light: rgba(99, 102, 241, .12);--success: #10b981;--success-light: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .12);--info: #3b82f6;--info-light: rgba(59, 130, 246, .12);--purple: #8b5cf6;--purple-light: rgba(139, 92, 246, .12);--sidebar-width: 240px;--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .4);--transition: .15s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{margin:0;min-width:320px;overflow-x:hidden}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600}input,select,textarea{font-family:inherit;font-size:.875rem;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius);padding:.5rem .75rem;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}button{font-family:inherit;font-size:.875rem;cursor:pointer;border:none;border-radius:var(--radius);padding:.5rem 1rem;font-weight:500;transition:all var(--transition)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}::selection{background:var(--accent);color:#fff}.app-layout{display:flex;height:100vh;overflow:hidden}.main-content{flex:1;overflow-y:auto;padding:2rem;margin-left:var(--sidebar-width)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100}.sidebar-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;border-bottom:1px solid var(--border-color)}.sidebar-logo{width:36px;height:36px;background:var(--accent);color:#fff;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.sidebar-title{font-weight:600;font-size:1.1rem;color:var(--text-primary)}.sidebar-nav{flex:1;padding:.75rem .5rem;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:.875rem;width:100%;text-align:left;transition:all var(--transition)}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--accent-light);color:var(--accent);font-weight:500}.nav-icon{font-size:1.1rem;width:1.5rem;text-align:center}.sidebar-footer{padding:.75rem .5rem;border-top:1px solid var(--border-color)}.sidebar-user{padding:.5rem .75rem;font-size:.75rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{color:var(--danger)!important}.logout-btn:hover{background:var(--danger-light)!important}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:380px;box-shadow:var(--shadow-lg)}.login-card h1{font-size:1.5rem;margin-bottom:.25rem;text-align:center}.login-subtitle{color:var(--text-tertiary);text-align:center;font-size:.85rem;margin-bottom:1.5rem}.login-card form{display:flex;flex-direction:column;gap:.75rem}.login-card button[type=submit]{background:var(--accent);color:#fff;padding:.65rem;font-weight:600;margin-top:.5rem}.login-card button[type=submit]:hover{background:var(--accent-hover)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--danger);font-size:.8rem;text-align:center;padding:.5rem;background:var(--danger-light);border-radius:var(--radius)}.dashboard h2{margin-bottom:1.25rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;transition:border-color var(--transition)}.stat-card:hover{border-color:var(--border-light)}.stat-card.accent{border-left:3px solid var(--accent)}.stat-card.warning{border-left:3px solid var(--warning)}.stat-card.success{border-left:3px solid var(--success)}.stat-card.danger{border-left:3px solid var(--danger)}.stat-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:.35rem}.stat-label{font-size:.8rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.dashboard-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.dashboard-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem}.dashboard-section h3{font-size:.95rem;margin-bottom:1rem;color:var(--text-secondary)}.status-bars{display:flex;flex-direction:column;gap:.6rem}.status-bar-item{display:flex;align-items:center;gap:.75rem}.status-bar-label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);min-width:110px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-bar-track{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.status-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.status-bar-count{font-size:.8rem;color:var(--text-tertiary);min-width:24px;text-align:right}.category-list{display:flex;flex-direction:column;gap:.35rem}.category-item{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.85rem;color:var(--text-secondary)}.category-count{background:var(--bg-tertiary);padding:.1rem .5rem;border-radius:10px;font-size:.75rem;color:var(--text-tertiary)}.projects-list{display:flex;flex-direction:column;gap:.5rem}.project-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--radius)}.project-icon{font-size:1.5rem}.project-name{font-weight:500;font-size:.9rem}.project-desc{font-size:.8rem;color:var(--text-tertiary)}.project-status{margin-left:auto;font-size:.7rem;padding:.2rem .5rem;border-radius:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:500}.status-active{background:var(--success-light);color:var(--success)}.status-paused{background:var(--warning-light);color:var(--warning)}.status-completed{background:var(--accent-light);color:var(--accent)}.empty-text{color:var(--text-tertiary);font-size:.85rem;text-align:center;padding:2rem}.leads-section h2{margin-bottom:0}.leads-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.leads-filters{display:flex;gap:.5rem;flex-wrap:wrap}.leads-filters input{width:200px}.leads-filters select{min-width:140px}.leads-table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto}.leads-table{width:100%;border-collapse:collapse;font-size:.85rem}.leads-table th{text-align:left;padding:.75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);white-space:nowrap;font-weight:600}.leads-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.leads-table tbody tr:hover{background:var(--bg-card-hover)}.leads-table tbody tr:last-child td{border-bottom:none}.lead-name{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-phone{white-space:nowrap;font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.lead-address{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:.8rem}.category-tag{background:var(--accent-light);color:var(--accent);padding:.15rem .5rem;border-radius:10px;font-size:.75rem;white-space:nowrap}.rating{color:var(--warning);font-size:.8rem;white-space:nowrap}.rating-num{color:var(--text-secondary);margin-left:.25rem}.reviews-count{color:var(--text-tertiary);font-size:.75rem;margin-left:.15rem}.status-select{font-size:.75rem;padding:.3rem .4rem;border-radius:6px;border-width:2px;background:var(--bg-input);min-width:120px}.btn-sm{font-size:.75rem;padding:.3rem .6rem;background:var(--accent);color:#fff;border-radius:6px}.btn-sm:hover{background:var(--accent-hover)}.lead-comment{min-width:150px;max-width:200px}.comment-display{cursor:pointer;font-size:.8rem;color:var(--text-secondary);padding:.25rem;border-radius:4px;transition:background var(--transition);min-height:1.5em}.comment-display:hover{background:var(--bg-tertiary)}.comment-placeholder{color:var(--text-tertiary);font-style:italic}.comment-edit textarea{width:100%;font-size:.8rem;resize:vertical;min-height:40px}.comment-actions{display:flex;gap:.25rem;margin-top:.25rem}.btn-save{background:var(--success)}.btn-save:hover{background:#0da573}.btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-cancel:hover{background:var(--border-light)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90vw;height:85vh;max-width:1200px;position:relative;overflow:hidden}.modal-close{position:absolute;top:.75rem;right:.75rem;background:var(--bg-tertiary);color:var(--text-primary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;z-index:10}.modal-close:hover{background:var(--danger);color:#fff}.site-preview-frame{width:100%;height:100%;border:none}.projects-page h2{margin-bottom:0}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.btn-primary{background:var(--accent);color:#fff;font-weight:500}.btn-primary:hover{background:var(--accent-hover)}.project-form{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center;background:var(--bg-card);padding:1rem;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.project-form input{flex:1;min-width:150px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.project-card-big{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;transition:border-color var(--transition)}.project-card-big:hover{border-color:var(--accent)}.project-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.project-icon-big{font-size:2rem}.project-card-big h3{font-size:1.05rem;margin-bottom:.35rem}.project-card-big p{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.project-card-meta{font-size:.75rem;color:var(--text-tertiary)}@media(max-width:768px){.sidebar{width:60px;overflow:hidden}.sidebar .nav-label,.sidebar-title,.sidebar-user{display:none}.sidebar-header{justify-content:center;padding:1rem .5rem}.main-content{margin-left:60px;padding:1rem}.dashboard-row{grid-template-columns:1fr}.leads-filters{width:100%}.leads-filters input,.leads-filters select{flex:1;min-width:0}}
