*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f8f9fb;--color-surface:#fff;--color-border:#e2e5ea;--color-text:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-primary-light:#eef2ff;--color-active:#10b981;--color-inactive:#ef4444;--color-danger:#ef4444;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 4px 16px #0000000f, 0 2px 4px #0000000a}[data-theme=dark]{--color-bg:#0b0e14;--color-surface:#151921;--color-border:#242938;--color-text:#e2e4ea;--color-text-secondary:#8b91a0;--color-text-muted:#5c6270;--color-primary:#818cf8;--color-primary-hover:#6366f1;--color-primary-light:#1e2035;--color-active:#34d399;--color-inactive:#f87171;--color-danger:#f87171;--shadow-sm:0 1px 2px #0003;--shadow:0 1px 3px #00000040, 0 1px 2px #0003;--shadow-lg:0 4px 16px #0000004d, 0 2px 4px #0003}body{color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:60px;box-shadow:var(--shadow-sm);z-index:50;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:36px;display:flex}.app-title{color:var(--color-primary);letter-spacing:-.4px;font-size:20px;font-weight:700}.app-nav{gap:2px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:7px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{background:var(--color-primary-light);color:var(--color-primary)}.nav-link.active{background:var(--color-primary);color:#fff}.app-main{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:28px}.settings-bar{align-items:center;gap:12px;display:flex}.user-display{color:var(--color-text);font-size:13px;font-weight:600}.btn-theme{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;transition:all .15s;display:flex}.btn-theme:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.btn-logout{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;padding:6px 16px;font-size:12px;font-weight:600;transition:all .15s}.btn-logout:hover{color:var(--color-danger);border-color:var(--color-danger);background:#fef2f2}.search-bar{flex:1;gap:8px;display:flex}.search-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);flex:1;padding:9px 16px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #6366f11f}.search-input::placeholder{color:var(--color-text-muted)}.btn-clear,.btn-refresh{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.btn-clear:hover,.btn-refresh:hover{background:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary)}.loading-state,.error-state,.empty-state{color:var(--color-text-muted);justify-content:center;align-items:center;padding:56px;font-size:14px;font-weight:500;display:flex}.error-state{color:var(--color-danger)}.customer-list{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch;overflow:auto hidden}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.6px;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:11px 16px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--color-border);padding:12px 16px;font-size:13px}.data-table tbody tr:last-child td{border-bottom:none}.table-row{cursor:pointer;transition:background .1s}.table-row:hover{background:var(--color-primary-light)}.table-row.selected{background:var(--color-primary-light);box-shadow:inset 3px 0 0 var(--color-primary)}.table-row.inactive{opacity:.5}.cell-name .name-primary{font-weight:600}.cell-name .name-secondary{color:var(--color-text-muted);margin-top:1px;font-size:12px}.cell-email{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.tag{background:var(--color-bg);color:var(--color-text-secondary);border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.company-tag{background:var(--color-primary-light);color:var(--color-primary)}.person-tag{color:#059669;background:#ecfdf5}.tag-list{flex-wrap:wrap;gap:4px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.active{background:var(--color-active)}.status-dot.inactive{background:var(--color-inactive)}.customers-page{flex-direction:column;gap:16px;display:flex}.customers-toolbar{align-items:center;gap:10px;display:flex}.customers-content{gap:16px;display:flex}.customers-table-area{flex:1;min-width:0}.customers-detail-area{flex-shrink:0;width:400px}.error-banner{color:var(--color-danger);border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;padding:10px 16px;font-size:13px;font-weight:500}.detail-panel{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow);overflow:hidden}.detail-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.detail-header h2{font-size:17px;font-weight:700}.detail-header-actions{align-items:center;gap:6px;display:flex}.btn-close{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:flex}.btn-close:hover{background:var(--color-bg);color:var(--color-text)}.detail-body{flex-direction:column;gap:18px;padding:20px;display:flex}.detail-section h3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;font-size:11px;font-weight:700}.detail-section dl{grid-template-columns:100px 1fr;gap:8px 14px;font-size:13px;display:grid}.detail-section dt{color:var(--color-text-muted);font-weight:500}.detail-section dd{color:var(--color-text);font-weight:500}.detail-section a{color:var(--color-primary);font-weight:500;text-decoration:none}.detail-section a:hover{text-decoration:underline}.detail-meta{border-top:1px solid var(--color-border);padding-top:14px}.btn-add{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,box-shadow .15s}.btn-add:hover{background:var(--color-primary-hover);box-shadow:0 2px 8px #6366f14d}.btn-icon{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.btn-icon:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.btn-edit:hover{color:var(--color-primary);border-color:var(--color-primary)}.btn-delete:hover{color:var(--color-danger);border-color:var(--color-danger)}.customer-form{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow);overflow:hidden}.form-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.form-header h2{font-size:17px;font-weight:700}.form-header-actions{gap:8px;display:flex}.btn-save{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:7px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s}.btn-save:hover:not(:disabled){background:var(--color-primary-hover)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;padding:7px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.btn-cancel:hover:not(:disabled){background:var(--color-bg)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.form-body{flex-direction:column;gap:14px;max-height:calc(100vh - 200px);padding:20px;display:flex;overflow-y:auto}.form-section h3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--color-border);margin-bottom:10px;padding-bottom:6px;font-size:11px;font-weight:700}.form-field{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.form-field-inline{flex-direction:row;align-items:center;gap:10px}.field-label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.field-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #6366f11f}.field-checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.dashboard{flex-direction:column;gap:28px;display:flex}.dashboard h2{letter-spacing:-.3px;font-size:22px;font-weight:700}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px 18px;transition:box-shadow .15s,transform .15s}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.stat-value{color:var(--color-primary);letter-spacing:-.5px;font-size:32px;font-weight:700;line-height:1}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.6px;margin-top:6px;font-size:11px;font-weight:700}.chart-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.chart-section h3{margin-bottom:16px;font-size:15px;font-weight:700}.chart-responsive{height:440px}.login-page{background-color:var(--color-primary);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-page:before{content:"";background:linear-gradient(135deg,#0b0e14e0 0%,#6366f1d1 100%);position:absolute;inset:0}.login-card{z-index:1;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:44px 36px;position:relative}.login-title{color:var(--color-primary);text-align:center;letter-spacing:-.6px;font-size:28px;font-weight:700}.login-subtitle{color:var(--color-text-muted);text-align:center;margin-top:4px;margin-bottom:32px;font-size:14px;font-weight:500}.login-form{flex-direction:column;gap:16px;display:flex}.login-error{color:var(--color-danger);border-radius:var(--radius-sm);text-align:center;background:#fef2f2;border:1px solid #fecaca;padding:10px 14px;font-size:13px;font-weight:500}.login-field{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.login-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #6366f11f}.login-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:none;margin-top:6px;padding:12px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s,box-shadow .15s}.login-btn:hover{background:var(--color-primary-hover);box-shadow:0 2px 12px #6366f159}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:16px;display:flex}.pagination-info{color:var(--color-text-muted);font-size:13px;font-weight:500}.pagination-controls{align-items:center;gap:4px;display:flex}.pagination-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:34px;height:34px;color:var(--color-text-secondary);cursor:pointer;padding:0 10px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s}.pagination-btn:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.pagination-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-ellipsis{text-align:center;width:34px;color:var(--color-text-muted);font-size:13px;font-weight:500}.hamburger{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;padding:7px;display:none}.hamburger span{background:var(--color-text);border-radius:1px;height:2px;transition:transform .2s,opacity .2s;display:block}@media (width<=768px){.app-header{flex-wrap:wrap;gap:8px;height:auto;min-height:56px;padding:8px 16px}.header-left{flex:1;gap:12px}.hamburger{display:flex}.app-nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;box-shadow:var(--shadow-lg);flex-direction:column;padding:10px 16px;display:none;position:absolute;top:56px;left:0;right:0}.app-nav.open{display:flex}.header-right{width:100%}.settings-bar{justify-content:flex-end;width:100%}.app-main{padding:16px 12px}.search-bar{flex-wrap:wrap}.search-input{width:100%;min-width:0}.customers-toolbar{flex-wrap:wrap}.customers-content{flex-direction:column}.customers-detail-area{z-index:200;background:var(--color-bg);width:100%;max-height:100vh;animation:.2s ease-out slideUp;position:fixed;inset:0;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.cell-email{max-width:120px}.detail-section dl{grid-template-columns:1fr;gap:4px 0}.detail-section dt{margin-top:6px}.detail-section dd{padding-bottom:4px}.form-section dl{grid-template-columns:1fr}.form-body{max-height:none}.detail-panel,.customer-form{border:none;border-radius:0}.chart-responsive{height:320px}}@media (width<=480px){.app-title{font-size:16px}.nav-link{padding:8px 14px;font-size:14px}.stat-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:16px 14px}.stat-value{font-size:24px}.stat-label{font-size:10px}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px}.data-table th:nth-child(3),.data-table td:nth-child(3){display:none}.detail-header h2{font-size:14px}.chart-responsive{height:260px}.login-card{padding:32px 24px}}
