:root{--font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-bg:#f8f9fa;--color-surface:#fff;--color-text:#1a1a2e;--color-text-muted:#4a5568;--color-primary:#000;--color-primary-hover:#333;--color-primary-subtle:#0000000f;--color-on-primary:#fff;--color-border:#e2e8f0;--color-warning:#d69e2e;--color-warning-bg:#fffbeb;--color-warning-text:#744210;--color-success:#276749;--color-success-bg:#f0fff4;--color-danger:#c53030;--color-danger-bg:#fff5f5;--color-row-hover:#f8f9facc;--color-focus-ring:#00000040;--color-backdrop:#1a1a2e66;--color-chip-visita:#553c9a;--color-chip-stream:#2b6cb0;--radius:8px;--shadow:0 1px 3px #00000014;--shadow-md:0 4px 12px #00000014;--max-width:1200px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#000;--color-surface:#121212;--color-text:#f5f5f5;--color-text-muted:#a1a1a1;--color-primary:#fff;--color-primary-hover:#e2e2e2;--color-primary-subtle:#ffffff24;--color-on-primary:#0a0a0a;--color-border:#2a2a2a;--color-warning:#d69e2e;--color-warning-bg:#2d2410;--color-warning-text:#f6e05e;--color-success:#68d391;--color-success-bg:#1a2e22;--color-danger:#fc8181;--color-danger-bg:#2d1a1a;--color-row-hover:#ffffff0a;--color-focus-ring:#fff6;--color-backdrop:#0009;--color-chip-visita:#9f7aea;--color-chip-stream:#63b3ed;--shadow:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);margin:0;font-size:15px;line-height:1.5;transition:background-color .2s,color .2s;overflow-x:clip}html{overflow-x:clip}h1,h2,h3{margin:0 0 .5rem;font-weight:600;line-height:1.3}h1{font-size:1.75rem}h2{font-size:1.25rem}p{color:var(--color-text-muted);margin:0 0 1rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea,button{font:inherit}input,select,textarea{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;min-width:0;max-width:100%;color:var(--color-text);padding:.625rem .75rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-focus-ring);border-color:var(--color-primary)}label{color:var(--color-text);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group{min-width:0;max-width:100%;margin-bottom:1rem}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;min-width:0;max-width:100%;display:grid}.form-row>.form-group{min-width:0;max-width:100%}.form-row--stack{grid-template-columns:1fr}@media (width<=768px){.form-row{grid-template-columns:1fr}}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1rem;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-ghost{color:var(--color-text-muted);background:0 0;padding:.375rem .625rem}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.campo-acciones{margin-top:.5rem;display:flex}.campo-acciones+.hint{margin-top:.5rem}.btn-accion-texto{width:auto;max-width:100%;color:var(--color-primary);background:0 0;justify-content:flex-start;padding:.375rem 0}.btn-accion-texto:hover:not(:disabled){background:0 0;text-decoration:underline}.btn-whatsapp{color:#fff;border-radius:var(--radius);background:#25d366;border:none;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.btn-whatsapp:hover{color:#fff;background:#1ebe57;text-decoration:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;max-width:100%;padding:1.25rem;transition:background-color .2s,border-color .2s}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.875rem 1rem;font-size:.9375rem}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid #d69e2e4d}.alert-error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid #c5303033}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid #27674933}.badge{border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-primary{background:var(--color-primary-subtle);color:var(--color-primary)}.badge-muted{background:var(--color-bg);color:var(--color-text-muted)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-status-confirmado{background:var(--color-success-bg);color:var(--color-success)}.badge-status-por-confirmar{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-status-sin-programar{background:var(--color-danger-bg);color:var(--color-danger)}.table-wrap{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9375rem}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8125rem;font-weight:600}tr:hover td{background:var(--color-row-hover)}.actions-cell{vertical-align:top;white-space:nowrap;text-align:right;width:1%}.actions-cell-inner{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.375rem;display:flex}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header p{margin:0}.layout-two-col{grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:1.5rem;min-width:0;display:grid}.layout-two-col>*{min-width:0}.layout-two-col>:first-child .form-row{grid-template-columns:1fr}.sidebar{flex-direction:column;gap:1rem;display:flex}@media (width<=768px){.layout-two-col{grid-template-columns:1fr}}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.modal-backdrop{background:var(--color-backdrop);z-index:100;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-md);width:100%;max-width:480px;max-height:90vh;padding:1.5rem;overflow-y:auto}.modal h2{margin-bottom:1rem}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
