@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-main:#d8e1ec;--bg-card:#fff;--bg-card-glass:#ffffffe0;--bg-card-hover:#edf2f7;--bg-input:#f8fafc;--bg-elevated:#fff;--bg-modal-overlay:#0f172a80;--text-main:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-faint:#94a3b8;--text-on-primary:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--border-input:#cbd5e1;--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#eff6ff;--color-success:#22c55e;--color-success-light:#f0fdf4;--color-success-border:#bbf7d0;--color-error:#ef4444;--color-error-light:#fef2f2;--color-error-border:#fecaca;--color-warning:#f59e0b;--color-warning-light:#fffbeb;--color-warning-border:#fde68a;--color-info:#0ea5e9;--color-info-light:#e0f2fe;--color-info-border:#bae6fd;--accent-aquapp:#0ea5e9;--accent-avisomap:#10b981;--accent-workapp:#e11d48;--accent-tareas:#4f46e5;--accent-catalogo:#f59e0b;--accent-calendario:#6366f1;--accent-estadisticas:#8b5cf6;--accent-gestor:#6366f1;--color-danger:#ef4444;--color-danger-hover:#dc2626;--sidebar-width:260px;--bottom-nav-height:65px;--radius-xs:4px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-xs:0 1px 2px #0000000f;--shadow-sm:0 2px 4px #0000000d, 0 1px 2px #00000012;--shadow-md:0 4px 12px #0000001a, 0 1px 3px #00000012;--shadow-lg:0 12px 24px -4px #00000021, 0 4px 8px #0000000f;--shadow-xl:0 20px 40px -8px #00000029, 0 8px 16px #00000012;--backdrop-blur:blur(16px);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}[data-theme=dark]{--bg-main:#0f172a;--bg-card:#1e293b;--bg-card-glass:#1e293bd9;--bg-card-hover:#334155;--bg-input:#1e293b;--bg-elevated:#1e293b;--bg-modal-overlay:#0009;--text-main:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-faint:#64748b;--text-on-primary:#fff;--border:#334155;--border-light:#1e293b;--border-input:#475569;--primary:#60a5fa;--primary-hover:#3b82f6;--primary-light:#3b82f626;--color-success:#4ade80;--color-success-light:#22c55e26;--color-success-border:#22c55e4d;--color-error:#f87171;--color-error-light:#ef444426;--color-error-border:#ef44444d;--color-warning:#fbbf24;--color-warning-light:#f59e0b26;--color-warning-border:#f59e0b4d;--color-info:#38bdf8;--color-info-light:#0ea5e926;--color-info-border:#0ea5e94d;--color-danger:#f87171;--color-danger-hover:#ef4444;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 4px #00000026, 0 1px 2px #0003;--shadow-md:0 4px 12px #0003, 0 1px 3px #00000026;--shadow-lg:0 12px 24px -4px #0000004d, 0 4px 8px #00000026;--shadow-xl:0 20px 40px -8px #0006, 0 8px 16px #0003}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;transition:background-color var(--transition-slow), color var(--transition-slow);background-image:radial-gradient(at 0 0,#0ea5e914 0,#0000 50%),radial-gradient(at 100% 0,#3b82f614 0,#0000 50%),radial-gradient(at 100% 100%,#0ea5e90d 0,#0000 50%),radial-gradient(at 0 100%,#3b82f60d 0,#0000 50%);background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}[data-theme=dark] body{background-image:radial-gradient(at 0 0,#0ea5e90a 0,#0000 50%),radial-gradient(at 100% 0,#3b82f60a 0,#0000 50%),radial-gradient(at 100% 100%,#0ea5e905 0,#0000 50%),radial-gradient(at 0 100%,#3b82f605 0,#0000 50%)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.search-clear-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:inline-flex}.search-clear-btn:hover{background:var(--bg-card-hover);color:var(--text-main);transform:scale(1.1)}.bs-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#0f172ad9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.bs-modal-container{background:var(--bg-card,#fff);border-radius:var(--radius-lg,18px);border:1px solid var(--border,#e2e8f0);flex-direction:column;width:100%;max-width:480px;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #0006}.bs-modal-header{background:var(--bg-card,#fff);border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.bs-modal-title-group h3{color:var(--text-main,#0f172a);margin:0;font-size:1.05rem;font-weight:800}.bs-modal-subtitle{color:var(--text-muted,#64748b);margin-top:2px;font-size:.75rem;display:block}.bs-close-btn{background:var(--bg-main,#f1f5f9);border-radius:var(--radius-pill,999px);width:32px;height:32px;color:var(--text-secondary,#475569);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.bs-close-btn:hover{background:var(--color-danger-light,#fee2e2);color:var(--color-danger,#ef4444)}.bs-viewport-wrapper{background:#000;justify-content:center;align-items:center;width:100%;min-height:280px;max-height:380px;display:flex;position:relative;overflow:hidden}.bs-camera-mount{width:100%!important;height:100%!important}.bs-camera-mount video{object-fit:cover!important;width:100%!important;height:100%!important}#barcode-reader-viewport__scan_region{background:0 0!important}#barcode-reader-viewport img{display:none!important}.bs-scan-overlay{pointer-events:none;z-index:10;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.bs-target-box{border-radius:12px;width:86%;max-width:340px;height:180px;position:relative;box-shadow:0 0 0 4000px #00000073}.bs-focus-ring{pointer-events:none;z-index:25;border:2px solid #38bdf8;border-radius:50%;width:56px;height:56px;animation:.85s ease-out forwards bs-focus-pulse;position:absolute;transform:translate(-50%,-50%)scale(1.3)}@keyframes bs-focus-pulse{0%{opacity:.9;transform:translate(-50%,-50%)scale(1.4)}50%{opacity:1;border-color:#22c55e;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.05)}}.bs-laser-line{background:linear-gradient(90deg,#ef444400 0%,#ef4444 50%,#ef444400 100%);height:2.5px;animation:2s ease-in-out infinite alternate bs-laser-sweep;position:absolute;left:5%;right:5%;box-shadow:0 0 8px #ef4444,0 0 16px #ef4444cc}@keyframes bs-laser-sweep{0%{top:8%}to{top:92%}}.bs-corner{border-style:solid;border-color:#38bdf8;width:22px;height:22px;position:absolute}.bs-corner.top-left{border-width:3.5px 0 0 3.5px;border-top-left-radius:10px;top:-2px;left:-2px}.bs-corner.top-right{border-width:3.5px 3.5px 0 0;border-top-right-radius:10px;top:-2px;right:-2px}.bs-corner.bottom-left{border-width:0 0 3.5px 3.5px;border-bottom-left-radius:10px;bottom:-2px;left:-2px}.bs-corner.bottom-right{border-width:0 3.5px 3.5px 0;border-bottom-right-radius:10px;bottom:-2px;right:-2px}.bs-aim-hint{color:#ffffffd9;border-radius:var(--radius-pill,999px);letter-spacing:.2px;background:#0009;margin-top:14px;padding:4px 12px;font-size:.76rem;font-weight:600}.bs-error-banner{text-align:center;color:#fff;flex-direction:column;align-items:center;gap:12px;padding:30px 20px;display:flex}.bs-error-banner p{color:#cbd5e1;max-width:320px;margin:0;font-size:.85rem}.bs-btn-retry{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:700;display:inline-flex}.bs-controls-bar{background:var(--bg-card,#fff);border-top:1px solid var(--border,#e2e8f0);justify-content:center;align-items:center;gap:10px;padding:12px 16px;display:flex}.bs-ctrl-btn{background:var(--bg-main,#f1f5f9);color:var(--text-secondary,#475569);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-md,10px);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.bs-ctrl-btn:hover{background:var(--bg-card-hover,#f8fafc);color:var(--primary,#2563eb)}.bs-ctrl-btn.active{color:#854d0e;background:#fef08a;border-color:#facc15}.bs-result-card{background:var(--bg-card,#fff);border-top:1px solid var(--border,#e2e8f0);flex-direction:column;gap:12px;padding:18px;display:flex}.bs-result-badge{color:#15803d;border-radius:var(--radius-pill,999px);background:#dcfce7;align-items:center;gap:6px;width:fit-content;padding:4px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.bs-result-content{background:var(--bg-main,#f1f5f9);border-radius:var(--radius-sm,8px);word-break:break-all;border:1px solid var(--border,#e2e8f0);padding:12px 14px}.bs-result-text{color:var(--text-main,#0f172a);font-family:monospace;font-size:.92rem;font-weight:700}.bs-result-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.bs-btn-primary{background:var(--primary,#2563eb);color:#fff;border-radius:var(--radius-sm,8px);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;min-width:140px;padding:10px 14px;font-size:.82rem;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-flex}.bs-btn-primary:hover{opacity:.9}.bs-btn-secondary{background:var(--bg-main,#f1f5f9);color:var(--text-main,#0f172a);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-sm,8px);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.bs-btn-outline{color:var(--text-secondary,#475569);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-sm,8px);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.bs-manual-bar{background:var(--bg-card,#fff);border-top:1px solid var(--border,#e2e8f0);align-items:center;gap:8px;padding:10px 16px 14px;display:flex}.bs-manual-input{border-radius:var(--radius-sm,8px);border:1px solid var(--border-input,#cbd5e1);background:var(--bg-input,#f8fafc);color:var(--text-main,#0f172a);outline:none;flex:1;padding:10px 14px;font-size:.88rem;font-weight:600;transition:border-color .2s}.bs-manual-input:focus{border-color:var(--primary,#2563eb);background:var(--bg-card,#fff)}.bs-manual-btn{background:var(--primary,#2563eb);color:#fff;border-radius:var(--radius-sm,8px);cursor:pointer;border:none;padding:10px 18px;font-size:.85rem;font-weight:700;transition:opacity .2s}.bs-manual-btn:disabled{opacity:.45;cursor:not-allowed}.uf-fab{background:linear-gradient(135deg, var(--accent-aquapp), var(--accent-estadisticas));width:64px;height:64px;color:var(--text-on-primary);border:2px solid var(--bg-card-glass);box-shadow:var(--shadow-lg);cursor:pointer;z-index:999;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:100px;right:32px}.uf-fab:hover{box-shadow:var(--shadow-xl);transform:scale(1.05)translateY(-2px)}.uf-fab:active{transform:scale(.95)}.uf-fab.open{opacity:0;transform:scale(0)}@media (width<=768px){.uf-fab{bottom:90px;right:24px}}.uf-overlay{background-color:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(16px);z-index:1000;justify-content:center;align-items:center;padding:24px;animation:.3s ease-out forwards fadeIn;display:flex;position:fixed;inset:0}.uf-modal{background:var(--bg-card);border:1px solid var(--bg-card-glass);border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-xl);animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards slideUp;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.uf-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:24px 32px 16px;display:flex}.uf-modal-header h2{color:var(--text-main);font-size:1.25rem;font-weight:800}.uf-btn-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:-8px;padding:8px;transition:all .2s;display:flex}.uf-btn-close:hover{background-color:var(--bg-main);color:var(--text-secondary)}.uf-modal-body{max-height:70vh;padding:32px;overflow-y:auto}.uf-step h3{color:var(--text-main);margin-bottom:4px;font-size:1.1rem;font-weight:800}.uf-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:.9rem}.uf-options-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.uf-option-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-light);cursor:pointer;box-shadow:var(--shadow-sm);align-items:flex-start;gap:20px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.uf-option-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-input);transform:translateY(-4px)}.uf-option-icon{width:56px;height:56px;box-shadow:var(--shadow-sm);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uf-option-info{flex:1}.uf-option-info h4{color:var(--text-main);margin-bottom:6px;font-size:1.1rem;font-weight:800}.uf-option-info span{color:var(--text-muted);font-size:.9rem}.uf-option-arrow{justify-content:center;align-items:center;height:100%;padding-top:16px;display:flex}.uf-form-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.uf-btn-back{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:6px 12px;font-weight:600}.uf-badge{color:var(--text-on-primary);border-radius:var(--radius-lg);align-items:center;gap:8px;padding:6px 16px;font-size:.85rem;font-weight:700;display:flex}.uf-placeholder-content{text-align:center;padding:24px 0}.uf-placeholder-content h4{color:var(--text-main);margin-bottom:8px;font-size:1.1rem}.uf-placeholder-content p{color:var(--text-muted);margin-bottom:24px;font-size:.9rem;line-height:1.5}.uf-demo-fields{text-align:left;flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.uf-fake-input{background-color:var(--bg-main);border:1px dashed var(--border-input);border-radius:var(--radius-sm);color:var(--text-faint);padding:16px;font-size:.9rem}.uf-fake-box{background-color:var(--bg-card-hover);border:2px dashed var(--text-faint);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;padding:32px 16px;font-weight:600}.uf-btn-save{width:100%;color:var(--text-on-primary);border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:1.1rem;font-weight:800;transition:transform .2s;display:flex}.uf-btn-save:active{transform:scale(.98)}.uf-form-content{flex-direction:column;gap:20px;display:flex}.uf-form-group{flex-direction:column;gap:8px;display:flex}.uf-form-group label{color:var(--text-muted);font-size:.85rem;font-weight:800}.uf-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.uf-input-icon{align-items:center;display:flex;position:relative}.uf-input-icon input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background:0 0;outline:none;padding:12px 16px;font-size:.95rem}.uf-input-icon.right input{padding-right:40px}.uf-input-icon.left-icon input{padding-left:40px}.uf-input-icon .icon-l{position:absolute;left:12px}.uf-input-icon .icon-r,.uf-input-icon.right svg{position:absolute;right:12px}.uf-paradas-lista{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.uf-parada-pill{background-color:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;display:flex}.uf-parada-pill .pill-x{color:var(--color-error);cursor:pointer}.uf-select-parada{border:1px dashed var(--border-input);border-radius:var(--radius-sm);background-color:var(--bg-card-hover);width:100%;color:var(--text-muted);appearance:none;cursor:pointer;outline:none;padding:12px 16px;font-weight:600}.uf-file-input{border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--bg-card-hover);align-items:center;gap:12px;padding:16px;font-size:.9rem;display:flex}.uf-file-input strong{color:var(--text-main);cursor:pointer}.uf-hint{color:var(--text-faint);margin-top:4px;font-size:.75rem;font-weight:600}.uf-input-basic{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background:0 0;outline:none;padding:12px 16px;font-size:.95rem}.uf-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);resize:vertical;background:0 0;outline:none;padding:12px 16px;font-family:inherit;font-size:.95rem}.uf-plagas-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.uf-plaga-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.uf-plaga-btn:hover{background-color:var(--bg-card-hover);border-color:var(--border-input)}.uf-plaga-btn.active{border-color:var(--color-error);background-color:var(--color-error-light);color:var(--color-danger-hover)}.uf-tabs-sub{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:24px;display:flex}.uf-tab-sub{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 8px;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.uf-tab-sub.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-light);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.uf-select-basic{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);appearance:none;background:var(--bg-card-hover);cursor:pointer;outline:none;padding:12px 16px;font-size:.95rem}.uf-section-title{color:var(--accent-aquapp);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;margin:24px 0 16px;padding-bottom:8px;font-size:.85rem;font-weight:800;display:flex}.uf-grid-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.uf-btn-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);cursor:pointer;padding:12px;font-weight:700;transition:all .2s}.uf-btn-toggle.active-purp{border-color:var(--accent-estadisticas);color:#7c3aed;background:#f5f3ff}.uf-btn-toggle.active-or{border-color:var(--accent-catalogo);color:#ea580c;background:#fff7ed}.uf-btn-toggle.active-blue{border-color:var(--primary);background:var(--primary-light);color:var(--primary-hover)}.uf-btn-toggle.active-green{border-color:var(--color-success);background:var(--color-success-light);color:#16a34a}.uf-btn-toggle.active-pink{color:#db2777;background:#fce7f3;border-color:#ec4899}.uf-btn-toggle.active-red{border-color:var(--color-error);background:var(--color-error-light);color:var(--color-danger-hover)}.uf-recordatorio-box{background:var(--color-warning-light);border:1px solid var(--color-warning-border);border-radius:var(--radius-sm);margin-top:16px;padding:16px}.uf-checkbox-label{color:#b45309;cursor:pointer;align-items:center;gap:8px;font-size:.85rem;font-weight:800;display:flex}@media (width<=768px){.uf-modal-body{padding:20px 16px;overflow-x:hidden}.uf-options-grid{grid-template-columns:1fr;gap:12px}.uf-option-card{gap:16px;padding:16px}.uf-plagas-grid{grid-template-columns:repeat(2,1fr)}.uf-grid-2{grid-template-columns:1fr}}.uf-input-basic::placeholder,.uf-textarea::placeholder,input::placeholder,textarea::placeholder{color:#0000}.uf-input-basic:focus::placeholder,.uf-textarea:focus::placeholder,input:focus::placeholder,textarea:focus::placeholder{color:var(--border-input)}.uf-puntos-sugeridos{background:var(--bg-card-hover,#00000005);border-radius:var(--radius-sm,8px);border:1px dashed var(--border-light,#e2e8f0);margin-top:8px;padding:8px 10px}.uf-puntos-header{color:var(--text-muted,#64748b);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:5px;margin-bottom:6px;font-size:.74rem;font-weight:700;display:flex}.uf-puntos-chips{flex-wrap:wrap;gap:6px;max-height:120px;display:flex;overflow-y:auto}.uf-punto-chip{background:var(--bg-card,#fff);color:var(--text-main,#1e293b);border:1px solid var(--border-input,#cbd5e1);cursor:pointer;text-align:left;border-radius:12px;max-width:100%;padding:5px 10px;font-size:.78rem;font-weight:500;line-height:1.2;transition:all .15s;box-shadow:0 1px 2px #00000008}.uf-punto-chip:hover{border-color:var(--accent-aquapp,#0284c7);color:var(--accent-aquapp,#0284c7);background:#0284c70f;transform:translateY(-1px)}.uf-punto-chip:active{transform:scale(.97)}.offline-floating-banner{z-index:99999;color:#fff;-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #ffffff26;border-radius:999px;width:92%;max-width:580px;padding:8px 16px;font-family:inherit;transition:all .3s cubic-bezier(.16,1,.3,1);position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0003}.offline-floating-banner.is-offline{background:linear-gradient(135deg,#451a03,#78350f);border-color:#f59e0b;box-shadow:0 10px 25px -5px #f59e0b4d}.offline-floating-banner.is-success{background:linear-gradient(135deg,#064e3b,#047857);border-color:#10b981;box-shadow:0 10px 25px -5px #10b9814d}.offline-banner-content{justify-content:space-between;align-items:center;gap:12px;display:flex}.offline-banner-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.offline-pulse-dot{background-color:#f59e0b;border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:1.8s infinite offline-pulse;display:inline-block;box-shadow:0 0 #f59e0bb3}@keyframes offline-pulse{0%{transform:scale(.95);box-shadow:0 0 #f59e0bb3}70%{transform:scale(1);box-shadow:0 0 0 8px #f59e0b00}to{transform:scale(.95);box-shadow:0 0 #f59e0b00}}.offline-icon{color:#f59e0b;flex-shrink:0}.offline-icon-upload{color:#38bdf8;flex-shrink:0}.offline-banner-texts{flex-direction:column;min-width:0;display:flex}.offline-banner-texts strong{white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:.85rem;font-weight:700;overflow:hidden}.offline-banner-texts span{color:#ffffffc7;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.offline-badge-count{color:#fff;background:#fff3;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.offline-sync-btn{color:#0f172a;cursor:pointer;white-space:nowrap;background:#38bdf8;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #38bdf859}.offline-sync-btn:hover{background:#7dd3fc;transform:scale(1.03)}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=640px){.offline-floating-banner{width:95%;padding:7px 12px;top:8px}.offline-banner-texts span{display:none}}.layout-container{background-color:var(--bg-main);height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-card);border-right:1px solid var(--border);transition:transform var(--transition-normal);z-index:50;flex-direction:column;display:flex}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;height:70px;padding:0 24px;display:flex}.logo-icon{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:var(--text-on-primary);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;font-weight:700;display:flex}.sidebar-header h2{color:var(--text-main);letter-spacing:-.025em;font-size:1.25rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:8px;padding:20px 12px;display:flex;overflow-y:auto}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-normal);align-items:center;gap:12px;padding:12px 16px;font-weight:500;display:flex}.nav-link:hover{background-color:var(--bg-main);color:var(--text-main)}.nav-link.active{background-color:var(--primary-light);color:var(--primary)}.desktop-sidebar{width:var(--sidebar-width);flex-shrink:0}.main-content{flex:1;position:relative;overflow:hidden auto}.content-wrapper{max-width:1200px;margin:0 auto;padding:24px}@media (width<=768px){.layout-container{flex-direction:column}.content-wrapper{padding:16px;padding-bottom:calc(var(--bottom-nav-height) + 16px)}.mobile-header{background-color:var(--bg-card);border-bottom:1px solid var(--border);z-index:40;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 16px;display:flex}.mobile-header .logo-container{align-items:center;gap:10px;display:flex}.mobile-header h1{font-size:1.1rem;font-weight:600}.menu-btn{color:var(--text-main);padding:4px}.mobile-sidebar{width:280px;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.mobile-sidebar.open{transform:translate(0)}.sidebar-overlay{background-color:var(--bg-modal-overlay);z-index:45;animation:.2s ease-out forwards fadeIn;position:fixed;inset:0}.bottom-nav{background-color:var(--bg-card-glass);border:1px solid var(--border);border-radius:var(--radius-pill);height:70px;box-shadow:var(--shadow-lg);z-index:40;-webkit-backdrop-filter:blur(12px);justify-content:space-around;align-items:center;padding:0 16px;display:flex;position:fixed;bottom:24px;left:24px;right:24px}.bottom-nav-link{color:var(--text-muted);transition:color var(--transition-normal);flex-direction:column;align-items:center;gap:4px;display:flex}.bottom-nav-link.active{color:var(--primary)}.bottom-nav-label{font-size:.65rem;font-weight:500}}.cat-container{max-width:1200px;margin:0 auto;padding:24px 16px 80px}.cat-header-block{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.cat-title-group{align-items:center;gap:16px;display:flex}.cat-icon-badge{border-radius:var(--radius-md);background:linear-gradient(135deg,#f59e0b,#d97706);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 4px 14px #f59e0b59}.cat-title-group h1{color:var(--text-main);letter-spacing:-.02em;margin:0 0 4px;font-size:1.65rem;font-weight:900}.cat-title-group p{color:var(--text-muted);margin:0;font-size:.92rem;font-weight:500}.cat-search-box{background:var(--bg-card);border:1.5px solid var(--border-input);border-radius:var(--radius-md);min-width:320px;box-shadow:var(--shadow-sm);align-items:center;padding:0 14px;transition:all .2s;display:flex;position:relative}.cat-search-box:focus-within{background:var(--bg-card);border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.cat-search-box input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;padding:12px 10px;font-size:.92rem;font-weight:600}.cat-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.cat-pills-row{flex-wrap:wrap;gap:10px;margin-bottom:20px;padding-bottom:4px;display:flex}.cat-pill{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex}.cat-pill:hover{background:var(--bg-card-hover);color:var(--text-main);border-color:var(--border-input);transform:translateY(-1px)}.cat-pill.active{color:#fff;border-color:#0000;box-shadow:0 4px 12px #00000026}.cat-pill.active.cat-todos{background:linear-gradient(135deg,#4f46e5,#6366f1)}.cat-pill.active.cat-insecticidas{background:linear-gradient(135deg,#059669,#10b981)}.cat-pill.active.cat-rodenticidas{background:linear-gradient(135deg,#d97706,#f59e0b)}.cat-pill.active.cat-biocidas{background:linear-gradient(135deg,#0284c7,#0ea5e9)}.cat-pill.active.cat-caducar{background:linear-gradient(135deg,#dc2626,#ef4444)}.cat-pill-badge{color:inherit;background:#00000014;border-radius:999px;padding:2px 7px;font-size:.75rem;font-weight:800}.cat-pill.active .cat-pill-badge{color:#fff;background:#ffffff40}.cat-pill-badge.badge-alert{color:#fff;background:#ef4444;animation:2s ease-in-out infinite pulse-slow}.cat-toolbar-metrics{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.cat-metrics-count{color:var(--text-muted);font-size:.88rem;font-weight:600}.cat-metrics-count strong{color:var(--text-main);font-weight:800}.cat-warning-chip{color:#b91c1c;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:6px;padding:4px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.cat-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.cat-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);flex-direction:column;justify-content:space-between;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000a}.cat-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.cat-card-top{padding:14px 16px}.cat-top-layout{align-items:center;gap:14px;display:flex}.cat-thumb-box{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1.5px solid #00000014;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .2s;display:flex;overflow:hidden;box-shadow:0 2px 6px #0000000f}.cat-thumb-box:hover{transform:scale(1.04)}.cat-thumb-img{object-fit:contain;width:100%;height:100%;padding:4px}.cat-thumb-placeholder{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.6rem;font-weight:900;display:flex}.cat-top-info{flex:1;min-width:0}.cat-badges-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.cat-badge-cat{border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;font-size:.7rem;font-weight:800}.cat-badge-tag{color:var(--text-secondary);border-radius:var(--radius-xs);background:#0000000f;padding:2px 6px;font-size:.68rem;font-weight:800}.cat-badge-expiring{color:#b91c1c;border-radius:var(--radius-xs);background:#fee2e2;border:1px solid #fca5a5;align-items:center;gap:3px;padding:2px 6px;font-size:.68rem;font-weight:800;display:inline-flex}.cat-prod-title{color:var(--text-main);cursor:pointer;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.05rem;font-weight:800;line-height:1.3;display:-webkit-box;overflow:hidden}.cat-prod-title:hover{color:#0284c7}.cat-card-body{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.cat-field-row{align-items:flex-start;gap:10px;display:flex}.cat-field-icon{border-radius:var(--radius-xs);background:var(--bg-card-hover);border:1px solid var(--border-light);flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;display:flex}.cat-field-content{flex-direction:column;gap:1px;min-width:0;display:flex}.cat-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:.72rem;font-weight:700}.cat-field-val{color:var(--text-main);word-break:break-word;font-size:.88rem;font-weight:800}.cat-field-text{color:var(--text-secondary);font-size:.84rem;font-weight:600}.cat-meta-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cat-meta-pill{background:var(--bg-card-hover);border:1px solid var(--border-light);border-radius:var(--radius-xs);flex-direction:column;padding:6px 10px;display:flex}.meta-k{color:var(--text-muted);text-transform:uppercase;font-size:.68rem;font-weight:700}.meta-v{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:800;overflow:hidden}.cat-safety-row{border-top:1px dashed var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;display:flex}.cat-caducidad-chip{color:var(--text-secondary);background:var(--bg-card-hover);border-radius:var(--radius-xs);border:1px solid var(--border-light);align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;display:inline-flex}.cat-caducidad-chip.alert{color:#b91c1c;background:#fee2e2;border-color:#fecaca;font-weight:800}.cat-plazo-chip{border-radius:var(--radius-xs);align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.cat-plazo-chip.safe{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.cat-plazo-chip.warning{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.cat-card-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;display:flex}.cat-btn-sds{color:#0369a1;border-radius:var(--radius-xs);background:#e0f2fe;align-items:center;gap:5px;padding:6px 12px;font-size:.78rem;font-weight:800;text-decoration:none;transition:background .2s;display:inline-flex}.cat-btn-sds:hover{background:#bae6fd}.cat-btn-sds-old{color:#b91c1c;border-radius:var(--radius-xs);cursor:pointer;background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:5px;padding:5px 10px;font-size:.76rem;font-weight:800;transition:all .2s;display:inline-flex}.cat-btn-sds-old:hover{background:#fee2e2;border-color:#f87171}.cat-btn-sds-old.large{border-radius:var(--radius-sm);padding:10px 18px;font-size:.88rem}.cat-btn-sds-empty{background:var(--bg-card-hover);color:var(--text-secondary);border:1px dashed var(--border-input);border-radius:var(--radius-xs);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;font-size:.76rem;font-weight:700;transition:all .2s;display:inline-flex}.cat-btn-sds-empty:hover{background:var(--bg-card);color:var(--text-main);border-color:var(--primary)}.cat-btn-sds-empty.large{border-radius:var(--radius-sm);padding:10px 18px;font-size:.88rem}.cat-no-sds{color:var(--text-faint);font-size:.75rem;font-style:italic}.cat-card-actions{align-items:center;gap:6px;display:flex}.cat-action-icon{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg-card);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.cat-action-icon:hover{border-color:var(--border-input);background:var(--bg-card-hover);color:var(--text-main);transform:translateY(-1px)}.cat-action-icon.view:hover{color:#0284c7;border-color:#bae6fd}.cat-action-icon.edit:hover{color:#10b981;border-color:#a7f3d0}.cat-action-icon.delete:hover{color:#ef4444;background:#fef2f2;border-color:#fecaca}.cat-modal-overlay{background:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cat-modal-content{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:580px;max-height:90vh;display:flex;overflow-y:auto}.cat-modal-header{border-bottom:1px solid var(--border-light);padding:20px 24px}.cat-modal-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.cat-modal-title-row h2{color:var(--text-main);margin:0;font-size:1.35rem;font-weight:900}.cat-btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px}.cat-btn-close:hover{color:var(--text-main)}.cat-modal-badges{flex-wrap:wrap;gap:8px;display:flex}.cat-badge-cat-modal{border-radius:var(--radius-xs);color:#4338ca;background:#ede9fe;padding:3px 10px;font-size:.74rem;font-weight:800}.cat-modal-reg,.cat-modal-lote{border-radius:var(--radius-xs);background:var(--bg-card-hover);color:var(--text-secondary);border:1px solid var(--border-light);padding:3px 10px;font-size:.74rem;font-weight:700}.cat-modal-body{flex-direction:column;gap:18px;padding:24px;display:flex}.cat-modal-img-wrap{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;justify-content:center;align-items:center;width:100%;height:200px;padding:12px;display:flex;overflow:hidden}.cat-modal-img{object-fit:contain;max-width:100%;max-height:100%}.cat-modal-grid{background:var(--bg-card-hover);border-radius:var(--radius-md);border:1px solid var(--border-light);grid-template-columns:1fr 1fr;gap:14px;padding:16px;display:grid}.cat-modal-field{flex-direction:column;gap:3px;display:flex}.cat-modal-field .lbl{color:var(--text-muted);letter-spacing:.4px;font-size:.7rem;font-weight:800}.cat-modal-field .val{color:var(--text-main);font-size:.92rem;font-weight:800}.cat-modal-plazo{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;display:flex}.cat-modal-plazo.ok{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.cat-modal-plazo.warn{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.cat-modal-footer{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:14px;display:flex}.cat-btn-sds.large{border-radius:var(--radius-sm);padding:10px 18px;font-size:.88rem}.cat-modal-actions-right{gap:10px;display:flex}.cat-btn-edit-modal,.cat-btn-del-modal{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:800;transition:all .2s;display:inline-flex}.cat-btn-edit-modal{background:var(--bg-card-hover);color:#10b981;border-color:#a7f3d0}.cat-btn-edit-modal:hover{background:#ecfdf5}.cat-btn-del-modal{color:#ef4444;background:#fef2f2;border-color:#fecaca}.cat-btn-del-modal:hover{background:#fee2e2}.cat-edit-form{flex-direction:column;gap:14px;padding:24px;display:flex}.cat-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.cat-form-group{flex-direction:column;gap:6px;display:flex}.cat-form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.8rem;font-weight:800}.cat-form-group input{border-radius:var(--radius-sm);border:1.5px solid var(--border-input);background:var(--bg-input);color:var(--text-main);outline:none;padding:10px 14px;font-size:.92rem}.cat-form-group input:focus{background:var(--bg-card);border-color:#f59e0b}.cat-file-input{background:var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);border:1.5px dashed var(--border-input)!important;padding:8px 12px!important;font-size:.82rem!important}.cat-file-preview-row{background:var(--bg-card-hover);border-radius:var(--radius-xs);border:1px solid var(--border-light);align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;display:flex}.cat-file-preview-text{color:var(--text-secondary);font-weight:700}.cat-file-selected-pill{color:#065f46;border-radius:var(--radius-xs);background:#ecfdf5;border:1px solid #a7f3d0;margin-top:4px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-block}.cat-current-thumb-preview{background:var(--bg-card-hover);border-radius:var(--radius-sm);border:1px solid var(--border-light);align-items:center;gap:12px;padding:8px;display:flex}.cat-current-thumb-preview img{object-fit:contain;border-radius:var(--radius-xs);border:1px solid var(--border);background:#fff;width:48px;height:48px}.cat-current-thumb-preview span{color:var(--text-muted);font-size:.82rem;font-weight:600}.cat-checkbox-row{align-items:center;gap:8px;margin-top:4px;display:flex}.cat-checkbox-row label{color:var(--text-main);cursor:pointer;font-size:.85rem;font-weight:600}.cat-form-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:12px;margin-top:14px;padding-top:14px;display:flex}.cat-btn-cancel{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;padding:10px 18px;font-weight:700}.cat-btn-submit{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;padding:10px 22px;font-weight:800;box-shadow:0 2px 8px #f59e0b4d}.cat-empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.cat-empty-state h3{color:var(--text-main);margin:14px 0 6px;font-size:1.25rem}.cat-empty-state p{max-width:500px;margin:0 auto;font-size:.92rem}@media (width<=768px){.cat-header-block{flex-direction:column;align-items:stretch}.cat-search-box{width:100%;min-width:0}.cat-cards-grid{grid-template-columns:1fr;gap:16px}.cat-form-row,.cat-modal-grid{grid-template-columns:1fr}}@media (width<=600px){.cat-pills-row{flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto}.cat-pill{flex-shrink:0;padding:8px 14px;font-size:.85rem}.cat-thumb-box{width:64px;height:64px}}.aquapp-container{max-width:800px;margin:0 auto;padding-bottom:24px}.aquapp-header{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:24px;overflow:hidden}.aquapp-title-bar{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.aquapp-logo{align-items:center;gap:12px;display:flex}.aquapp-logo h1{color:var(--accent-aquapp);margin:0;font-size:1.5rem;font-weight:700}.version-badge{background-color:var(--color-success);color:var(--bg-card);border-radius:var(--radius-sm);padding:2px 8px;font-size:.75rem;font-weight:700}.aquapp-actions{color:var(--text-muted);align-items:center;gap:16px;display:flex}.icon-btn{color:inherit;justify-content:center;align-items:center;display:flex;position:relative}.notification-badge{background-color:var(--color-error);color:var(--bg-card);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.offline-banner{background-color:var(--color-warning);color:var(--bg-card);text-align:center;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:.85rem;font-weight:600;display:flex}.aquapp-tabs{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);border:1px solid var(--border);gap:8px;margin-bottom:24px;padding:8px;display:flex;overflow-x:auto}.tab-btn{color:var(--text-muted);border-radius:var(--radius-pill);white-space:nowrap;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.tab-btn:hover{color:var(--accent-aquapp);background:#0ea5e90d}.tab-btn.active{background:var(--accent-aquapp);color:var(--bg-card);box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.tab-btn span{font-size:.9rem;font-weight:600}.stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.stat-card{background-color:var(--bg-card);border-radius:var(--radius-sm);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex}.stat-card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.75rem}.stat-card .stat-value{color:var(--text-main);font-size:1.8rem;font-weight:700;line-height:1}.stat-card .stat-sub{color:var(--text-muted);align-items:center;gap:4px;margin-top:8px;font-size:.75rem;display:flex}.big-btn{border-radius:var(--radius-sm);width:100%;color:var(--bg-card);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:12px;margin-bottom:12px;padding:16px;font-size:1.1rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex}.big-btn:active{transform:scale(.98)}.btn-red{background-color:var(--color-error)}.btn-orange{background-color:var(--color-warning)}.actions-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.action-btn{border-radius:var(--radius-sm);color:var(--bg-card);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 12px;font-size:.9rem;font-weight:600;transition:transform .2s;display:flex}.action-btn:active{transform:scale(.98)}.view-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.view-header h2{font-size:1.2rem;font-weight:700}.search-box{background-color:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.search-box input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;font-size:1rem}.client-list{flex-direction:column;gap:12px;display:flex}.client-card{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;align-items:center;gap:16px;padding:16px;transition:box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1);display:flex}.client-card:hover{box-shadow:var(--shadow-md);border-color:#0ea5e94d;transform:translateY(-4px)}.client-avatar{border-radius:var(--radius-sm);width:48px;height:48px;color:var(--bg-card);flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.client-info{flex:1}.client-info h3{color:var(--text-main);align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.client-info p{color:var(--text-muted);margin-top:4px;font-size:.85rem}.client-detail-header{background-color:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.accordion-item{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:16px;transition:box-shadow .3s,border-color .3s,transform .3s;overflow:hidden}.accordion-item:hover{box-shadow:var(--shadow-md)}.accordion-header{cursor:pointer;align-items:center;gap:12px;padding:16px;display:flex}.accordion-header h3{flex:1;font-size:1rem;font-weight:600}.accordion-content{border-top:1px solid var(--border);padding:0 16px 16px}.sample-card{background-color:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:16px;padding:16px}.sample-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sample-title-badge{align-items:center;gap:8px;display:flex}.sample-title-badge h4{color:var(--accent-aquapp);font-size:1rem;font-weight:700}.badge-tipo{background-color:var(--color-warning);color:var(--text-faint);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:700;display:flex}.sample-id{color:#0284c7;border-radius:var(--radius-sm);background-color:#e0f2fe;padding:2px 8px;font-size:.75rem;font-weight:700}.sample-meta{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:12px;font-size:.8rem;display:flex}.sample-location{color:var(--text-main);margin-bottom:16px;font-size:.95rem;font-weight:700}.parameters-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.param-box{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:8px 4px;display:flex}.param-box.ph{border-color:var(--color-warning)}.param-box.ph svg{color:var(--color-warning)}.param-box.temp{background-color:#fef2f2;border-color:#fecaca}.param-box.temp svg{color:#ef4444}.param-box.cloro{border-color:#bae6fd}.param-box.cloro svg{color:#0ea5e9}.param-box.hierro{border-color:#e2e8f0}.param-box.hierro svg{color:#64748b}.param-name{color:var(--text-muted);margin-top:4px;font-size:.65rem;font-weight:700}.param-value{color:var(--text-main);font-size:.9rem;font-weight:700}.sample-actions{gap:12px;display:flex}.action-btn-outline{border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.9rem;font-weight:600;display:flex}.action-btn-outline.edit{color:var(--text-faint);border:1px solid var(--border);background-color:#eff6ff}.action-btn-outline.delete{color:var(--color-error);background-color:#fef2f2;border:1px solid #fecaca}.space-between{justify-content:space-between}.btn-pdf{color:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;background-color:#3b82f6;border:none;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:flex}.torres-filters{gap:12px;margin-bottom:20px;display:flex}.filter-btn{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:8px 16px;font-weight:600;display:flex}.filter-btn.active{background-color:var(--accent-aquapp);color:var(--bg-card)}.filter-btn.outline{background-color:var(--bg-card);border:1px solid var(--text-faint);color:var(--text-muted)}.circle-empty{border:2px solid #94a3b8;border-radius:50%;width:16px;height:16px}.year-selector{background-color:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-main);align-items:center;gap:8px;margin-bottom:20px;padding:12px 16px;font-weight:600;display:flex}.year-badge{background-color:var(--bg-main);border-radius:var(--radius-sm);margin-left:auto;padding:4px 12px;font-weight:700}.table-responsive{background:var(--bg-card);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-md);overflow-x:auto}.torres-table,.tratamientos-table{border-collapse:collapse;text-align:center;width:100%}.torres-table th,.tratamientos-table th{background-color:var(--bg-main);color:var(--text-secondary);border-bottom:2px solid var(--border);border-right:1px solid var(--border);padding:14px 12px;font-size:.85rem;font-weight:800}.torres-table td,.tratamientos-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--accent-aquapp);padding:14px 12px;font-size:.9rem;font-weight:700}.torres-table td:first-child,.tratamientos-table td:first-child{text-align:left;background-color:var(--bg-card-hover);color:var(--text-main);border-right:2px solid var(--border);font-weight:800}.text-blue{color:var(--accent-aquapp);font-weight:600}.garrafa-badge{color:#b91c1c;border-radius:var(--radius-xs);background-color:#fee2e2;padding:4px 8px;font-size:.8rem;font-weight:600}.nota-box{color:#a16207;border-radius:var(--radius-xs);text-align:left;background-color:#fef08a;padding:6px;font-size:.8rem;font-weight:600}.leyenda-box{background-color:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:16px}.leyenda-box h3{margin-bottom:12px;font-size:.9rem}.leyenda-grid{color:var(--text-secondary);grid-template-columns:repeat(3,1fr);gap:12px;font-size:.8rem;font-weight:600;display:grid}.leyenda-grid span{align-items:center;gap:6px;display:flex}.ley-color{border-radius:2px;width:12px;height:12px;display:inline-block}.tratamientos-table td{height:40px;padding:0}.tratamientos-table td>.ley-color{border-radius:0;width:100%;height:100%}.chart-card-aq{background-color:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:20px}.chart-card-aq h3{text-align:center;margin-bottom:20px;font-size:1rem}.bar-chart-container{border-bottom:1px solid var(--border);align-items:flex-end;height:200px;padding-bottom:20px;display:flex}.bar-chart-aq{justify-content:space-around;align-items:flex-end;width:100%;height:100%;display:flex}.bar-col-aq{flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;width:30px;height:100%;display:flex}.bar-fill-aq{background-color:#3b82f6;border-radius:4px 4px 0 0;width:100%}.bar-col-aq span{color:var(--text-muted);font-size:.75rem}.leyenda-inline{justify-content:center;gap:16px;margin-bottom:20px;font-size:.8rem;font-weight:600;display:flex}.leyenda-inline span{align-items:center;gap:6px;display:flex}.horizontal-chart-container{flex-direction:column;gap:12px;display:flex}.h-bar-row-aq{align-items:center;height:24px;display:flex}.h-bar-row-aq span{width:40px;color:var(--text-muted);font-size:.8rem}.h-bar-fill-aq{height:100%}.tratamiento-records-list{flex-direction:column;gap:16px;display:flex}.tratamiento-record-card{background-color:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:20px;transition:transform .15s,box-shadow .15s}.tratamiento-record-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.trat-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.trat-card-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.trat-card-title h4{color:var(--text-main);margin:0;font-size:1rem;font-weight:700}.trat-tipo-badge{border-radius:var(--radius-sm);padding:3px 10px;font-size:.75rem;font-weight:700}.trat-id-badge{background-color:var(--bg-main);color:var(--text-muted);border-radius:var(--radius-sm);white-space:nowrap;padding:3px 10px;font-size:.75rem;font-weight:700}.trat-card-meta{color:var(--text-muted);gap:16px;margin-bottom:12px;font-size:.85rem;display:flex}.trat-card-meta span{align-items:center;gap:6px;display:flex}.trat-card-details{background-color:var(--bg-card-hover);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px}.trat-detail-row{gap:8px;padding:4px 0;font-size:.9rem;display:flex}.trat-detail-label{color:var(--text-secondary);min-width:75px;font-weight:700}.trat-card-notas{border-radius:var(--radius-sm);color:var(--color-success);background-color:#fefce8;border:1px solid #fde68a;padding:10px 12px;font-size:.85rem;font-weight:600}.trat-motivo-badge{border-radius:var(--radius-sm);border:1px solid;padding:3px 10px;font-size:.75rem;font-weight:700}.torres-new-top-bar{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.btn-export-pdf{color:#fff;cursor:pointer;background:#1e9be9;border:none;border-radius:10px;align-items:center;gap:8px;padding:9px 18px;font-size:.85rem;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #1e9be940}.btn-export-pdf:hover{filter:brightness(1.08);transform:translateY(-1px)}.torres-client-bar{gap:10px;margin-bottom:16px;padding-bottom:6px;display:flex;overflow-x:auto}.torres-client-pill{border:2px solid var(--border);background:var(--bg-card);min-width:140px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.88rem;font-weight:700;transition:all .2s;display:flex}.torres-client-pill:hover{color:#1e9be9;border-color:#1e9be9}.torres-client-pill.active{color:#fff;background:#1e9be9;border-color:#1e9be9;box-shadow:0 4px 12px #1e9be94d}.circle-empty-sm{border:2px solid #94a3b8;border-radius:50%;width:14px;height:14px}.torres-client-pill.active .circle-empty-sm{border-color:#fff}.torres-year-bar{gap:8px;margin-bottom:18px;display:flex}.torres-year-pill{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:8px 20px;font-size:.88rem;font-weight:700;transition:all .2s}.torres-year-pill:hover{color:#1e9be9;border-color:#1e9be9}.torres-year-pill.active{color:#fff;background:#0f172a;border-color:#0f172a;box-shadow:0 4px 10px #0f172a33}.torres-month-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;gap:6px;margin-bottom:18px;padding:10px 14px;display:flex;overflow-x:auto;box-shadow:0 2px 8px #0f28500a}.torres-month-pill{min-width:48px;color:var(--text-muted);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:10px;flex:1;padding:8px 4px;font-size:.78rem;font-weight:700;transition:all .2s;position:relative}.torres-month-pill:hover{color:#1e9be9;background:#1e9be914}.torres-month-pill.active{color:#fff;background:#1e9be9;box-shadow:0 3px 10px #1e9be94d}.torres-month-pill.has-cleaning{color:#e11d48;background:#f43f5e0f;border:1.5px solid #f43f5e}.torres-month-pill.has-cleaning:hover{background:#f43f5e1f;border-color:#e11d48}.torres-month-pill.active.has-cleaning{color:#fff;background:#1e9be9;border-color:#1e9be9;box-shadow:0 4px 12px #1e9be94d}.torres-month-cleaning-icon{filter:drop-shadow(0 2px 4px #00000026);z-index:2;font-size:.85rem;line-height:1;position:absolute;top:-8px;right:-4px}.torres-month-cleaning-dot{background:#f43f5e;border-radius:50%;width:6px;height:6px;margin:4px auto 0;display:block}.torres-month-pill.active .torres-month-cleaning-dot{background:#fff}.torres-month-pill.has-data:not(.has-cleaning):not(.active):after{content:"";background:#1e9be9;border-radius:50%;width:5px;height:5px;margin:4px auto 0;display:block}.torres-month-dot{display:none}.torres-month-pill.active.has-data:not(.has-cleaning):after{background:#ffffffb3}.torres-cleaning-tracker-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;padding:14px 18px;box-shadow:0 2px 8px #0f28500a}.torres-tracker-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.torres-tracker-left{align-items:center;gap:12px;display:flex}.torres-tracker-icon{background:#ffe4e6;border:1px solid #fecdd3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.3rem;display:flex}.torres-tracker-title{color:var(--text-main);font-size:.92rem;font-weight:800;display:block}.torres-tracker-count{color:var(--text-muted);font-size:.8rem}.torres-tracker-status-badge{border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:800}.torres-tracker-status-badge.complete{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.torres-tracker-status-badge.progress{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.torres-tracker-status-badge.pending{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.torres-tracker-status-badge.correctiva{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.torres-tracker-correctivas-note{color:#b45309;font-size:.78rem;font-weight:600}.torres-tracker-pills-row{flex-wrap:wrap;gap:10px;display:flex}.torres-tracker-cleaning-pill{cursor:pointer;text-align:left;background:#fed7aa2e;border:1.5px solid #fed7aa;border-radius:12px;flex:1;align-items:center;gap:8px;min-width:220px;padding:9px 14px;transition:all .2s;display:flex}.torres-tracker-cleaning-pill:hover{background:#fed7aa61;border-color:#f97316;transform:translateY(-1px)}.torres-tracker-cleaning-pill.active{background:#1e9be91f;border-color:#1e9be9;box-shadow:0 0 0 2px #1e9be940}.torres-tracker-cleaning-pill.pending{border:1.5px dashed var(--border);background:var(--bg-card-hover);cursor:default;opacity:.7}.torres-tracker-cleaning-pill.correctiva{background:#fef08a38;border:1.5px solid #fed7aa}.torres-tracker-cleaning-pill.correctiva:hover{background:#fef08a6b;border-color:#f59e0b;transform:translateY(-1px)}.torres-tracker-cleaning-pill.correctiva .tracker-pill-num{color:#b45309}.torres-tracker-cleaning-pill.correctiva .tracker-pill-badge{color:#92400e;background:#fef3c7}.tracker-pill-num{color:var(--text-muted);flex-shrink:0;font-size:.78rem;font-weight:800}.tracker-pill-badge{color:#c2410c;background:#ffedd5;border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:.82rem;font-weight:800}.tracker-pill-detail{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.tracker-pill-pending-tag{color:var(--text-muted);background:var(--bg-main);border-radius:6px;padding:3px 10px;font-size:.8rem;font-weight:700}.torres-cleaning-header-badge{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.torres-cleaning-header-badge.correctiva{color:#b45309;background:#fef3c7;border-color:#fde68a}.torres-limpieza-badge.correctiva{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.torres-empty-state{background:var(--bg-card);border:2px dashed var(--border);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.torres-empty-title{color:var(--text-main);margin:16px 0 4px;font-size:1.05rem;font-weight:800}.torres-empty-subtitle{color:var(--text-muted);margin:0 0 20px;font-size:.85rem}.torres-add-btn{color:#fff;cursor:pointer;background:#1e9be9;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #1e9be94d}.torres-add-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.torres-header-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:18px 22px;display:flex;box-shadow:0 2px 8px #0f28500a}.torres-header-info{flex-direction:column;gap:4px;display:flex}.torres-header-top-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.torres-header-label{color:var(--text-muted);align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.torres-envase-badge{color:#1e9be9;background:#1e9be91a;border-radius:8px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-block}.torres-header-date{color:var(--text-main);letter-spacing:-.02em;font-size:1.5rem;font-weight:900}.torres-header-actions{gap:8px;display:flex}.torres-action-btn{border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.torres-action-btn.edit{color:#1e9be9;background:#1e9be914}.torres-action-btn.edit:hover{color:#fff;background:#1e9be9;border-color:#1e9be9}.torres-action-btn.delete{color:#ef4444;background:#ef444414}.torres-action-btn.delete:hover{color:#fff;background:#ef4444;border-color:#ef4444}.torres-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:16px;display:grid}.torres-kpi-item{background:var(--bg-card);border:1.5px solid var(--border);cursor:pointer;border-radius:14px;padding:14px 16px;transition:all .2s;position:relative}.torres-kpi-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0f285014}.torres-kpi-item.selected{transform:translateY(-2px);box-shadow:0 4px 16px #0f28501a}.torres-kpi-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.torres-kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.torres-kpi-month{color:var(--text-faint);font-size:.7rem;font-weight:700}.torres-kpi-value{letter-spacing:-.02em;font-size:1.6rem;font-weight:900;line-height:1.1}.torres-kpi-unit{color:var(--text-faint);margin-top:2px;font-size:.72rem;font-weight:600;display:block}.torres-info-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.torres-info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:0 2px 6px #0f285008}.torres-info-card-title{color:var(--text-main);align-items:center;gap:8px;margin:0 0 12px;font-size:.88rem;font-weight:800;display:flex}.torres-info-empty{color:var(--text-faint);margin:0;font-size:.82rem;font-style:italic}.torres-garrafas-list{flex-wrap:wrap;gap:8px;display:flex}.torres-garrafa-tag{color:#be185d;background:#fce7f3;border:1px solid #fbcfe8;border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.torres-notes-content{flex-direction:column;gap:8px;display:flex}.torres-limpieza-badge{color:#7c3aed;background:#8b5cf61a;border-radius:999px;align-items:center;gap:4px;width:fit-content;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.torres-nota-text{color:var(--text-secondary);margin:0;font-size:.84rem;line-height:1.5}.torres-chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px 22px;box-shadow:0 2px 8px #0f28500a}.torres-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.torres-chart-title{color:var(--text-main);margin:0;font-size:1rem;font-weight:800}.torres-param-chips{flex-wrap:wrap;gap:6px;display:flex}.torres-param-chip{border:1.5px solid var(--border);background:var(--bg-card-hover);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:700;transition:all .2s}.torres-param-chip:hover{transform:translateY(-1px)}.torres-param-chip.active{border-color:#0000}.torres-loading-spinner{border:3px solid var(--border);border-top-color:#1e9be9;border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.8s linear infinite torres-spin}@keyframes torres-spin{to{transform:rotate(360deg)}}@media (width<=768px){.torres-kpi-grid{grid-template-columns:repeat(3,1fr);gap:8px}.torres-kpi-value{font-size:1.3rem}.torres-info-row{grid-template-columns:1fr}.torres-header-date{font-size:1.2rem}.torres-chart-header{flex-direction:column;align-items:flex-start}.torres-param-chips{flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow-x:auto}.torres-param-chip{white-space:nowrap}.torres-client-bar{gap:8px}.torres-client-pill{min-width:120px;padding:8px 12px;font-size:.82rem}}@media (width<=480px){.torres-kpi-grid{grid-template-columns:repeat(2,1fr)}.torres-month-bar{gap:4px;padding:8px 10px}.torres-month-pill{min-width:36px;padding:6px 2px;font-size:.72rem}}.unified-cards-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;width:100%;margin-top:12px;display:grid}.unified-card{background:var(--bg-card);border:1px solid var(--border);box-sizing:border-box;border-radius:18px;flex-direction:column;justify-content:space-between;width:100%;min-width:0;max-width:100%;margin-bottom:0;padding:16px 18px;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 14px #0f172a0a}.unified-card:hover{border-color:#1e9be94d;box-shadow:0 8px 24px #0f172a14}.unified-card-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:6px;display:flex}.unified-card-top-left{color:var(--text-muted);align-items:center;gap:8px;min-width:0;font-size:.9rem;font-weight:700;display:flex}.unified-card-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.unified-card-top-right{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;display:flex}.badge-tipo-pill{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.badge-tipo-estandar{color:#854d0e;background:#fef08a;border:1px solid #fde047}.badge-tipo-torre{color:#c2410c;background:#ffedd5;border:1px solid #fed7aa}.badge-tipo-piscina{color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd}.badge-tipo-jacuzzi{color:#7c3aed;background:#ede9fe;border:1px solid #ddd6fe}.badge-envase-pill{color:#0369a1;letter-spacing:.02em;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:800}.unified-card-title{color:var(--text-main);letter-spacing:-.01em;word-break:break-word;min-width:0;margin:4px 0 6px;font-size:1.3rem;font-weight:900;line-height:1.25}.unified-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;font-size:.82rem;font-weight:600;display:flex}.unified-card-meta-item{align-items:center;gap:4px;display:inline-flex}.sample-capsules-grid{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-bottom:8px;display:grid}.sample-capsule{box-sizing:border-box;border:1.5px solid;border-radius:999px;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:5px 12px 5px 6px;transition:all .2s;display:flex}.capsule-left{align-items:center;gap:6px;min-width:0;display:flex}.capsule-icon-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.capsule-label{color:var(--text-main);letter-spacing:.03em;white-space:nowrap;font-size:.76rem;font-weight:900}.capsule-value{color:var(--text-main);letter-spacing:-.02em;white-space:nowrap;font-size:1.15rem;font-weight:900}.sample-capsule.ph{background:#f59e0b0a;border-color:#f59e0b}.sample-capsule.ph .capsule-icon-circle{color:#d97706;background:#fef3c7;border:1.5px solid #fde68a}.sample-capsule.temp{background:#f43f5e0a;border-color:#f43f5e}.sample-capsule.temp .capsule-icon-circle{color:#e11d48;background:#ffe4e6;border:1.5px solid #fecdd3}.sample-capsule.cloro{background:#0ea5e90a;border-color:#0ea5e9}.sample-capsule.cloro .capsule-icon-circle{color:#0284c7;background:#e0f2fe;border:1.5px solid #bae6fd}.sample-capsule.hierro{background:#64748b0a;border-color:#64748b}.sample-capsule.hierro .capsule-icon-circle{color:#475569;background:#f1f5f9;border:1.5px solid #e2e8f0}.sample-capsule.cond{background:#8b5cf60a;border-color:#8b5cf6}.sample-capsule.cond .capsule-icon-circle{color:#7c3aed;background:#ede9fe;border:1.5px solid #ddd6fe}.sample-capsule.turb{background:#06b6d40a;border-color:#06b6d4}.sample-capsule.turb .capsule-icon-circle{color:#0891b2;background:#cffafe;border:1.5px solid #a5f3fc}.sample-capsule.f8583{background:#10b9810a;border-color:#10b981}.sample-capsule.f8583 .capsule-icon-circle{color:#059669;background:#d1fae5;border:1.5px solid #a7f3d0}.sample-capsule.f8580{background:#f43f5e0a;border-color:#f43f5e}.sample-capsule.f8580 .capsule-icon-circle{color:#e11d48;background:#ffe4e6;border:1.5px solid #fecdd3}.trat-badges-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.trat-badge-tipo,.trat-badge-motivo{border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:.8rem;font-weight:800;display:inline-flex}.trat-badge-motivo.prevencion{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.trat-badge-motivo.recuento-alto{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.unified-card-notes{color:var(--text-secondary);background:var(--bg-card-hover);border:1px solid var(--border-light);word-break:break-word;border-radius:10px;margin:6px 0 10px;padding:8px 12px;font-size:.86rem;line-height:1.45}.unified-card-notes strong{color:var(--text-main)}.unified-card-footer{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.card-action-icon-btn{border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:inline-flex}.card-action-icon-btn.edit{color:#1e9be9;background:#1e9be914}.card-action-icon-btn.edit:hover{color:#fff;background:#1e9be9;border-color:#1e9be9;transform:scale(1.08)}.card-action-icon-btn.delete{color:#ef4444;background:#ef444414}.card-action-icon-btn.delete:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:scale(1.08)}@media (width<=768px){.unified-cards-grid{gap:10px;margin-top:8px;grid-template-columns:1fr!important}.unified-card{border-radius:16px;padding:12px 14px;box-shadow:0 2px 8px #0f172a0a}.unified-card-title{margin:3px 0 5px;font-size:1.15rem}.unified-card-meta{gap:8px;margin-bottom:8px;font-size:.78rem}.sample-capsules-grid{gap:6px;margin-bottom:6px}.sample-capsule{border-radius:999px;min-height:36px;padding:4px 8px 4px 4px}.capsule-icon-circle{width:24px;height:24px}.capsule-label{font-size:.68rem}.capsule-value{font-size:.98rem}.badge-tipo-pill,.badge-envase-pill{padding:2px 8px;font-size:.72rem}.card-action-icon-btn{width:30px;height:30px}}.aq-scroll-letter-bubble{color:#fff;z-index:99999;pointer-events:none;opacity:0;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:62px;height:62px;transition:opacity .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:50%;right:28px;transform:translateY(-50%)scale(.6);box-shadow:0 10px 28px #0ea5e97a,0 0 0 3px #fff6}.aq-scroll-letter-bubble.visible{opacity:1;transform:translateY(-50%)scale(1)}.aq-scroll-bubble-letter{letter-spacing:-.02em;font-size:1.8rem;font-weight:900;line-height:1}.aq-scroll-bubble-label{text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-top:1px;font-size:.58rem;font-weight:800}.aq-alphabet-strip{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:6px;margin-bottom:8px;padding:4px 4px 12px;display:flex;overflow-x:auto}.aq-alphabet-strip::-webkit-scrollbar{display:none}.aq-alphabet-pill{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);min-width:34px;height:34px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:.84rem;font-weight:800;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.aq-alphabet-pill:hover{background:var(--bg-card-hover);color:var(--text-main);border-color:var(--border-input);transform:translateY(-1px)}.aq-alphabet-pill.active{background:var(--accent-aquapp,#0ea5e9);color:#fff;border-color:var(--accent-aquapp,#0ea5e9);transform:scale(1.08);box-shadow:0 2px 8px #0ea5e959}.aq-letter-section{margin-bottom:24px;scroll-margin-top:18px}.aq-letter-section-header{z-index:10;background:var(--bg-main);-webkit-backdrop-filter:blur(12px);align-items:center;gap:10px;margin-bottom:6px;padding:8px 0;display:flex;position:sticky;top:0}.aq-letter-badge{background:var(--primary-light,#e0f2fe);width:34px;height:34px;color:var(--accent-aquapp,#0284c7);box-shadow:var(--shadow-sm);border:1px solid #0ea5e940;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;font-weight:900;display:flex}.aq-letter-count{color:var(--text-muted);white-space:nowrap;font-size:.78rem;font-weight:700}.aq-letter-divider-line{background:linear-gradient(90deg, var(--border) 0%, transparent 100%);flex:1;height:1px}.aq-letter-section .aq-clients-grid{margin-top:8px}.aq-clients-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;margin-top:20px;display:grid}.aq-client-tile{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);cursor:pointer;aspect-ratio:1;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px 12px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.aq-client-tile:hover{box-shadow:var(--shadow-md);border-color:#3b82f666;transform:translateY(-4px)}.aq-client-avatar-circle{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.15rem;font-weight:800;display:flex;box-shadow:0 4px 10px #0000001f}.aq-client-tile-name{color:var(--text-main);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:.88rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.aq-client-detail-view{flex-direction:column;gap:16px;display:flex}.aq-detail-hero-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 20px;display:flex}.aq-detail-avatar-circle{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:68px;height:68px;font-size:1.5rem;font-weight:900;display:flex;box-shadow:0 6px 16px #00000026}.aq-detail-hero-info{flex-direction:column;align-items:center;gap:4px;display:flex}.aq-detail-hero-title{color:var(--text-main);margin:0;font-size:1.35rem;font-weight:800}.aq-detail-hero-address{color:var(--text-muted);margin:0;font-size:.85rem;font-weight:500}.aq-pills-navigation-container{flex-direction:column;gap:16px;display:flex}.aq-category-pills-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.aq-category-pill{cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-size:.9rem;font-weight:700;transition:all .25s;display:inline-flex}.aq-category-pill .aq-cat-icon-wrap{color:var(--cat-color,#4f46e5);justify-content:center;align-items:center;display:flex}.aq-category-pill:hover{box-shadow:var(--shadow-sm);border-color:var(--cat-color,#4f46e5);transform:translateY(-2px)}.aq-category-pill.active{background:var(--cat-color,#4f46e5);color:#fff;border-color:var(--cat-color,#4f46e5);transform:translateY(-2px);box-shadow:0 6px 18px #0000002e}.aq-category-pill.active .aq-cat-icon-wrap{color:#fff}.aq-cat-name{font-weight:700}.aq-cat-count{opacity:.9;font-size:.8rem;font-weight:600}.aq-years-pills-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.aq-year-pill{cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:6px;padding:6px 16px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.aq-year-pill:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.aq-year-pill.active{color:#fff;background:#0f172a;border-color:#0f172a;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a40}.aq-year-badge{color:inherit;background:#ffffff40;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:800}.aq-year-pill:not(.active) .aq-year-badge{background:var(--bg-main);color:var(--text-muted)}.aq-months-pills-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.aq-month-pill{cursor:pointer;background:var(--month-color,#3b82f6);color:#fff;opacity:.88;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #0000001f}.aq-month-pill:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 12px #0000002e}.aq-month-pill.active{opacity:1;outline-offset:1px;outline:3px solid #0f172a;transform:translateY(-2px)scale(1.04);box-shadow:0 6px 16px #00000040}.aq-month-name{text-transform:capitalize}.aq-month-count{background:#ffffff4d;border-radius:999px;padding:1px 6px;font-size:.72rem;font-weight:800}@media (width<=600px){.aq-clients-grid{grid-template-columns:repeat(3,1fr);gap:10px}.aq-client-tile{gap:8px;padding:14px 8px}.aq-client-avatar-circle{width:44px;height:44px;font-size:1rem}.aq-client-tile-name{font-size:.78rem}.aq-category-pill{padding:8px 14px;font-size:.82rem}.aq-detail-hero-card{padding:18px 14px}.aq-detail-avatar-circle{width:56px;height:56px;font-size:1.25rem}}@media (width<=380px){.aq-clients-grid{grid-template-columns:repeat(2,1fr)}}.aq-trat-section{box-sizing:border-box;width:100%;padding-bottom:40px}.aq-trat-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.aq-trat-title{color:var(--text-main);letter-spacing:-.02em;margin:0 0 4px;font-size:1.35rem;font-weight:800}.aq-trat-subtitle{color:var(--text-muted);margin:0;font-size:.88rem}.aq-trat-btn-new{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%);border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:.88rem;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #e11d4847}.aq-trat-btn-new:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 6px 18px #e11d4861}.aq-trat-btn-new:active{transform:translateY(0)}.aq-trat-pills-scroll{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.aq-trat-pill{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.aq-trat-pill:hover{border-color:var(--pill-color,var(--accent-aquapp));color:var(--text-main);background:var(--bg-card-hover)}.aq-trat-pill.active{background:var(--bg-card);border-color:var(--pill-color,var(--accent-aquapp));color:var(--pill-color,var(--accent-aquapp));font-weight:800;box-shadow:0 2px 10px #0000000f}.aq-trat-pill-badge{background:var(--bg-main);color:var(--text-secondary);border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:800}.aq-trat-pill.active .aq-trat-pill-badge{background:var(--pill-color,var(--accent-aquapp));color:#fff}.aq-trat-years-scroll{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.aq-trat-year-pill{border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.aq-trat-year-pill:hover{background:var(--bg-card-hover);color:var(--text-main)}.aq-trat-year-pill.active{color:#fff;background:#0f172a;border-color:#0f172a;font-weight:700;box-shadow:0 4px 10px #0f172a33}.aq-trat-year-pill.active .aq-trat-year-badge{color:#fff;background:#ffffff40}.aq-trat-months-scroll{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;display:flex}.aq-trat-month-pill{cursor:pointer;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-main);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.aq-trat-month-pill:hover{border-color:var(--month-color,var(--primary));transform:translateY(-1px)}.aq-trat-month-pill.active{background:var(--month-color,var(--primary));color:#fff;border-color:var(--month-color,var(--primary));box-shadow:0 2px 8px #00000026}.aq-trat-month-abbr{font-weight:700}.aq-trat-month-badge{color:inherit;background:#00000012;border-radius:999px;padding:1px 6px;font-size:.72rem;font-weight:800}.aq-trat-month-pill.active .aq-trat-month-badge{color:#fff;background:#ffffff4d}.aq-trat-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.aq-trat-search-box{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex:1;align-items:center;gap:10px;min-width:240px;max-width:480px;padding:8px 14px;transition:all .2s;display:flex;box-shadow:0 2px 8px #00000005}.aq-trat-search-box:focus-within{border-color:var(--accent-aquapp,#0ea5e9);box-shadow:0 0 0 3px #0ea5e91f}.aq-trat-search-icon{color:var(--text-muted);flex-shrink:0}.aq-trat-search-box input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;font-size:.9rem}.aq-trat-metrics-text{color:var(--text-muted);white-space:nowrap;font-size:.85rem;font-weight:600}.aq-trat-cards-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;width:100%;display:grid}.aq-trat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;flex-direction:column;justify-content:space-between;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 4px 14px #0f172a0a}.aq-trat-card:hover{border-color:#1e9be94d;transform:translateY(-3px);box-shadow:0 10px 24px #0f172a17}.aq-trat-card-veil{border-bottom:1px solid #0000;padding:14px 16px 12px}.aq-trat-veil-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.aq-trat-client-row{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.aq-trat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.aq-trat-client-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:800;overflow:hidden}.aq-trat-icon-badge{background:#ffffffd9;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;box-shadow:0 2px 6px #0000000a}.aq-trat-badges-group{flex-wrap:wrap;gap:6px;display:flex}.aq-trat-badge-tipo{letter-spacing:.01em;border:1px solid #0000;border-radius:6px;align-items:center;padding:3px 9px;font-size:.75rem;font-weight:800;display:inline-flex}.aq-trat-badge-motivo{border-radius:6px;align-items:center;padding:3px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.aq-trat-card-body{flex-direction:column;flex:1;justify-content:space-between;padding:14px 16px 12px;display:flex}.aq-trat-meta-chips{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.aq-trat-chip{background:var(--bg-card-hover);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.aq-trat-chip.muestra-tag{color:#047857;background:#ecfdf5;border-color:#a7f3d0;font-weight:700}.aq-trat-notes-box{background:var(--bg-card-hover);border:1px solid var(--border-light);color:var(--text-secondary);word-break:break-word;border-radius:10px;margin-bottom:12px;padding:8px 12px;font-size:.84rem;line-height:1.45}.aq-trat-notes-box strong{color:var(--text-main);font-weight:700}.aq-trat-loading-state,.aq-trat-empty-state{text-align:center;background:var(--bg-card);border:1px dashed var(--border);border-radius:18px;margin-top:10px;padding:60px 20px}.aq-trat-empty-icon{color:var(--text-faint);margin-bottom:12px}.aq-trat-empty-state h3{color:var(--text-main);margin:0 0 6px;font-size:1.1rem;font-weight:700}.aq-trat-empty-state p{color:var(--text-muted);margin:0 0 16px;font-size:.88rem}.aq-trat-reset-btn{background:var(--bg-card-hover);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.82rem;font-weight:600;transition:all .2s}.aq-trat-reset-btn:hover{background:var(--bg-main);border-color:var(--border-input)}@media (width<=640px){.aq-trat-cards-grid{grid-template-columns:1fr}.aq-trat-header-row{flex-direction:column;align-items:stretch}.aq-trat-btn-new{justify-content:center}.aq-trat-toolbar{flex-direction:column;align-items:stretch}.aq-trat-search-box{max-width:100%}}.aq-trat-photos-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;margin-bottom:8px;display:grid}.aq-trat-photo-item{border-radius:var(--radius-sm,8px);border:1px solid var(--border,#e2e8f0);background:var(--bg-main,#0f172a);cursor:pointer;height:110px;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.aq-trat-photo-item:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.aq-trat-photo-item img{object-fit:cover;width:100%;height:100%;display:block}.aq-photo-badge{letter-spacing:.3px;z-index:2;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:800;position:absolute;top:6px;left:6px;box-shadow:0 2px 4px #00000040}.aq-photo-badge.before{color:#fff;background:#ef4444}.aq-photo-badge.after{color:#fff;background:#16a34a}.aq-zoom-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ae6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.aq-zoom-modal-content{background:var(--bg-card,#fff);border-radius:var(--radius-lg,16px);border:1px solid var(--border,#334155);flex-direction:column;width:100%;max-width:650px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.aq-zoom-header{background:var(--bg-card,#fff);border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.aq-zoom-header h4{color:var(--text-main,#0f172a);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;overflow:hidden}.aq-zoom-close-btn{background:var(--bg-main,#f1f5f9);border-radius:var(--radius-pill,999px);width:32px;height:32px;color:var(--text-secondary,#475569);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.aq-zoom-close-btn:hover{color:#ef4444;background:#fee2e2}.aq-zoom-body{background:#000;justify-content:center;align-items:center;max-height:calc(90vh - 60px);padding:8px;display:flex;overflow:auto}.aq-zoom-body img{object-fit:contain;border-radius:4px;max-width:100%;max-height:75vh}.taskflow-container{background-color:var(--bg-card-hover);height:calc(100vh - 40px);margin:-24px;display:flex}.taskflow-sidebar{background-color:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;padding:24px 0;display:flex}.taskflow-logo{align-items:center;gap:12px;margin-bottom:8px;padding:0 24px;display:flex}.logo-dot{background-color:var(--accent-tareas);border-radius:50%;width:12px;height:12px}.taskflow-logo h2{color:var(--text-main);font-size:1.1rem;font-weight:800}.sidebar-subtitle{color:var(--text-faint);letter-spacing:.05em;margin-bottom:24px;padding:0 24px;font-size:.65rem;font-weight:700}.year-selector{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;margin:0 24px 16px;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.months-list{flex:1;overflow-y:auto}.section-label{color:var(--text-faint);letter-spacing:.1em;margin-bottom:8px;padding:0 24px;font-size:.65rem;font-weight:700}.month-item{color:var(--text-muted);cursor:pointer;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:10px 24px;font-size:.85rem;transition:all .2s;display:flex}.month-item:hover{background-color:var(--bg-card-hover)}.month-item.active{color:#4f46e5;border-left-color:var(--accent-tareas);background-color:#eef2ff;font-weight:600}.month-badge{background-color:var(--bg-main);border-radius:var(--radius-xs);color:var(--text-faint);padding:2px 6px;font-size:.65rem;font-weight:700}.month-item.active .month-badge{color:#4f46e5;background-color:#e0e7ff}.btn-nuevo-cliente{background-color:var(--accent-tareas);color:#fff;border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-md);border:none;justify-content:center;align-items:center;gap:8px;margin:24px 24px 0;padding:12px;font-size:.8rem;font-weight:700;transition:transform .2s;display:flex}.btn-nuevo-cliente:active{transform:scale(.98)}.taskflow-main{background-color:var(--bg-card-hover);flex-direction:column;flex:1;display:flex;overflow:hidden}.taskflow-header{background-color:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:32px;display:flex}.breadcrumb{align-items:center;gap:8px;margin-bottom:8px;display:flex}.year-badge{color:#4f46e5;border-radius:var(--radius-md);background-color:#eef2ff;padding:2px 8px;font-size:.7rem;font-weight:700}.breadcrumb-dot{color:var(--text-faint);font-size:1.2rem}.breadcrumb-text{color:var(--text-faint);letter-spacing:.05em;font-size:.75rem;font-weight:700}.header-left h1{color:var(--text-main);margin-bottom:8px;font-size:2rem;font-weight:800}.subtitle-stats{color:var(--text-muted);font-size:.9rem}.subtitle-stats strong{color:#3b82f6;font-weight:600}.header-right{align-items:center;gap:24px;display:flex}.global-progress{flex-direction:column;width:200px;display:flex}.progress-texts{justify-content:space-between;margin-bottom:6px;font-size:.75rem;font-weight:700;display:flex}.prog-label{color:var(--text-muted)}.prog-value-green{color:var(--color-success)}.progress-bar-bg{background-color:var(--bg-main);border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.progress-bar-fill{background-color:var(--color-success);border-radius:3px;height:100%}.prog-subtext{color:var(--text-faint);font-size:.7rem}.big-percentage{color:var(--color-success);font-size:2.5rem;font-weight:800}.taskflow-filters{background-color:var(--bg-card);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 32px;display:flex}.view-toggles{background-color:var(--bg-main);border-radius:var(--radius-pill);border:1px solid var(--border-light);flex-shrink:0;align-items:center;padding:3px;display:inline-flex}.toggle-btn{border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:flex}.toggle-btn.active{background-color:var(--bg-card);color:#4f46e5;box-shadow:0 1px 4px #00000014}.search-bar{background-color:var(--bg-card-hover);border-radius:var(--radius-pill);border:1px solid var(--border);flex:260px;align-items:center;gap:8px;min-width:240px;max-width:480px;padding:8px 18px;transition:all .2s;display:flex}.search-bar:focus-within{background-color:var(--bg-card);border-color:#818cf8;box-shadow:0 0 0 3px #6366f11f}.search-bar input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;font-size:.88rem}.filter-pills{align-items:center;gap:12px;margin-left:auto;display:flex}.pill-btn{border-radius:var(--radius-pill);color:var(--text-secondary);background-color:var(--bg-card);border:1px solid var(--border);padding:8px 16px;font-size:.85rem;font-weight:600}.pill-btn.active{background-color:var(--text-main);color:#fff;border-color:var(--text-main)}.btn-export-pdf-tareas{color:#4338ca;cursor:pointer;background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border:1px solid #c7d2fe;align-items:center;gap:6px;font-weight:700;transition:all .2s;display:flex}.btn-export-pdf-tareas:hover{color:#fff;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);border-color:#4338ca;transform:translateY(-1px)}.btn-sort-tareas{cursor:pointer;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:5px;transition:all .2s;display:inline-flex}.btn-sort-tareas:hover{background:var(--bg-card-hover);color:var(--text-main);border-color:var(--border-hover,var(--border))}.btn-sort-tareas.active-az{color:var(--accent-tareas,#4f46e5);background:#4f46e514;border-color:#4f46e559;font-weight:700}.icon-btn-settings{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);background-color:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;display:flex}.taskflow-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding:32px;display:grid;overflow-y:auto}.tf-card{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);flex-direction:column;display:flex}.tf-card.completed-card,.tf-card.weekly-card,.tf-card.monthly-card{background-color:var(--bg-card)}.tf-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;padding:16px;display:flex}.tf-card-title h3{color:var(--text-main);align-items:center;gap:6px;margin-bottom:4px;font-size:1rem;font-weight:700;display:flex}.tf-card.completed-card .tf-card-title h3{color:var(--color-success)}.tf-card.weekly-card .tf-card-title h3{color:#d97706}.tf-card.monthly-card .tf-card-title h3{color:var(--color-danger)}.inline-check{margin-top:2px}.tf-card-title p{font-size:.75rem;font-weight:700}.text-purple{color:var(--accent-estadisticas)}.text-green{color:var(--color-success)}.tf-card-actions{gap:8px;display:flex}.tf-tasks{flex:1;padding:8px}.tf-task-row{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;transition:background-color .2s;display:flex}.tf-task-row:hover{background-color:var(--bg-card-hover)}.tf-card.completed .tf-task-row:hover{background-color:var(--color-success-light)}.tf-task-left{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.empty-circle{border:2px solid var(--border-input);border-radius:50%;flex-shrink:0;width:18px;height:18px}.tf-task-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.tf-task-row.completed .tf-task-name{color:var(--text-faint);text-decoration:line-through}.tf-task-row.skipped .tf-task-name{color:var(--text-faint);font-style:italic}.tf-task-date-input{color:var(--accent-tareas);border-radius:var(--radius-pill);cursor:pointer;background:#6366f114;border:1px solid #6366f133;outline:none;flex-shrink:0;padding:3px 8px;font-family:inherit;font-size:.72rem;font-weight:700}.tf-task-date{color:var(--color-success);background-color:var(--color-success-light);border-radius:var(--radius-xs);padding:2px 6px;font-size:.7rem;font-weight:700}.tf-task-right{opacity:.4;flex-shrink:0;align-items:center;gap:6px;transition:opacity .2s;display:flex}.tf-task-row:hover .tf-task-right{opacity:1}.action-icon{color:var(--text-faint);cursor:pointer}.action-icon:hover{color:var(--text-secondary)}.btn-add-actuacion{border:1px dashed var(--border-input);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background-color:#0000;margin:0 16px 16px;padding:10px;font-size:.8rem;font-weight:600;transition:all .2s}.btn-add-actuacion:hover{border-color:var(--text-faint);color:var(--text-secondary);background-color:var(--bg-card-hover)}.tf-card.completed .btn-add-actuacion{border-color:var(--color-success-border);color:var(--color-success)}.tf-card.completed .btn-add-actuacion:hover{background-color:var(--color-success-light)}.desktop-mini-cal-wrapper{padding:0}.mini-cal-widget{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:8px 20px 0;padding:10px 12px}.mini-cal-header{text-transform:capitalize;color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;font-size:.75rem;font-weight:800;display:flex}.mini-cal-clear{color:var(--color-danger);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:2px 6px;font-size:.72rem;font-weight:700;transition:all .2s}.mini-cal-clear:hover{background:#ef44441f}.mini-cal-weekdays{text-align:center;color:var(--text-faint);text-transform:lowercase;grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:.68rem;font-weight:700;display:grid}.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.mini-cal-cell{aspect-ratio:1;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.mini-cal-cell.blank{cursor:default}.mini-cal-cell.day:hover{background:var(--bg-card);color:var(--text-main)}.mini-cal-cell.has-tasks{color:#059669;background:#10b98124;font-weight:800}.mini-cal-cell.selected{font-weight:800;box-shadow:0 2px 8px #4f46e559;background:var(--accent-tareas)!important;color:#fff!important}.day-filter-banner{border-radius:var(--radius-md);color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 24px 16px;padding:10px 18px;font-size:.85rem;display:flex}.btn-clear-day-filter{color:#4f46e5;border-radius:var(--radius-pill);cursor:pointer;background:#fff;border:1px solid #c7d2fe;align-items:center;gap:4px;padding:4px 12px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-clear-day-filter:hover{color:#fff;background:#4f46e5}.mobile-cal-btn{display:none!important}.cal-days-badge{color:#fff;background:#10b981;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:.65rem;font-weight:800}.mobile-mini-cal-container{padding:0 24px 16px}.mobile-mini-cal-container .mini-cal-widget{max-width:320px;margin:0}.taskflow-days-view{flex-direction:column;gap:20px;padding:32px;display:flex;overflow-y:auto}.tf-day-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:20px;transition:all .2s;display:flex}.tf-day-card:hover{box-shadow:var(--shadow-md);border-color:#4f46e54d}.tf-day-header{border-bottom:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.tf-day-title-wrap{align-items:center;gap:14px;display:flex}.tf-day-badge{color:#4f46e5;width:46px;height:46px;box-shadow:var(--shadow-xs);background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tf-day-num{font-size:1.15rem;font-weight:900;line-height:1}.tf-day-month{text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:800}.tf-day-name{color:var(--text-main);text-transform:capitalize;margin:0;font-size:1.1rem;font-weight:800}.tf-day-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:.82rem;font-weight:500}.tf-day-pdf-btn{color:#4f46e5;cursor:pointer;background:#f8fafc;border:1px solid #c7d2fe;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:700;transition:all .2s;display:flex}.tf-day-pdf-btn:hover{background:#eef2ff;border-color:#818cf8;transform:translateY(-1px)}.tf-day-clients-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.tf-day-client-item{background:var(--bg-card-hover);border:1px solid var(--border-light);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:14px;display:flex}.tf-day-client-top{border-bottom:1px solid var(--border-light);align-items:center;gap:10px;padding-bottom:8px;display:flex}.tf-day-client-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:800;display:flex}.tf-day-client-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:800;overflow:hidden}.tf-day-client-count{color:var(--text-muted);font-size:.72rem;font-weight:600}.tf-day-tasks-list{flex-direction:column;gap:6px;display:flex}.tf-day-task-chip{background:var(--bg-card);color:var(--text-main);border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.85rem;font-weight:600;display:flex}.tf-day-notes{color:var(--text-secondary);background:var(--bg-card);border:1px dashed var(--border);border-radius:6px;padding:6px 10px;font-size:.78rem;font-style:italic}@media (width<=768px){.mobile-cal-btn{align-items:center;display:inline-flex!important}.desktop-mini-cal-wrapper{display:none!important}.taskflow-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;padding:16px}.months-list{flex-direction:row;gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.month-item{min-width:120px;margin-bottom:0}.taskflow-container{flex-direction:column;height:auto;margin:0}.taskflow-header{flex-direction:column;gap:16px;padding:16px}.header-right{justify-content:space-between;width:100%}.taskflow-filters{flex-wrap:wrap;padding:16px}.filter-pills{gap:8px;width:100%;margin-left:0;padding-bottom:4px;display:flex;overflow-x:auto}.taskflow-grid{padding:16px}.day-filter-banner{margin:0 16px 16px}.mobile-mini-cal-container{justify-content:center;padding:0 16px 16px;display:flex}.mobile-mini-cal-container .mini-cal-widget{width:100%;max-width:340px}}.avisomap-wrapper{background:var(--bg-main);flex-direction:column;min-height:calc(100vh - 40px);margin:-24px;display:flex}.avisomap-topbar{background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;display:flex}.am-logo{align-items:center;gap:12px;display:flex}.shield-icon{border-radius:var(--radius-sm);background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 4px 12px #2563eb40}.am-logo h1{color:var(--text-main);margin:0;font-size:1.35rem;font-weight:800;line-height:1.15}.am-subtitle{color:var(--text-muted);font-size:.76rem;font-weight:600}.am-search{background-color:var(--bg-card-hover);border:1px solid var(--border);border-radius:999px;align-items:center;gap:10px;width:100%;max-width:420px;padding:9px 16px;transition:all .2s;display:flex}.am-search:focus-within{background-color:var(--bg-card);border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.am-search input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:.9rem;font-weight:500}.btn-nuevo-aviso-top{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #2563eb40}.btn-nuevo-aviso-top:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.avisomap-tabs-menu{background:var(--bg-card);border-bottom:1px solid var(--border);gap:10px;padding:12px 28px;display:flex}.tab-btn-menu{background:var(--bg-main);color:var(--text-secondary);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.tab-btn-menu:hover{color:#2563eb;background:#eff6ff}.tab-btn-menu.active{color:#fff;background:#2563eb;box-shadow:0 4px 12px #2563eb40}.avisomap-main-content{flex:1;padding:24px 28px 60px;overflow-y:auto}.am-pills-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.am-pill-year{cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:6px;padding:6px 16px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.am-pill-year:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.am-pill-year.active{color:#fff;background:#0f172a;border-color:#0f172a;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a33}.am-pill-badge{color:inherit;background:#ffffff40;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:800}.am-pill-year:not(.active) .am-pill-badge{background:var(--bg-main);color:var(--text-muted)}.am-pill-month{cursor:pointer;background:var(--month-color,#2563eb);color:#fff;opacity:.88;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #0000001f}.am-pill-month:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 12px #0000002e}.am-pill-month.active{opacity:1;outline-offset:1px;outline:3px solid #0f172a;transform:translateY(-2px)scale(1.04);box-shadow:0 6px 16px #00000038}.am-month-name{text-transform:capitalize}.am-month-badge{background:#ffffff4d;border-radius:999px;padding:1px 6px;font-size:.72rem;font-weight:800}.am-filters-toolbar{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 24px;padding:12px 18px;display:flex}.am-filters-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.am-filter-select-wrap{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 12px;display:flex}.am-select{color:var(--text-main);cursor:pointer;background:0 0;border:none;outline:none;font-size:.85rem;font-weight:600}.am-btn-reset-filters{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.am-btn-reset-filters:hover{background:var(--bg-card-hover);color:var(--text-main)}.am-count-tag{color:var(--text-muted);font-size:.85rem;font-weight:500}.am-count-tag strong{color:#2563eb;font-weight:800}.am-avisos-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.aviso-map-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid #dbeafed9;flex-direction:column;justify-content:space-between;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000a}.aviso-map-card:hover{border-color:#93c5fd;transform:translateY(-3px);box-shadow:0 8px 24px #2563eb1f}.aviso-card-top{background:linear-gradient(135deg,#eff6fff2 0%,#e0f2fe99 100%);border-bottom:1px solid #dbeafe;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 18px;display:flex}.aviso-card-title-group{flex:1;min-width:0}.aviso-address{color:var(--text-main);margin:0 0 5px;font-size:1.02rem;font-weight:800;line-height:1.25}.aviso-loc{color:#2563eb;align-items:center;gap:5px;font-size:.84rem;font-weight:700;display:inline-flex}.aviso-plagas-wrap{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.plaga-pill{border-radius:var(--radius-sm);align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #0000000d}.aviso-card-body{flex-direction:column;flex:1;justify-content:space-between;gap:14px;padding:15px 18px 18px;display:flex}.aviso-datetime{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:.82rem;font-weight:600;display:flex}.aviso-datetime span{align-items:center;gap:5px;display:inline-flex}.aviso-contact-badge{background:var(--bg-main);border-radius:var(--radius-xs);color:var(--text-secondary);padding:2px 8px}.aviso-notes-box{background:var(--bg-card-hover);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:pre-wrap;border-left:3px solid #2563eb;padding:10px 14px;font-size:.86rem;line-height:1.4}.aviso-notes-box strong{color:var(--text-main)}.aviso-card-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.btn-ruta{color:#1d4ed8;border-radius:var(--radius-sm);cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-ruta:hover{background:#dbeafe;transform:translateY(-1px)}.aviso-actions{align-items:center;gap:10px;display:flex}.aviso-action-btn.view{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-xs);color:#0284c7;align-items:center;gap:5px;padding:5px 10px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.aviso-action-btn.view:hover{background:#e0f2fe}.admin-actions-group{align-items:center;gap:6px;display:flex}.aviso-action-icon{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.aviso-action-icon.edit{color:#2563eb}.aviso-action-icon.edit:hover{background:#eff6ff;border-color:#bfdbfe}.aviso-action-icon.delete{color:#ef4444}.aviso-action-icon.delete:hover{background:#fee2e2;border-color:#fca5a5}.am-empty-state{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:60px 20px;display:flex}.am-empty-state h3{color:var(--text-main);margin:8px 0 0;font-size:1.15rem}.am-empty-state p{margin:0;font-size:.9rem}.stats-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.stats-total-badge{background-color:var(--bg-card);border:1px solid var(--border);color:#2563eb;border-radius:999px;padding:6px 16px;font-size:.9rem;font-weight:800}.stats-cards-container{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.stats-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:24px}.stats-card-title{align-items:center;gap:14px;margin-bottom:24px;display:flex}.stats-icon-circle{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stats-card-title h3{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:800}.stats-card-title p{color:var(--text-muted);margin:3px 0 0;font-size:.8rem}.stats-list{flex-direction:column;gap:16px;display:flex}.stat-row{border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:6px;padding:8px 12px;transition:all .2s;display:flex}.stat-row:hover{background:var(--bg-card-hover)}.stat-info{justify-content:space-between;align-items:center;display:flex}.stat-name{color:var(--text-main);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.stat-dot{border-radius:50%;width:10px;height:10px}.stat-numbers{color:var(--text-muted);font-size:.85rem}.stat-numbers strong{color:var(--text-main)}.stat-bar-bg{background-color:var(--bg-main);border-radius:999px;height:6px;overflow:hidden}.stat-bar-fill{border-radius:999px;height:100%}.uf-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.uf-modal-header h2{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:800}.icon-btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.icon-btn-close:hover{color:var(--text-main)}.am-edit-form{flex-direction:column;gap:14px;display:flex}.am-edit-form label{color:var(--text-muted);letter-spacing:.04em;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.am-form-row{gap:12px;display:flex}.am-edit-form input[type=text],.am-edit-form input[type=date],.am-edit-form input[type=time],.am-edit-form select,.am-edit-form textarea{border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;color:var(--text-main);outline:none;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.am-edit-form input:focus,.am-edit-form select:focus,.am-edit-form textarea:focus{border-color:#2563eb}.am-file-upload-box{cursor:pointer;background:var(--bg-card-hover);border:1px dashed var(--border-input);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;font-weight:600;display:flex;position:relative}.am-file-upload-box input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.am-btn-submit-edit{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;margin-top:8px;padding:12px;font-size:.95rem;font-weight:700;transition:all .2s}.am-btn-submit-edit:hover{opacity:.95}@media (width<=768px){.avisomap-wrapper{margin:-16px}.avisomap-topbar{padding:14px 16px}.am-search{order:3;max-width:100%}.avisomap-tabs-menu{padding:10px 16px}.avisomap-main-content{padding:16px 16px 60px}.am-avisos-grid{grid-template-columns:1fr;gap:14px}.aviso-map-card{padding:16px}.am-filters-toolbar{flex-direction:column;align-items:flex-start}}.workapp-container{background-color:var(--bg-card-hover);flex-direction:column;height:calc(100vh - 40px);margin:-24px;font-family:Inter,system-ui,sans-serif;display:flex}.workapp-header{background-color:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px;display:flex}.wa-logo-container{align-items:center;gap:16px;display:flex}.wa-logo-icon{background:linear-gradient(135deg, var(--accent-estadisticas), var(--accent-workapp));border-radius:var(--radius-sm);justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 8px 16px #ec489940}.wa-logo-text h1{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1.5rem;font-weight:900;display:flex}.wa-version{color:var(--text-faint);font-size:.8rem;font-weight:600}.wa-status{color:var(--color-success);align-items:center;gap:6px;margin-top:4px;font-size:.8rem;font-weight:700;display:flex}.wa-status-dot{background-color:var(--color-success);border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #10b98166}.wa-header-actions{align-items:center;gap:12px;display:flex}.wa-btn-nueva-jornada{color:#fff;border-radius:var(--radius-pill);cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:none;align-items:center;gap:6px;padding:10px 18px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #7c3aed40}.wa-btn-nueva-jornada:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed59}.icon-btn-round{border:1px solid var(--border);background-color:var(--bg-card);width:48px;height:48px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn-round:hover{background-color:var(--bg-main);color:var(--text-main)}.workapp-main{flex:1;padding:24px 24px 120px;overflow-y:auto}.wa-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.wa-page-title-block h2{color:var(--text-main);letter-spacing:-.5px;margin:0 0 4px;font-size:1.6rem;font-weight:900}.wa-page-subtitle{color:var(--text-muted);font-size:.88rem;font-weight:500}.wa-search-box{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex:1;align-items:center;min-width:280px;max-width:420px;padding:10px 16px;transition:all .2s;display:flex}.wa-search-box:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.wa-search-box input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;margin-left:10px;font-size:.92rem}.wa-search-box input::placeholder{color:var(--text-faint)}.search-clear-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;transition:color .15s;display:flex}.search-clear-btn:hover{color:var(--text-main)}.wa-pills-row{scrollbar-width:thin;-webkit-overflow-scrolling:touch;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex;overflow-x:auto}.wa-pills-row::-webkit-scrollbar{height:4px}.wa-pills-row::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}.wa-pill-year{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);align-items:center;gap:8px;padding:7px 16px;font-size:.86rem;font-weight:700;transition:all .2s;display:inline-flex}.wa-pill-year:hover{color:#6d28d9;background:#faf5ff;border-color:#c4b5fd}.wa-pill-year.active{color:#fff;background:#0f172a;border-color:#0f172a;box-shadow:0 4px 10px #0f172a33}.wa-pill-badge{color:inherit;background:#00000012;border-radius:12px;padding:2px 7px;font-size:.74rem;font-weight:800}.wa-pill-year.active .wa-pill-badge{color:#fff;background:#ffffff40}.wa-pill-month{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.wa-pill-month:hover{border-color:var(--month-color,#7c3aed);color:var(--month-color,#7c3aed);background:#7c3aed0d}.wa-pill-month.active{background:var(--month-color,#7c3aed);border-color:var(--month-color,#7c3aed);color:#fff;box-shadow:0 3px 10px #7c3aed33}.wa-month-name{font-weight:700}.wa-month-badge{background:#0000000f;border-radius:10px;padding:1px 6px;font-size:.72rem}.wa-pill-month.active .wa-month-badge{color:#fff;background:#ffffff40}.wa-toolbar-metrics{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;margin-bottom:20px;padding:10px 16px;display:flex;box-shadow:0 1px 3px #00000005}.wa-toolbar-left{align-items:center;gap:12px;display:flex}.wa-toolbar-count{color:var(--text-secondary);font-size:.86rem}.wa-toolbar-count strong{color:var(--text-main);font-weight:800}.wa-btn-clear-search{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.8rem;font-weight:700;display:inline-flex}.wa-btn-clear-search:hover{background:#fee2e2}.wa-toolbar-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wa-chip-metric{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.wa-chip-metric.base{color:#6d28d9;background:#f5f3ff;border:1px solid #ede9fe}.wa-chip-metric.extras{color:#e11d48;background:#fff1f2;border:1px solid #ffe4e6}.wa-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.wa-card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid #94b4dab3;flex-direction:column;justify-content:space-between;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 2px 8px #00000012}.wa-card:hover{border-color:#7eafd4;transform:translateY(-3px);box-shadow:0 8px 24px #1e3a5f2e}.wa-card-top{background:linear-gradient(135deg,#1e3a5f 0%,#2d5282 100%);border-bottom:1px solid #1a3352;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;display:flex}.wa-card-date-group{align-items:center;gap:7px;display:inline-flex}.wa-date-pill{color:#fff;letter-spacing:-.2px;font-size:.9rem;font-weight:800}.wa-hours-group{align-items:center;gap:6px;display:flex}.wa-hour-pill{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:4px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.wa-hour-pill.base{color:#fff;background-color:#ffffff26;border:1px solid #ffffff40}.wa-hour-pill.extra{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:1px solid #ef4444cc;box-shadow:0 2px 6px #dc262673}.wa-card-body{flex-direction:column;flex:1;justify-content:space-between;gap:14px;padding:15px 16px 16px;display:flex}.wa-paradas-wrap{flex-direction:column;gap:6px;display:flex}.wa-paradas-grid{flex-wrap:wrap;gap:6px;display:flex}.wa-parada-pill{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-main);background-color:var(--bg-card-hover);align-items:center;gap:4px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #00000005}.wa-no-paradas{color:var(--text-faint);font-size:.82rem;font-style:italic}.wa-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.wa-meta-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.wa-matricula-chip{background:var(--bg-main);border-radius:var(--radius-xs);border:1px solid var(--border-light);color:var(--text-secondary);padding:3px 8px;font-family:monospace;font-size:.8rem;font-weight:700}.wa-card-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.wa-btn-attachment{border-radius:var(--radius-sm);color:#6d28d9;background:#f5f3ff;border:1px solid #ede9fe;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.wa-btn-attachment:hover{color:#5b21b6;background:#ede9fe}.wa-card-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.wa-action-icon{border-radius:var(--radius-sm);border:1px solid var(--border-light);background-color:var(--bg-card);width:32px;height:32px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.wa-action-icon.edit:hover{color:#6d28d9;background-color:#ede9fe;border-color:#ddd6fe}.wa-action-icon.delete:hover{color:#ef4444;background-color:#fee2e2;border-color:#fca5a5}.wa-empty-state{text-align:center;color:var(--text-muted);background:var(--bg-card);border-radius:var(--radius-lg);border:1px dashed var(--border);flex-direction:column;align-items:center;gap:12px;margin-top:16px;padding:60px 20px;display:flex}.wa-empty-state h3{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:800}.wa-empty-state p{color:var(--text-muted);margin:0;font-size:.9rem}.wa-dropdown-menu{background:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:10;min-width:150px;animation:.2s fade-in;position:absolute;top:40px;right:0;overflow:hidden}.wa-dropdown-item{cursor:pointer;color:var(--text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.wa-dropdown-item:hover{background-color:var(--bg-card-hover)}.wa-dropdown-item.danger{color:var(--color-danger)}.wa-dropdown-item.danger:hover{background-color:#fef2f2}.wa-bottom-nav{background-color:var(--bg-card);border-top:1px solid var(--border);height:80px;padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--shadow-md);z-index:50;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.wa-nav-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:6px;font-size:.85rem;font-weight:700;transition:color .2s;display:flex}.wa-nav-btn.active{color:var(--accent-estadisticas)}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fade-in}.wa-btn-cuadrar{background:linear-gradient(135deg, var(--accent-estadisticas), var(--accent-workapp));color:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:800;display:flex;box-shadow:0 4px 12px #ec48994d}.wa-btn-cuadrar:hover{filter:brightness(1.1);transform:translateY(-1px)}.wa-nominas-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.wa-nomina-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);flex-direction:column;justify-content:space-between;margin-bottom:0;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000a}.wa-nomina-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.wa-nom-header{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.wa-nom-title h3{color:var(--text-main);margin:0 0 4px;font-size:1.15rem;font-weight:800}.wa-nom-title p{color:var(--text-muted);align-items:center;gap:5px;margin:0;font-size:.8rem;font-weight:600;display:flex}.wa-nom-total{text-align:right}.wa-nom-total h3{color:#4338ca;margin:0 0 2px;font-size:1.25rem;font-weight:900}.wa-nom-total p{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin:0;font-size:.74rem;font-weight:700}.wa-nom-grid{background:var(--bg-card);grid-template-columns:1fr 1fr;gap:14px;padding:16px 18px;display:grid}.wa-nom-item label{color:var(--text-muted);margin-bottom:3px;font-size:.78rem;font-weight:600;display:block}.wa-nom-item strong{color:var(--text-main);font-size:1rem;font-weight:800;display:block}.wa-nom-item strong.green{color:#10b981}.wa-nom-item strong.red{color:#ef4444}.wa-nom-footer{background-color:var(--bg-card-hover);border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.wa-btn-archivo{color:#4338ca;border-radius:var(--radius-sm);cursor:pointer;background-color:#e0e7ff;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.wa-btn-archivo:hover{background-color:#c7d2fe}.wa-modal-overlay{background-color:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.wa-modal-content{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:var(--shadow-xl);padding:32px;position:relative}.wa-modal-header{margin-bottom:24px}.wa-modal-header h2{color:var(--text-main);margin:0;font-size:1.5rem;font-weight:900}.wa-form-group{margin-bottom:16px}.wa-form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem;font-weight:700;display:block}.wa-form-input{border-radius:var(--radius-sm);border:1px solid var(--border-input);outline:none;width:100%;padding:12px 16px;font-size:1rem}.wa-modal-actions{justify-content:flex-end;gap:12px;margin-top:32px;display:flex}.wa-btn-cancel{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;padding:12px 24px;font-weight:700}.wa-btn-save{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent-estadisticas), var(--accent-workapp));color:var(--bg-card);cursor:pointer;border:none;padding:12px 24px;font-weight:700;box-shadow:0 4px 10px #ec48994d}@media (width<=640px){.wa-header-row{flex-direction:column;align-items:stretch;gap:12px}.wa-search-box{min-width:0;max-width:100%}.wa-cards-grid{grid-template-columns:1fr;gap:14px}.wa-toolbar-metrics{flex-direction:column;align-items:flex-start;gap:10px}.wa-card-top{padding:12px 14px}.wa-card-body{padding:14px}}.dashboard-container{max-width:1000px;min-height:calc(100vh - 140px);margin:0 auto;padding:24px 16px;position:relative}.dashboard-container:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#0ea5e926 0%,#fff0 70%);width:70vw;height:70vw;position:fixed;top:-20%;left:-10%}.dashboard-container:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#8b5cf61a 0%,#fff0 70%);width:60vw;height:60vw;position:fixed;bottom:-20%;right:-10%}.dashboard-header{text-align:left;margin-bottom:32px}.dashboard-header h1{color:var(--text-main);letter-spacing:-.5px;margin-bottom:8px;font-size:2.2rem;font-weight:800}.dashboard-header p{color:var(--text-muted);max-width:500px;font-size:1.05rem;font-weight:500}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.dash-card{background:var(--bg-card-glass);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);cursor:pointer;border:1px solid #fffc;flex-direction:column;padding:20px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden}.dash-card:before{content:"";border-radius:var(--radius-lg);pointer-events:none;background:linear-gradient(135deg,#fff6 0%,#fff0 100%);position:absolute;inset:0}.dash-card:hover{box-shadow:var(--shadow-lg);background:var(--bg-card-hover);border-color:#fff;transform:translateY(-6px)scale(1.02)}.dash-card:active{transform:translateY(0)scale(.98)}.dash-card-icon-wrapper{border-radius:var(--radius-md);width:52px;height:52px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;margin-bottom:16px;display:flex;position:relative}.dash-card-icon-wrapper:after{content:"";border-radius:var(--radius-md);position:absolute;inset:0;box-shadow:inset 0 2px 4px #ffffff80}.dash-card-content h3{color:var(--text-main);margin-bottom:6px;font-size:1.15rem;font-weight:800;line-height:1.2}.dash-card-content p{color:var(--text-muted);font-size:.85rem;font-weight:500;line-height:1.4}.dash-card.featured{flex-direction:row;grid-column:1/-1;align-items:center;padding:24px}.dash-card.featured .dash-card-icon-wrapper{border-radius:var(--radius-md);flex-shrink:0;width:64px;height:64px;margin-bottom:0;margin-right:20px}.dash-card.featured .dash-card-content{flex:1}.dash-card.featured .dash-card-content h3{font-size:1.3rem}.dash-card.featured .dash-card-content p{font-size:.95rem}.dash-card-arrow{background:var(--bg-card);border-radius:var(--radius-pill);width:40px;height:40px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;transition:transform .2s;display:none}.dash-card.featured .dash-card-arrow{display:flex}.dash-card.featured:hover .dash-card-arrow{transform:translate(4px)}@media (width>=768px){.dashboard-header{text-align:center;margin-bottom:48px}.dashboard-header p{margin:0 auto}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:24px}.dash-card.featured{grid-column:span 2}}.dashboard-top-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.month-selector-modern{background:var(--bg-card-glass);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #fffc;flex:1;justify-content:space-between;align-items:center;max-width:420px;padding:8px 12px;display:flex}.month-display-modern{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.month-display-modern h2{color:var(--text-main);letter-spacing:-.3px;margin:0;font-size:1.25rem;font-weight:800}.month-today-badge{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-pill);cursor:pointer;padding:2px 10px;font-size:.72rem;font-weight:700;transition:all .2s}.month-today-badge:hover{background:var(--primary);color:#fff}.month-nav-btn-modern{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;color:var(--text-muted);justify-content:center;align-items:center;transition:all .2s;display:flex}.month-nav-btn-modern:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.month-nav-btn-modern:active{transform:scale(.94)}.dashboard-settings-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);color:var(--text-muted);justify-content:center;align-items:center;padding:10px;transition:all .2s;display:flex}.dashboard-settings-btn:hover{color:var(--text-main);border-color:var(--border-input)}.dashboard-grid-summary{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width>=768px){.dashboard-grid-summary{grid-template-columns:repeat(4,1fr);gap:20px}}.dash-card-stat{justify-content:space-between;padding:20px 18px}.dash-card-header-stat{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dash-card-header-stat .dash-card-icon-wrapper{width:48px;height:48px;margin-bottom:0}.dash-stat-number{letter-spacing:-.5px;font-size:1.85rem;font-weight:900;line-height:1}.dash-card.dash-card-workapp-banner,.dash-card-workapp-banner{padding:22px;flex-direction:column!important;grid-column:1/-1!important;align-items:stretch!important}.dash-card-workapp-top{align-items:center;width:100%;display:flex}.dash-card-workapp-top .dash-card-icon-wrapper{flex-shrink:0;width:56px;height:56px;margin-bottom:0;margin-right:18px}.dash-workapp-metrics-row{border-top:1px solid var(--border-light);grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;padding-top:16px;display:grid}.dash-metric-chip{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:10px;padding:10px 14px;display:flex}.dash-metric-value{color:var(--text-main);font-size:1.15rem;font-weight:800;line-height:1.1;display:block}.dash-metric-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em;margin-top:2px;font-size:.72rem;font-weight:700;display:block}.dash-metric-chip-extras{background:#f43f5e14;border-color:#f43f5e40}.text-extras{color:#f43f5e!important;font-weight:900!important}.label-extras{color:#f43f5e!important}.dash-metric-chip-money{background:#10b98114;border-color:#10b98140}.text-money{color:#10b981!important;font-weight:900!important}.label-money{color:#10b981!important}.dash-metric-euro{color:#10b981;font-size:1.3rem;font-weight:900}@media (width<=600px){.dashboard-top-nav{margin-bottom:18px}.month-selector-modern{max-width:100%}.dash-workapp-metrics-row{grid-template-columns:repeat(3,1fr);gap:8px}.dash-metric-chip{gap:6px;padding:8px}.dash-metric-value{font-size:.95rem}.dash-metric-label{font-size:.65rem}.dash-card-stat{padding:14px 12px}.dash-stat-number{font-size:1.6rem}}.dash-recurrent-card{background:var(--bg-card-glass);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid #ffffffd9;margin-top:24px;padding:24px}.dash-recurrent-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.dash-recurrent-title-block{align-items:center;gap:12px;display:flex}.dash-recurrent-icon-pill{width:44px;height:44px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-recurrent-title{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:800}.dash-recurrent-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:.82rem;font-weight:500}.dash-recurrent-toggle-dismissed{border-radius:var(--radius-pill);color:var(--text-muted);border:1px solid var(--border);background:var(--bg-main);cursor:pointer;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.dash-recurrent-toggle-dismissed:hover{background:var(--bg-card-hover);color:var(--text-secondary)}.dash-recurrent-toggle-dismissed.active{color:#92400e;background:#fef3c7;border-color:#fcd34d}.dash-recurrent-progress-bar-wrap{margin-bottom:16px}.dash-recurrent-progress-bar{background:var(--bg-main);border-radius:999px;height:6px;display:flex;overflow:hidden}.dash-recurrent-progress-fill{height:100%;transition:width .5s}.dash-recurrent-progress-fill.done{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px 0 0 999px}.dash-recurrent-progress-fill.dismissed{background:#d1d5db}.dash-recurrent-empty{text-align:center;background:var(--bg-card);border-radius:var(--radius-md);border:1.5px dashed var(--border);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.dash-recurrent-empty-title{color:var(--text-muted);margin:8px 0 0;font-size:.9rem;font-weight:600}.dash-recurrent-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.dash-recurrent-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;transition:all .2s;display:flex}.dash-recurrent-item:hover{box-shadow:var(--shadow-md);border-color:#0ea5e966;transform:translateY(-2px)}.dash-recurrent-item.all-done{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border-color:#86efac}.dash-recurrent-item.all-done:hover{border-color:#4ade80}.dash-recurrent-client-header{border-bottom:1px solid var(--border-light);align-items:center;gap:10px;padding-bottom:10px;display:flex}.dash-recurrent-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#6366f1 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:800;transition:background .3s;display:flex}.dash-recurrent-avatar.avatar-done{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%)}.dash-recurrent-client-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:800;overflow:hidden}.dash-recurrent-client-count{color:var(--text-muted);font-size:.75rem;font-weight:600}.dash-recurrent-add-action-btn{color:#15803d;cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.dash-recurrent-add-action-btn:hover{background:#dcfce7;transform:scale(1.05)}.dash-recurrent-treatments-stack{flex-direction:column;gap:8px;display:flex}.dash-recurrent-row{background:var(--bg-card-hover);border:1px solid var(--border-light);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:10px 12px;transition:all .3s;display:flex}.dash-recurrent-row.row-done{background:#f0fdf4;border-color:#bbf7d0}.dash-recurrent-row.row-dismissed{opacity:.6;background:#f9fafb;border-color:#e5e7eb}.dash-recurrent-row-main{align-items:center;gap:8px;display:flex}.dash-recurrent-check{color:var(--text-faint);flex-shrink:0;align-items:center;display:flex}.dash-recurrent-check.checked{color:#16a34a}.dash-recurrent-check-empty{background:0 0;border:2px solid #d1d5db;border-radius:50%;width:16px;height:16px}.dash-recurrent-badges-wrap{flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:flex}.dash-recurrent-row.row-done .dash-recurrent-badges-wrap{-webkit-text-decoration:line-through #86efac;text-decoration:line-through #86efac}.dash-recurrent-badge-tipo{border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:800}.dash-recurrent-badge-motivo{border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:700}.dash-recurrent-row-actions{flex-shrink:0;margin-left:auto}.dash-recurrent-dismiss-btn{color:#9ca3af;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s;display:flex}.dash-recurrent-dismiss-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.dash-recurrent-dismiss-btn.is-dismissed{color:#92400e;background:#fef3c7;border-color:#fcd34d}.dash-recurrent-dismiss-btn.is-dismissed:hover{background:#fde68a}.dash-recurrent-date-info{align-items:center;gap:8px;padding-left:24px;font-size:.78rem;display:flex}.dash-recurrent-year-tag{color:#fff;background:#0f172a;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:800}.dash-recurrent-date{color:var(--text-muted);font-weight:600}.dash-recurrent-done-label{color:#16a34a;font-size:.72rem;font-weight:700}.dash-recurrent-dismissed-label{color:#9ca3af;font-size:.72rem;font-style:italic;font-weight:700}.dash-recurrent-notes{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;padding-left:24px;font-size:.78rem;font-style:italic;overflow:hidden}@media (width<=600px){.dash-recurrent-grid{grid-template-columns:1fr}.dash-recurrent-header{flex-direction:column;align-items:flex-start}}.estadisticas-container{max-width:800px;margin:0 auto;padding-bottom:24px}.estadisticas-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.estadisticas-header h1{color:var(--text-main);font-size:1.4rem;font-weight:700}.estadisticas-tabs{gap:8px;margin-bottom:24px;padding-bottom:4px;display:flex;overflow-x:auto}.est-tab{border-radius:var(--radius-md);background-color:var(--bg-card);border:2px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.est-tab:hover{border-color:var(--text-faint);background-color:var(--bg-card-hover)}.est-tab.active{background-color:var(--bg-card);box-shadow:var(--shadow-sm);border-width:2px}.estadisticas-content{min-height:300px}.stats-section{flex-direction:column;gap:20px;display:flex}.stats-year-row{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:12px 16px;font-weight:600;display:flex}.stats-year-badge{background-color:var(--bg-main);border-radius:var(--radius-md);margin-left:auto;padding:4px 14px;font-weight:700}.stats-chart-card{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:20px}.stats-chart-card h3{margin-bottom:4px;font-size:1rem;font-weight:700}.stats-subtitle{color:var(--text-faint);margin-bottom:16px;font-size:.8rem}.stats-card-title-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.stats-card-title-row h3{margin-bottom:0}.stats-card-title-row p{color:var(--text-faint);font-size:.8rem}.stats-legend{color:var(--text-secondary);flex-wrap:wrap;gap:12px;margin-bottom:16px;font-size:.8rem;font-weight:600;display:flex}.stats-legend span{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:2px;width:10px;height:10px;display:inline-block}.stats-bar-chart{border-bottom:1px solid var(--border);justify-content:space-around;align-items:flex-end;height:180px;padding-top:10px;display:flex}.stats-bar-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;width:28px;height:100%;display:flex}.stats-bar{border-radius:var(--radius-xs) var(--radius-xs) 0 0;width:100%;min-height:4px;transition:height .4s}.stats-bar-col span{color:var(--text-muted);font-size:.7rem;font-weight:600}.stats-hbar-chart{flex-direction:column;gap:10px;display:flex}.stats-hbar-row{align-items:center;height:22px;display:flex}.stats-hbar-label{width:40px;color:var(--text-muted);flex-shrink:0;font-size:.8rem;font-weight:600}.stats-hbar-track{background-color:var(--bg-main);border-radius:var(--radius-xs);flex:1;height:100%;display:flex;overflow:hidden}.stats-hbar-fill{height:100%;transition:width .4s}.stats-bar-list{flex-direction:column;gap:12px;display:flex}.stats-bar-item{flex-direction:column;gap:6px;display:flex}.stats-bar-info{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.stats-bar-info span{align-items:center;gap:6px;display:flex}.stats-bar-numbers{color:var(--text-muted);font-size:.8rem}.stats-bar-bg{background-color:var(--bg-main);border-radius:var(--radius-xs);height:8px;overflow:hidden}.stats-bar-fill{border-radius:var(--radius-xs);height:100%;transition:width .4s}.stats-total-banner{color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg,#22c55e,#16a34a);justify-content:center;align-items:center;gap:8px;padding:14px;font-size:1rem;font-weight:700;display:flex}.stats-totals-row{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#f43f5e 100%);justify-content:space-between;padding:24px 16px;display:flex;box-shadow:0 10px 25px -5px #f43f5e4d}.stats-total-card{text-align:center;box-shadow:none;background-color:#0000;flex-direction:column;flex:1;gap:4px;padding:0;display:flex}.stats-total-value{letter-spacing:-.02em;font-size:2.2rem;font-weight:900;color:#fff!important}.stats-total-label{color:#ffffffe6;letter-spacing:.03em;font-size:.75rem;font-weight:800}.stats-table-responsive{border-radius:var(--radius-sm);border:1px solid var(--border);max-height:450px;margin-top:8px;overflow:auto}.stats-table-responsive::-webkit-scrollbar{width:10px;height:10px}.stats-table-responsive::-webkit-scrollbar-track{background:var(--bg-main);border-radius:var(--radius-sm)}.stats-table-responsive::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#0ea5e9}.stats-table-responsive::-webkit-scrollbar-thumb:hover{background:#0284c7}.stats-mini-table{border-collapse:separate;border-spacing:0;text-align:center;width:100%;min-width:600px}.stats-mini-table th{background-color:var(--bg-card-hover);color:var(--text-main);border-bottom:2px solid var(--border);border-right:1px solid var(--border);z-index:10;padding:12px 10px;font-size:.75rem;font-weight:700;position:sticky;top:0}.stats-mini-table th:first-child{z-index:20;left:0}.stats-mini-table td{border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light);background:var(--bg-card);padding:12px 10px;font-size:.85rem}.stats-mini-table td:first-child{text-align:left;color:var(--text-main);background-color:var(--bg-card-hover);z-index:10;border-right:2px solid var(--border);font-weight:700;position:sticky;left:0}.legend-dot-cell{border-radius:3px;width:14px;height:14px;margin:0 auto}@media (width<=600px){.stats-total-value{font-size:1.5rem}.stats-total-label{font-size:.65rem}.estadisticas-tabs{gap:6px}.est-tab{padding:8px 12px;font-size:.8rem}}.stats-year-selector-card{margin-bottom:4px;padding:16px 20px}.stats-year-selector-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.stats-year-title{color:#0ea5e9;align-items:center;gap:10px;display:flex}.stats-year-title h3{letter-spacing:.04em;margin:0;font-size:.95rem;font-weight:800}.stats-year-dropdown-wrap{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;min-width:140px;padding:8px 14px;display:flex}.stats-year-select{width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;outline:none;font-size:.95rem;font-weight:700}.stats-kpi-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.stats-kpi-card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);align-items:center;gap:14px;padding:16px 18px;transition:transform .2s,box-shadow .2s;display:flex}.stats-kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stats-kpi-icon-wrap{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.stats-kpi-info{flex-direction:column;gap:2px;min-width:0;display:flex}.stats-kpi-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:800}.stats-kpi-val{color:var(--text-main);font-size:1.5rem;font-weight:800;line-height:1.1}.stats-charts-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modern-chart-card{flex-direction:column;padding:18px 16px 12px;display:flex}.modern-chart-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.modern-chart-header h3{letter-spacing:.03em;color:var(--text-main);margin:0;font-size:.88rem;font-weight:800}.client-summary-card{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-md);padding:22px}.client-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.client-summary-title{align-items:center;gap:10px;display:flex}.client-summary-title h2{color:var(--text-main);letter-spacing:.02em;margin:0;font-size:1.1rem;font-weight:800}.client-count-pill{color:#0ea5e9;background:#0ea5e91f;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:800}.client-search-box{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;min-width:240px;padding:8px 14px;display:flex;position:relative}.client-search-box input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;font-size:.88rem}.client-search-box input::placeholder{color:var(--text-muted)}.btn-clear-search{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.85rem;line-height:1}.btn-clear-search:hover{color:var(--text-main)}.treatment-chips-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:12px;display:flex}.treatment-filter-chip{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.75rem;font-weight:700;transition:all .2s;display:inline-flex}.treatment-filter-chip:hover{filter:brightness(.95);transform:translateY(-1px)}.treatment-filter-chip.active{box-shadow:0 2px 6px #0000001f}.chip-color-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.btn-clear-treatment-filters{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:700;transition:all .2s}.btn-clear-treatment-filters:hover{background:var(--bg-card-hover);color:var(--text-main)}.client-accordion-list{flex-direction:column;gap:10px;display:flex}.client-accordion-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);flex-shrink:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.client-accordion-item:hover{border-color:#0ea5e966}.client-accordion-item.expanded{border-color:#0ea5e9;box-shadow:0 4px 14px #0ea5e914}.client-accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-card);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;transition:background-color .15s;display:flex}.client-accordion-header:hover{background-color:var(--bg-card-hover)}.client-name-text{color:var(--text-main);word-break:break-word;min-width:0;font-size:.95rem;font-weight:700}.client-header-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.client-treatment-dots{align-items:center;gap:5px;display:flex}.client-type-dot{border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 1px #fff6}.client-treatment-badge{background:var(--bg-main);color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.client-chevron-icon{color:var(--text-muted);align-items:center;display:flex}.client-accordion-body{border-top:1px solid var(--border);background:var(--bg-card-hover);padding:16px 18px 20px}.client-timeline-container{padding-bottom:4px;overflow-x:auto}.client-timeline-months-header{grid-template-columns:repeat(12,minmax(64px,1fr));gap:6px;margin-bottom:8px;display:grid}.timeline-month-label{text-align:center;color:var(--text-muted);letter-spacing:.04em;font-size:.72rem;font-weight:800}.client-timeline-grid{grid-template-columns:repeat(12,minmax(64px,1fr));gap:6px;display:grid}.timeline-grid-cell{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius-sm);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;min-height:52px;padding:5px;display:flex}.timeline-grid-cell.has-events{background:var(--bg-card);border-style:solid;border-color:#0ea5e940}.timeline-badge-pill{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:4px 6px;font-size:.68rem;font-weight:800;display:block;overflow:hidden;box-shadow:0 1px 3px #0000001f}.client-empty-state{text-align:center;background:var(--bg-card-hover);border-radius:var(--radius-md);border:1px dashed var(--border);padding:36px 16px}@media (width<=768px){.stats-kpi-grid{grid-template-columns:1fr;gap:10px}.stats-charts-row{grid-template-columns:1fr;gap:14px}.client-summary-header{flex-direction:column;align-items:stretch}.client-search-box{width:100%;min-width:unset}.client-header-right{gap:8px}.client-treatment-badge{padding:2px 8px;font-size:.7rem}}.workapp-filter-card{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.workapp-filter-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-export-pdf{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);border:none;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-export-pdf:hover{filter:brightness(1.08);box-shadow:var(--shadow-md);transform:translateY(-1px)}.workapp-presets-bar{flex-wrap:wrap;gap:8px;display:flex}.workapp-preset-btn{background:var(--bg-card-hover);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:700;transition:all .2s}.workapp-preset-btn:hover{color:#8b5cf6;background:#8b5cf61a;border-color:#8b5cf6;transform:translateY(-1px)}.workapp-dates-wrap{grid-template-columns:1fr 1fr;gap:12px;display:grid}.workapp-date-field{flex-direction:column;gap:4px;display:flex}.workapp-date-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.workapp-date-input-wrap{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:8px 12px;display:flex}.workapp-date-input-wrap input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;font-size:.88rem;font-weight:600}.jornadas-detail-list{flex-direction:column;gap:10px;display:flex}.jornada-item-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:14px 18px;transition:all .2s;display:flex}.jornada-item-card:hover{box-shadow:var(--shadow-sm);border-color:#8b5cf659}.jornada-item-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.jornada-item-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.jornada-date-badge{color:var(--text-main);align-items:center;gap:6px;font-size:.88rem;font-weight:800;display:inline-flex}.jornada-schedule-badge{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.jornada-matricula-badge{color:#8b5cf6;border-radius:var(--radius-sm);background:#8b5cf614;border:1px solid #8b5cf633;align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.jornada-item-right{align-items:center;gap:8px;display:flex}.jornada-hours-badge{background:var(--bg-main);border:1px solid var(--border);color:var(--text-main);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:800}.jornada-extras-badge{color:#f43f5e;background:#f43f5e1f;border:1px solid #f43f5e4d;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.jornada-paradas-wrap{border-top:1px dashed var(--border);flex-wrap:wrap;gap:6px;padding-top:6px;display:flex}.jornada-parada-tag{background:var(--bg-card-hover);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}@media (width<=600px){.workapp-dates-wrap{grid-template-columns:1fr}.jornada-item-header{flex-direction:column;align-items:flex-start}.jornada-item-right{justify-content:flex-end;width:100%}}.tareas-client-scrollable-list{flex-direction:column;gap:10px;max-height:520px;padding-right:6px;display:flex;overflow-y:auto}.tareas-client-scrollable-list .client-accordion-item{flex-shrink:0;min-height:48px}.tareas-client-scrollable-list::-webkit-scrollbar{width:6px}.tareas-client-scrollable-list::-webkit-scrollbar-track{background:var(--bg-main);border-radius:var(--radius-sm)}.tareas-client-scrollable-list::-webkit-scrollbar-thumb{background:var(--border-input);border-radius:var(--radius-sm)}.tareas-client-scrollable-list::-webkit-scrollbar-thumb:hover{background:#4f46e5}.calendario-container{max-width:1400px;margin:0 auto;padding-bottom:24px}.calendario-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.calendario-header h1{color:var(--text-main);letter-spacing:-.01em;font-size:1.4rem;font-weight:800}.cal-layout{align-items:flex-start;gap:24px;display:flex}.cal-main-panel{background:var(--bg-card-glass);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-lg);border:1px solid #fffc;flex:2;padding:28px;position:relative;overflow:hidden}.cal-main-panel:before{content:"";border-radius:var(--radius-lg);pointer-events:none;background:linear-gradient(135deg,#ffffff4d 0%,#fff0 60%);position:absolute;inset:0}.cal-controls{z-index:1;justify-content:space-between;align-items:center;margin-bottom:24px;display:flex;position:relative}.cal-controls h2{color:var(--text-main);letter-spacing:-.01em;font-size:1.3rem;font-weight:800}.cal-nav{background:var(--bg-main);border-radius:var(--radius-pill);border:1px solid var(--border-light);gap:3px;padding:4px;display:flex}.cal-nav-btn{border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:7px 14px;font-size:.82rem;font-weight:700;display:flex}.cal-nav-btn:hover{background:var(--bg-card-hover);color:var(--text-secondary)}.cal-nav-btn.active{background:var(--accent-calendario);color:var(--text-on-primary);box-shadow:0 2px 8px #6366f14d}.cal-grid{border:1px solid var(--border-light);border-radius:var(--radius-md);z-index:1;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.cal-weekdays{background:linear-gradient(135deg,#6366f1 0%,#818cf8 100%);border-bottom:none;grid-template-columns:repeat(7,1fr);display:grid}.cal-weekdays span{text-align:center;color:#fffffff2;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;padding:14px 8px;font-size:.78rem;font-weight:800}.cal-cells{background:var(--bg-card);grid-template-columns:repeat(7,1fr);display:grid}.cal-cell{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);cursor:pointer;min-height:130px;transition:all var(--transition-fast);flex-direction:column;gap:3px;padding:10px 8px 8px;display:flex;position:relative}.cal-cell:nth-child(7n){border-right:none}.cal-cell:hover:not(.empty){background:linear-gradient(#6366f10a 0%,#6366f105 100%);box-shadow:inset 0 0 0 1px #6366f11f}.cal-cell.selected{box-shadow:inset 0 0 0 2px var(--accent-calendario);background:linear-gradient(#6366f114 0%,#6366f10a 100%)}.cal-cell.empty{background:var(--bg-main);cursor:default;opacity:.5}.cal-day-num{color:var(--text-secondary);width:28px;height:28px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:5px;font-size:.88rem;font-weight:700;display:flex}.cal-cell.selected .cal-day-num{color:var(--accent-calendario);font-weight:800}.cal-cell.today{background:linear-gradient(#6366f10f 0%,#0000 60%)}.cal-cell.today .cal-day-num{background:var(--accent-calendario);color:var(--text-on-primary);border-radius:50%;width:30px;height:30px;font-size:.85rem;font-weight:800;box-shadow:0 2px 8px #6366f159,0 0 0 3px #6366f126}.cal-client-chips{flex-direction:column;flex:1;gap:3px;display:flex;overflow:hidden}.cal-client-chip{white-space:nowrap;text-overflow:ellipsis;transition:all var(--transition-fast);background:0 0;border:1.5px solid;border-radius:6px;padding:2px 7px;font-size:.63rem;font-weight:700;line-height:1.5;display:block;position:relative;overflow:hidden}.cal-client-chip:before{content:"";border-radius:inherit;opacity:.08;pointer-events:none;background:currentColor;position:absolute;inset:0}.cal-chip-more{color:var(--text-faint);background:var(--bg-main);text-align:center;border:1px solid var(--border-light);border-radius:6px;padding:2px 7px;font-size:.62rem;font-weight:800}.cal-legend{color:var(--text-muted);z-index:1;flex-wrap:wrap;gap:14px;margin-top:20px;font-size:.72rem;font-weight:600;display:flex;position:relative}.cal-legend span{align-items:center;gap:6px;display:flex}.cal-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 1px 3px #00000026}.cal-details-panel{background:var(--bg-card-glass);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-lg);border:1px solid #fffc;flex-direction:column;flex:1.2;min-height:400px;max-height:80vh;transition:box-shadow .3s;display:flex;overflow:hidden}.cal-details-header{border-bottom:1px solid var(--border-light);background:linear-gradient(135deg,#6366f114 0%,#818cf80a 100%);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.cal-details-header h3{color:var(--text-main);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:800}.close-btn{background:var(--bg-main);border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex}.close-btn:hover{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error-border)}.cal-details-content{flex:1;padding:18px;overflow-y:auto}.cal-details-content::-webkit-scrollbar{width:5px}.cal-details-content::-webkit-scrollbar-track{background:0 0}.cal-details-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.cal-details-content::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.cal-empty-state{text-align:center;height:100%;color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.cal-empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:1.05rem;font-weight:700}.cal-empty-state p{max-width:220px;font-size:.85rem;line-height:1.5}.cal-events-list{flex-direction:column;gap:14px;display:flex}.cal-client-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-card);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border-left:4px solid;overflow:hidden}.cal-client-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.cal-client-card-header{background-color:var(--bg-card-hover);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:12px 16px;font-size:.95rem;display:flex}.cal-activity-list{flex-direction:column;gap:0;display:flex}.cal-activity-row{transition:all var(--transition-fast);border-bottom:1px solid #00000008;align-items:center;gap:10px;padding:10px 16px;font-size:.82rem;display:flex}.cal-activity-row:hover{background:#6366f10a}.cal-activity-row:last-child{border-bottom:none}.cal-activity-icon{border-radius:var(--radius-sm);width:28px;height:28px;box-shadow:var(--shadow-xs);background:#fffc;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cal-activity-text{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-activity-count{border-radius:var(--radius-pill);color:var(--text-secondary);background:#0000000f;padding:2px 8px;font-size:.75rem;font-weight:700}.cal-activity-extra{color:var(--text-muted);font-size:.75rem}.cal-detail-cards{flex-direction:column;gap:16px;display:flex}@media (width<=850px){.cal-layout{flex-direction:column}.cal-main-panel{border-radius:var(--radius-md);padding:18px 12px}.cal-details-panel{z-index:2000;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;min-height:auto;max-height:80vh;box-shadow:var(--shadow-xl);border:none;border-top:1px solid var(--border-light);transition:transform .3s ease-out;position:fixed;bottom:0;left:0;transform:translateY(100%)}.cal-details-panel.open{transform:translateY(0)}.cal-controls{flex-direction:column;align-items:flex-start;gap:12px}.cal-controls h2{font-size:1.15rem}.cal-cell{min-height:85px;padding:4px 3px}.cal-weekdays span{letter-spacing:.04em;padding:10px 4px;font-size:.68rem}.cal-day-num{width:22px;height:22px;margin-bottom:3px;font-size:.72rem}.cal-cell.today .cal-day-num{width:24px;height:24px;font-size:.72rem}.cal-client-chip{border-width:1px;border-radius:4px;padding:1px 4px;font-size:.52rem}.cal-client-chip:before{opacity:.06}.cal-chip-more{padding:1px 4px;font-size:.52rem}}@media (width<=480px){.cal-cell{min-height:72px;padding:3px 2px}.cal-weekdays span{padding:8px 2px;font-size:.62rem}.cal-nav{padding:3px}.cal-nav-btn{padding:5px 10px;font-size:.75rem}}.gg-container{max-width:900px;margin:0 auto;padding-bottom:40px}.gg-header{margin-bottom:30px}.gg-header-title{align-items:center;gap:12px;margin-bottom:8px;display:flex}.gg-header-title h1{color:var(--text-main);margin:0;font-size:1.8rem;font-weight:700}.gg-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.gg-tabs{border-bottom:2px solid var(--border);gap:12px;margin-bottom:24px;display:flex}.gg-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;transition:color .2s;display:flex;position:relative}.gg-tab:hover,.gg-tab.active{color:var(--accent-gestor)}.gg-tab.active:after{content:"";background-color:var(--accent-gestor);height:2px;position:absolute;bottom:-2px;left:0;right:0}.gg-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.gg-search{background:var(--bg-card);border:1px solid var(--border-input);border-radius:var(--radius-sm);flex:1;align-items:center;gap:12px;padding:10px 16px;display:flex}.gg-search input{background:0 0;border:none;outline:none;width:100%;font-size:.95rem}.gg-add-btn{background:var(--accent-gestor);color:var(--text-on-primary);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);border:none;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex}.gg-add-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.gg-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.gg-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px;transition:box-shadow .2s,border-color .2s}.gg-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-input)}.gg-card.task-card{border-left:4px solid var(--color-danger)}.gg-card:not(.task-card){border-left:4px solid var(--primary)}.gg-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.gg-card-header h3{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:700;line-height:1.3}.gg-card-actions{gap:8px;display:flex}.icon-btn-edit,.icon-btn-delete{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:background-color .2s;display:flex}.icon-btn-edit{color:var(--color-success);background-color:var(--color-success-light)}.icon-btn-edit:hover{background-color:var(--color-success-border)}.icon-btn-delete{color:var(--color-danger);background-color:var(--color-error-light)}.icon-btn-delete:hover{background-color:var(--color-error-border)}.gg-card-body p{color:var(--text-secondary);align-items:center;gap:8px;margin:0 0 8px;font-size:.9rem;display:flex}.gg-card-body p:last-child{margin-bottom:0}.calc-container{max-width:1200px;margin:0 auto;padding:24px 16px 80px}.calc-header-block{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.calc-title-group{align-items:center;gap:16px;display:flex}.calc-icon-badge{border-radius:var(--radius-md);background:linear-gradient(135deg,#0284c7,#0ea5e9);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 4px 14px #0ea5e959}.calc-title-group h1{color:var(--text-main);letter-spacing:-.02em;margin:0 0 4px;font-size:1.65rem;font-weight:900}.calc-title-group p{color:var(--text-muted);margin:0;font-size:.92rem;font-weight:500}.calc-pills-nav{flex-wrap:wrap;gap:10px;margin-bottom:28px;padding-bottom:4px;display:flex}.calc-nav-pill{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex}.calc-nav-pill:hover{background:var(--bg-card-hover);color:var(--text-main);border-color:var(--border-input);transform:translateY(-1px)}.calc-nav-pill.active{color:#fff;border-color:#0000;box-shadow:0 4px 12px #00000026}.calc-nav-pill.active.tab-cloro{background:linear-gradient(135deg,#0284c7,#0ea5e9);box-shadow:0 4px 14px #0ea5e959}.calc-nav-pill.active.tab-neutral{background:linear-gradient(135deg,#6d28d9,#8b5cf6);box-shadow:0 4px 14px #8b5cf659}.calc-nav-pill.active.tab-plagas{background:linear-gradient(135deg,#e11d48,#f43f5e);box-shadow:0 4px 14px #f43f5e59}.calc-nav-pill.active.tab-normativa{background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 4px 14px #14b8a659}.calc-badge-count{color:inherit;background:#ffffff40;border-radius:999px;padding:2px 7px;font-size:.75rem;font-weight:800}.calc-intro-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.calc-intro-text h3{color:var(--text-main);margin:0 0 4px;font-size:1.08rem;font-weight:800}.calc-intro-text p{color:var(--text-muted);margin:0;font-size:.88rem}.calc-source-tag{background:var(--bg-card-hover);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);white-space:nowrap;padding:6px 12px;font-size:.75rem;font-weight:800}.calc-grid-2col{grid-template-columns:1.15fr 1fr;align-items:start;gap:22px;display:grid}.calc-panel-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.calc-panel-title{color:var(--text-main);border-bottom:1px solid var(--border-light);align-items:center;gap:10px;margin:0 0 20px;padding-bottom:12px;font-size:1.15rem;font-weight:800;display:flex}.calc-field-group{margin-bottom:22px}.calc-field-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calc-field-header label{color:var(--text-secondary);font-size:.88rem;font-weight:700}.calc-unit-pill{color:var(--text-muted);background:var(--bg-card-hover);border:1px solid var(--border);border-radius:999px;padding:3px 8px;font-size:.78rem;font-weight:800}.calc-input-wrapper{align-items:center;display:flex;position:relative}.calc-main-input{border-radius:var(--radius-sm);border:1.5px solid var(--border-input);background:var(--bg-input);width:100%;color:var(--text-main);outline:none;padding:12px 60px 12px 14px;font-size:1.15rem;font-weight:800;transition:all .2s}.calc-main-input:focus{background:var(--bg-card);border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.calc-input-suffix{color:var(--text-muted);pointer-events:none;font-size:.85rem;font-weight:800;position:absolute;right:14px}.calc-chip-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.calc-chip-btn{background:var(--bg-card-hover);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-xs);cursor:pointer;padding:5px 10px;font-size:.78rem;font-weight:700;transition:all .15s}.calc-chip-btn:hover{border-color:var(--border-input);color:var(--text-main);background:#f1f5f9}.calc-chip-btn.active{color:#fff;background:#0284c7;border-color:#0284c7;font-weight:800}.calc-biocide-selector{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.calc-biocide-btn{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-card-hover);cursor:pointer;text-align:left;align-items:center;gap:12px;padding:14px 12px;transition:all .2s;display:flex}.calc-biocide-btn:hover{border-color:var(--border-input);background:var(--bg-card)}.calc-biocide-btn.active{background:#f5f3ff;border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed26}.calc-biocide-btn strong{color:var(--text-main);font-size:.88rem;font-weight:800;display:block}.calc-biocide-btn span{color:var(--text-muted);font-size:.75rem;font-weight:600;display:block}.calc-ph-slider-box{background:var(--bg-card-hover);border-radius:var(--radius-sm);border:1px solid var(--border-light);padding:14px 16px}.calc-ph-title{align-items:center;gap:6px;display:inline-flex}.calc-ph-badge{letter-spacing:.5px;border-radius:999px;padding:4px 12px;font-size:.9rem;font-weight:900}.calc-ph-badge.state-optimo{color:#15803d;background:#dcfce7}.calc-ph-badge.state-bueno{color:#047857;background:#ecfdf5}.calc-ph-badge.state-insuficiente{color:#b45309;background:#fef3c7}.calc-ph-badge.state-muy_deficiente{color:#b91c1c;background:#fee2e2}.calc-ph-badge.state-ineficaz{color:#fff;background:#7f1d1d}.calc-slider-input{accent-color:#0284c7;cursor:pointer;width:100%;height:8px;margin:12px 0 6px}.calc-slider-ticks{color:var(--text-muted);justify-content:space-between;font-size:.72rem;font-weight:600;display:flex}.calc-formula-footer{background:var(--bg-card-hover);border-radius:var(--radius-sm);border:1px dashed var(--border);flex-direction:column;gap:4px;margin-top:20px;padding:12px 14px;display:flex}.calc-formula-badge{color:var(--text-muted);letter-spacing:.5px;font-size:.7rem;font-weight:800}.calc-formula-footer code{color:var(--text-main);font-family:monospace;font-size:.85rem;font-weight:700}.calc-panel-results{flex-direction:column;gap:18px;display:flex}.calc-result-card{background:var(--bg-card);border-radius:var(--radius-lg);border:2px solid var(--border-light);padding:24px;transition:all .25s;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000d}.calc-result-card.border-optimo{border-color:#22c55e}.calc-result-card.border-bueno{border-color:#10b981}.calc-result-card.border-insuficiente{border-color:#f59e0b}.calc-result-card.border-muy_deficiente{border-color:#ef4444}.calc-result-card.border-ineficaz{border-color:#991b1b}.calc-result-badge{letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px;font-size:.74rem;font-weight:900;display:inline-block}.calc-result-big-number{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.calc-result-big-number strong{color:var(--text-main);font-size:3.2rem;font-weight:950;line-height:1}.calc-result-big-number span{color:#0284c7;font-size:1.4rem;font-weight:800}.calc-result-subtext{color:var(--text-muted);margin:0 0 16px;font-size:.86rem;font-weight:500}.calc-compare-row{border-top:1px dashed var(--border);grid-template-columns:1fr 1fr;gap:12px;padding-top:14px;display:grid}.calc-compare-item span{color:var(--text-muted);margin-bottom:2px;font-size:.75rem;font-weight:600;display:block}.calc-compare-item strong{color:var(--text-main);font-size:1.05rem;font-weight:800}.calc-tag-factor{border-radius:var(--radius-xs);padding:2px 8px;display:inline-block;font-weight:900!important}.calc-tag-factor.state-optimo{color:#15803d;background:#dcfce7}.calc-tag-factor.state-bueno{color:#047857;background:#ecfdf5}.calc-tag-factor.state-insuficiente{color:#b45309;background:#fef3c7}.calc-tag-factor.state-muy_deficiente{color:#b91c1c;background:#fee2e2}.calc-tag-factor.state-ineficaz{color:#fff;background:#7f1d1d}.calc-diagnostic-card{border-radius:var(--radius-md);border:1px solid var(--border);padding:16px 18px}.calc-diagnostic-card.state-optimo{background:#f0fdf4;border-color:#86efac}.calc-diagnostic-card.state-bueno{background:#f0fdf4;border-color:#a7f3d0}.calc-diagnostic-card.state-insuficiente{background:#fffbeb;border-color:#fde68a}.calc-diagnostic-card.state-muy_deficiente{background:#fef2f2;border-color:#fecaca}.calc-diagnostic-card.state-ineficaz{background:#fef2f2;border-color:#fca5a5}.calc-diag-top{align-items:flex-start;gap:12px;display:flex}.calc-diag-icon{flex-shrink:0;margin-top:2px}.calc-diag-header h4{color:var(--text-main);margin:0 0 4px;font-size:.98rem;font-weight:800}.calc-diag-header p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.4}.calc-acid-callout{border-radius:var(--radius-xs);color:#991b1b;background:#ef444414;border-left:3px solid #ef4444;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;font-size:.82rem;line-height:1.4;display:flex}.calc-ph-table-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px}.calc-ph-table-card h5{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:.85rem;font-weight:800}.calc-ph-mini-table{flex-direction:column;gap:4px;display:flex}.calc-ph-row{border-radius:var(--radius-xs);color:var(--text-secondary);grid-template-columns:70px 60px 120px 1fr;align-items:center;padding:6px 10px;font-size:.82rem;transition:all .15s;display:grid}.calc-ph-row.highlight{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;font-weight:700}.calc-ph-row .col-ph{font-weight:800}.calc-ph-row .col-factor{font-family:monospace;font-weight:700}.calc-ph-row .col-eff.opt{color:#16a34a;font-weight:800}.calc-ph-row .col-eff.good{color:#059669;font-weight:800}.calc-ph-row .col-eff.warn{color:#d97706;font-weight:800}.calc-ph-row .col-eff.bad{color:#dc2626;font-weight:800}.calc-ph-row .col-eff.crit{color:#991b1b;font-weight:800}.calc-ph-row .col-desc{color:var(--text-muted);font-size:.76rem}.calc-neutral-results-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.calc-neutral-card{background:var(--bg-card);border-radius:var(--radius-md);border:1.5px solid var(--border-light);padding:20px;box-shadow:0 4px 14px #0000000a}.calc-neutral-card.primary{border-color:#8b5cf6}.calc-neutral-card.secondary{border-color:#10b981}.calc-neutral-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calc-neutral-head span{color:var(--text-muted);letter-spacing:.5px;font-size:.74rem;font-weight:800}.calc-neutral-val{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.calc-neutral-val strong{color:var(--text-main);font-size:2.4rem;font-weight:950;line-height:1}.calc-neutral-val .unit{color:var(--text-secondary);font-size:1.1rem;font-weight:800}.calc-neutral-sub{color:var(--text-muted);margin:0;font-size:.82rem}.calc-neutral-sub strong{color:var(--text-main);font-weight:800}.calc-info-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px 20px}.calc-info-title{align-items:center;gap:8px;margin-bottom:12px;display:flex}.calc-info-title h5{color:var(--text-main);margin:0;font-size:.95rem;font-weight:800}.calc-info-list{color:var(--text-secondary);flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:.85rem;line-height:1.45;display:flex}.calc-plagas-summary-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1.5px solid #fecdd3;padding:24px;box-shadow:0 4px 18px #f43f5e14}.calc-plagas-badge{color:#e11d48;letter-spacing:.6px;margin-bottom:14px;font-size:.74rem;font-weight:900;display:inline-block}.calc-plagas-big-stat{align-items:center;gap:16px;margin-bottom:22px;display:flex}.calc-plagas-stat-box{background:var(--bg-card-hover);border-radius:var(--radius-md);border:1px solid var(--border-light);text-align:center;flex:1;padding:16px}.calc-plagas-stat-box.product{background:#fff1f2;border-color:#fecdd3}.calc-plagas-stat-box.water{background:#f0f9ff;border-color:#bae6fd}.calc-plagas-stat-box .stat-label{letter-spacing:.5px;margin-bottom:4px;font-size:.75rem;font-weight:800;display:block}.calc-plagas-stat-box.product .stat-label{color:#e11d48}.calc-plagas-stat-box.water .stat-label{color:#0284c7}.calc-plagas-stat-box .stat-val{margin-bottom:2px;font-size:2.1rem;font-weight:950;line-height:1.1;display:block}.calc-plagas-stat-box.product .stat-val{color:#be123c}.calc-plagas-stat-box.water .stat-val{color:#0369a1}.calc-plagas-stat-box .stat-sub{color:var(--text-muted);font-size:.8rem;font-weight:600}.calc-plagas-plus{color:var(--text-muted);font-size:1.8rem;font-weight:900}.calc-tank-visual{background:var(--bg-card-hover);border-radius:var(--radius-sm);border:1px solid var(--border-light);padding:14px}.calc-tank-bar{background:#e2e8f0;border-radius:8px;height:38px;display:flex;overflow:hidden;box-shadow:inset 0 2px 4px #00000014}.calc-tank-water{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(135deg,#38bdf8,#0284c7);justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;font-weight:800;transition:width .3s;display:flex;overflow:hidden}.calc-tank-product{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(135deg,#f43f5e,#be123c);justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;font-weight:800;transition:width .3s;display:flex;overflow:hidden}.calc-tank-footer{color:var(--text-secondary);justify-content:space-between;margin-top:10px;font-size:.82rem;display:flex}.calc-tank-footer strong{color:var(--text-main)}.calc-example-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px 20px}.calc-example-title{align-items:center;gap:8px;margin-bottom:10px;display:flex}.calc-example-title h5{color:var(--text-main);margin:0;font-size:.95rem;font-weight:800}.calc-example-steps{color:var(--text-secondary);flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:.85rem;line-height:1.45;display:flex}.calc-norm-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.calc-norm-pills{flex-wrap:wrap;gap:8px;display:flex}.calc-norm-filter-btn{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:.84rem;font-weight:700;transition:all .2s;display:inline-flex}.calc-norm-filter-btn:hover{background:var(--bg-card-hover);color:var(--text-main)}.calc-norm-filter-btn.active{color:#fff;background:#0f766e;border-color:#0f766e;box-shadow:0 2px 8px #0f766e4d}.calc-norm-search{background:var(--bg-card);border:1px solid var(--border-input);border-radius:var(--radius-sm);align-items:center;min-width:280px;padding:0 12px;transition:all .2s;display:flex;position:relative}.calc-norm-search:focus-within{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e26}.calc-norm-search input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;padding:8px;font-size:.88rem}.calc-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.calc-norm-cards-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:18px;display:grid}.calc-param-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);flex-direction:column;justify-content:space-between;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000a}.calc-param-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.calc-param-card.has-cierre{border-top:3px solid #dc2626}.calc-param-header{background:var(--bg-card-hover);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.calc-param-sys-badge{text-transform:uppercase;letter-spacing:.5px;color:#0f766e;margin-bottom:2px;font-size:.7rem;font-weight:800;display:inline-block}.calc-param-title-wrap h4{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:900}.calc-param-freq-badge{background:var(--bg-card);color:var(--text-muted);border-radius:var(--radius-xs);border:1px solid var(--border);white-space:nowrap;padding:3px 8px;font-size:.72rem;font-weight:700}.calc-param-body{flex-direction:column;gap:12px;padding:16px;display:flex}.calc-param-metric-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.calc-metric-box{border-radius:var(--radius-xs);flex-direction:column;padding:10px 12px;display:flex}.calc-metric-box .lbl{letter-spacing:.4px;margin-bottom:3px;font-size:.68rem;font-weight:800}.calc-metric-box.ok{background:#f0fdf4;border:1px solid #bbf7d0}.calc-metric-box.ok .lbl{color:#15803d}.calc-metric-box.ok .val{color:#166534;font-size:.95rem;font-weight:900}.calc-metric-box.alarm{background:#fffbeb;border:1px solid #fde68a}.calc-metric-box.alarm .lbl{color:#b45309}.calc-metric-box.alarm .val-text{color:#92400e;font-size:.78rem;font-weight:700;line-height:1.35}.calc-cierre-alert{border-radius:var(--radius-xs);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;display:flex}.calc-actions-block{border-top:1px dashed var(--border-light);flex-direction:column;gap:8px;padding-top:10px;display:flex}.calc-action-item{flex-direction:column;gap:2px;display:flex}.action-tag{font-size:.68rem;font-weight:800;display:inline-block}.action-tag.bajo{color:#0284c7}.action-tag.alto{color:#dc2626}.calc-action-item p{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.35}.calc-empty-norm{text-align:center;color:var(--text-muted);padding:60px 20px}.calc-empty-norm p{margin-top:10px;font-size:.95rem;font-weight:600}@media (width<=860px){.calc-grid-2col{grid-template-columns:1fr;gap:18px}.calc-norm-toolbar{flex-direction:column;align-items:stretch}.calc-norm-search{width:100%}.calc-norm-cards-grid{grid-template-columns:1fr}.calc-ph-mini-table .calc-ph-row{grid-template-columns:55px 50px 105px 1fr;font-size:.76rem}}@media (width<=600px){.calc-pills-nav{flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto}.calc-nav-pill{flex-shrink:0;padding:8px 14px;font-size:.85rem}.calc-biocide-selector,.calc-neutral-results-grid{grid-template-columns:1fr}.calc-plagas-big-stat{flex-direction:column;gap:10px}.calc-plagas-plus{display:none}.calc-param-metric-row{grid-template-columns:1fr}.calc-ph-mini-table .calc-ph-row{grid-template-columns:50px 45px 95px 1fr;padding:4px 6px}.calc-ph-mini-table .col-desc{display:none}}
