:root{--bg: #f0f4f9;--surface: #ffffff;--surface-muted: #f8fafc;--border: #d8e3f0;--border-strong: #b8c9de;--text: #0f1b2e;--text-muted: #5a6f8c;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: rgba(37, 99, 235, .1);--accent: #0891b2;--accent-soft: rgba(8, 145, 178, .12);--success: #059669;--danger: #dc2626;--sidebar-bg: #0f1b2e;--sidebar-text: #c8d6ea;--sidebar-active: #3b9eff;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(15, 27, 46, .08);--font-display: "Outfit", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--header-height: 56px;--color-border: var(--border);--color-border-strong: var(--border-strong);--color-primary: var(--primary);--color-muted: var(--text-muted);--color-danger: var(--danger);--color-surface: var(--surface);--color-surface-muted: var(--surface-muted)}[data-theme=dark]{--bg: #0f1419;--surface: #1a2332;--surface-muted: #222d3f;--border: #2d3a4f;--border-strong: #3d4f6a;--text: #e8eef7;--text-muted: #94a3b8;--primary: #3b9eff;--primary-hover: #60b0ff;--primary-soft: rgba(59, 158, 255, .15);--accent: #22d3ee;--accent-soft: rgba(34, 211, 238, .12);--success: #34d399;--danger: #f87171;--sidebar-bg: #0a0f16;--sidebar-text: #b8c5d9;--sidebar-active: #3b9eff;--shadow: 0 4px 24px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-muted)}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.field input,.field select,.field textarea,.input,select.input,textarea.input,.select,.textarea{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);line-height:1.4;min-width:0;transition:border-color .15s,outline-color .15s,background .15s}.field input,.field select,.field textarea{width:100%}.textarea,textarea.input,.field textarea{min-height:5.5rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.input:focus,select.input:focus,textarea.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--primary-soft);border-color:var(--primary);outline-offset:0}.field input:disabled,.field select:disabled,.field textarea:disabled,.input:disabled,select.input:disabled,textarea.input:disabled,.select:disabled,.textarea:disabled,.field input:read-only:not([type=button]):not([type=submit]):not([type=reset]),.input:read-only:not([type=button]):not([type=submit]):not([type=reset]){opacity:.72;cursor:not-allowed;background:var(--surface-muted)}.field input::placeholder,.field textarea::placeholder,.input::placeholder,.textarea::placeholder{color:var(--text-muted);opacity:.85}.input-sm,.field input.input-sm,.field select.input-sm,.field textarea.input-sm,select.input.input-sm,textarea.input.input-sm{padding:.35rem .55rem;font-size:.85rem}.btn-sm{padding:.35rem .65rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.card--flat{box-shadow:none}.card--nested{padding:1rem;border-radius:var(--radius-sm);box-shadow:none}.page{max-width:1280px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-head h1,.page-head .page-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0}.page-sub{margin-top:.35rem;font-size:.95rem;max-width:40rem}.form-card{width:100%}.table-wrap{overflow-x:auto}table.data-grid{width:100%;border-collapse:collapse;font-size:.9rem}table.data-grid th,table.data-grid td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border)}table.data-grid th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-muted)}table.data-grid tbody tr:hover{background:var(--primary-soft);cursor:pointer}table.data-grid.data-grid--static tbody tr:hover{background:var(--surface-muted);cursor:default}table.data-grid th.num,table.data-grid td.num{text-align:right}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-prospecto{background:var(--accent-soft);color:var(--accent)}.badge-lead{background:#e0e7ff;color:#3730a3}.badge-cliente{background:var(--primary-soft);color:var(--primary)}.badge-open{background:var(--surface-muted);color:var(--text-muted)}.badge-warning{background:#fef3c7;color:#92400e}.badge-muted{background:#e5e7eb;color:#374151}.badge-info{background:#dbeafe;color:#1e40af}.badge-paid{background:#d1fae5;color:#065f46}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:var(--danger)}.alert-info{background:var(--primary-soft);border:1px solid #bfdbfe;color:var(--primary)}.alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.toast-host{position:fixed;top:1rem;right:1rem;z-index:9999;pointer-events:none;max-width:min(24rem,calc(100vw - 2rem))}.toast-stack{display:flex;flex-direction:column;gap:.5rem}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .875rem;border-radius:var(--radius-sm);font-size:.9rem;line-height:1.4;box-shadow:0 8px 24px #0f172a1f;pointer-events:auto}.toast-message{flex:1}.toast-close{flex-shrink:0;border:none;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer;opacity:.65;padding:0}.toast-close:hover{opacity:1}.toast-error{background:#fef2f2;border:1px solid #fecaca;color:var(--danger)}.toast-warning{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.toast-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.toast-info{background:var(--primary-soft);border:1px solid #bfdbfe;color:var(--primary)}.toast-enter-active,.toast-leave-active{transition:opacity .2s ease,transform .2s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(.75rem)}.muted{color:var(--text-muted)}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem}.page-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.pagination{display:flex;align-items:center;gap:.75rem;margin-top:1rem;font-size:.9rem;color:var(--text-muted)}
