@import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800&display=swap";:root{--bg-base: #f4f6fb;--bg-card: #ffffff;--bg-input: #ffffff;--bg-input-hover: #f9fafb;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-link: #2563eb;--accent-primary: #2563eb;--accent-primary-hover: #1d4ed8;--accent-gradient: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--btn-dark: #111827;--btn-dark-hover: #1f2937;--border-color: #e5e7eb;--border-focus: #2563eb;--error: #ef4444;--error-bg: #fef2f2;--success: #10b981;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .06);--shadow-glow: 0 0 0 3px rgba(37, 99, 235, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-base);background-image:radial-gradient(ellipse at 20% 50%,rgba(37,99,235,.07) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(124,58,237,.06) 0%,transparent 50%);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}#root{min-height:100vh;display:flex;flex-direction:column}.glass-panel{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary)}a{color:var(--text-link);text-decoration:none;transition:var(--transition-fast) color}a:hover{text-decoration:underline}input,textarea{font-family:inherit}button{cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;border:none;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}select{font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-wrapper{width:100%}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-header{text-align:center;margin-bottom:.5rem}.title{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:.4rem}.subtitle{font-size:.9rem;color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.4rem}.input-group label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.9rem;width:1.1rem;height:1.1rem;color:var(--text-muted);transition:color var(--transition-fast);pointer-events:none}.input-with-icon input{width:100%;padding:.7rem 1rem .7rem 2.6rem;background-color:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;transition:all var(--transition-fast)}.input-with-icon input::placeholder{color:var(--text-muted)}.input-with-icon input:hover{border-color:#d1d5db;background:var(--bg-input-hover)}.input-with-icon input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-glow);background:var(--bg-input)}.input-with-icon input:focus~.input-icon,.input-with-icon input:not(:placeholder-shown)~.input-icon{color:var(--accent-primary)}.input-error{border-color:var(--error)!important}.input-error:focus{box-shadow:0 0 0 3px #ef44441a!important}.error-message{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background-color:var(--error-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:#b91c1c;font-size:.85rem;animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.error-message svg{width:1.1rem;height:1.1rem;flex-shrink:0;color:var(--error)}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}.form-actions-row{display:flex;justify-content:space-between;align-items:center}.checkbox-container{display:flex;align-items:center;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;color:var(--text-secondary)}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{display:flex;align-items:center;justify-content:center;height:1.1rem;width:1.1rem;background-color:#fff;border:1.5px solid var(--border-color);border-radius:.25rem;margin-right:.5rem;transition:all var(--transition-fast)}.checkbox-container:hover .checkmark{border-color:var(--accent-primary)}.checkbox-container input:checked~.checkmark{background-color:var(--accent-primary);border-color:var(--accent-primary)}.checkmark:after{content:"";display:none;width:4px;height:7px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:1px}.checkbox-container input:checked~.checkmark:after{display:block}.submit-btn{background:var(--btn-dark);color:#fff;font-weight:600;font-size:.95rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);margin-top:.25rem;display:flex;justify-content:center;align-items:center;gap:.5rem;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);width:100%}.submit-btn:hover:not(:disabled){background:var(--btn-dark-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.loader{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-bottom-color:#fff;border-radius:50%;display:inline-block;animation:rotation .8s linear infinite}.form-footer{margin-top:1.25rem}.divider{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:.8rem;margin-bottom:1.25rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.divider span{padding:0 .75rem}.help-section{display:flex;flex-direction:column;align-items:center;gap:.75rem;background-color:#f9fafb;padding:1.25rem;border-radius:var(--radius-md);border:1px solid var(--border-color)}.help-text{font-size:.875rem;color:var(--text-secondary)}.text-btn{color:var(--text-link);font-weight:500;font-size:.9rem;transition:var(--transition-fast)}.text-btn:hover{text-decoration:underline}.text-btn.outline{padding:.55rem 1.25rem;border:1.5px solid var(--border-color);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);font-size:.875rem}.text-btn.outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#fff}.forgot-wrapper{display:flex;flex-direction:column}.forgot-actions{display:flex;gap:.75rem;margin-top:1rem}.forgot-actions button{flex:1}.back-btn{background:#fff;color:var(--text-primary);font-weight:600;font-size:.95rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);border:1.5px solid var(--border-color);transition:all var(--transition-fast)}.back-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.success-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);gap:1.25rem}.success-icon{width:56px;height:56px;background:#dcfce7;color:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg{width:28px;height:28px}.success-message{color:#166534;font-size:.95rem;line-height:1.6}.success-state .submit-btn{width:100%}.ticket-form-card{width:100%;max-width:560px}.ticket-success-card{width:100%;max-width:480px;align-items:center;text-align:center;padding:3rem 2rem}.success-icon.lg{width:72px;height:72px;background:#dcfce7;color:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275)}.success-icon.lg svg{width:36px;height:36px}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.form-header.left-align{text-align:left;display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}.header-icon{width:44px;height:44px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 3px 10px #2563eb40}.header-icon svg{width:22px;height:22px}.grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:2rem}.mb-4{margin-bottom:1.5rem}.text-center{text-align:center}.full-width{width:100%}.custom-textarea{width:100%;padding:.7rem 1rem;background-color:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;font-family:inherit;resize:vertical;min-height:110px;transition:all var(--transition-fast)}.custom-textarea::placeholder{color:var(--text-muted)}.custom-textarea:hover{border-color:#d1d5db}.custom-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-glow)}.char-count{display:block;text-align:right;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.ticket-details-box{width:100%;background:#f9fafb;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-row.flex-col{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-row.highlight{background:#eff6ff}.label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.value{color:var(--text-primary);font-weight:600}.text-accent{color:var(--accent-primary);font-size:1.1rem}.badge{background:#dcfce7;color:#166534;padding:.2rem .65rem;border-radius:20px;font-size:.8rem;font-weight:600;border:1px solid #bbf7d0}.box-text{width:100%;background:#fff;padding:.65rem;border-radius:var(--radius-sm);font-weight:400;font-size:.9rem;color:var(--text-secondary);text-align:left;line-height:1.5;border:1px solid var(--border-color)}.pl-1{padding-left:1rem!important}.tf-step-label{display:flex;align-items:center;gap:.6rem;font-size:.82rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.tf-step-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent-primary, #2563eb);color:#fff;font-size:.72rem;font-weight:800;flex-shrink:0}.tf-validate-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1.25rem;background:#0f172a;color:#fff;border:none;border-radius:var(--radius-md, .5rem);font-size:.9rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,opacity .15s;margin-top:.25rem}.tf-validate-btn:hover:not(:disabled){background:#1e293b}.tf-validate-btn:disabled{opacity:.6;cursor:not-allowed}.tf-validate-btn.loading{opacity:.7}.loader--sm{width:14px;height:14px;border-width:2px}.tf-machine-card{border:1.5px solid #bbf7d0;border-radius:var(--radius-md, .5rem);background:#f0fdf4;overflow:hidden;margin-top:.25rem}.tf-machine-card-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.1rem;background:#dcfce7;border-bottom:1px solid #bbf7d0}.tf-machine-card-title{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;color:#15803d}.tf-verified-badge{display:inline-flex;align-items:center;gap:.3rem;background:#16a34a;color:#fff;font-size:.72rem;font-weight:700;padding:.2rem .65rem;border-radius:999px;letter-spacing:.03em}.tf-machine-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.tf-machine-field{display:flex;flex-direction:column;gap:.2rem;padding:.65rem 1.1rem;border-bottom:1px solid #d1fae5;border-right:1px solid #d1fae5}.tf-machine-field:nth-child(2n){border-right:none}.tf-machine-field:nth-last-child(-n+2){border-bottom:none}.tf-machine-field:last-child:nth-child(odd){grid-column:1 / -1;border-right:none}.tf-field-label{font-size:.68rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.tf-field-value{font-size:.88rem;font-weight:600;color:#111827}.tf-mono{font-family:Courier New,Consolas,monospace;color:#15803d}.tf-poliza-badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700}.tf-no-poliza{font-size:.82rem;color:#9ca3af;font-weight:500}.tf-revalidate-btn{display:flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;color:#6b7280;padding:.6rem 1.1rem;transition:color .15s;border-top:1px solid #d1fae5;width:100%}.tf-revalidate-btn:hover{color:#374151}.tf-ticket-section{display:flex;flex-direction:column;gap:0;padding-top:.5rem;border-top:1px solid var(--border-color, #e5e7eb);margin-top:.5rem}.submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem}@media(max-width:640px){.grid-2-col,.tf-machine-grid{grid-template-columns:1fr}.tf-machine-field{border-right:none}.tf-machine-field:nth-last-child(-n+2){border-bottom:1px solid #d1fae5}.tf-machine-field:last-child{border-bottom:none}}.dashboard-layout{display:flex;min-height:100vh;background:#f4f6fb}.sidebar{width:240px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:transform .25s cubic-bezier(.4,0,.2,1)}.sidebar-logo{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid #f3f4f6}.sidebar-logo-img{max-width:130px;height:auto}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:2px;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:.5rem;color:#6b7280;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s ease;cursor:pointer}.nav-item:hover{background:#e5e7eb;color:#1f2937;text-decoration:none}.nav-item.active{background:#eff6ff;color:#2563eb;font-weight:600}.nav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-icon svg{width:18px;height:18px}.nav-label{white-space:nowrap}.sidebar-footer{padding:.85rem 1rem;border-top:1px solid #f3f4f6;display:flex;align-items:center;gap:.5rem}.user-chip{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.user-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.875rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:#9ca3af}.logout-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#9ca3af;border-radius:.375rem;transition:all .15s ease;cursor:pointer;flex-shrink:0}.logout-btn:hover{background:#fef2f2;color:#ef4444}.logout-btn svg{width:18px;height:18px}.sidebar-overlay{position:fixed;inset:0;background:#0000004d;z-index:99;display:none}.dashboard-main{flex:1;margin-left:240px;min-height:100vh;display:flex;flex-direction:column}.topbar{display:none;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:#fff;border-bottom:1px solid #e5e7eb;position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar-logo{max-width:110px;height:auto}.hamburger{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#6b7280;border-radius:.375rem;cursor:pointer;transition:background .15s}.hamburger:hover{background:#f3f4f6}.hamburger svg{width:20px;height:20px}.dashboard-content{flex:1;padding:2rem}@media(max-width:768px){.sidebar{transform:translate(-100%);box-shadow:4px 0 24px #0000001a}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.dashboard-main{margin-left:0}.topbar{display:flex}.dashboard-content{padding:1.25rem}}@media(max-width:420px){.dashboard-content{padding:1rem .75rem}}.scroll-picker{display:flex;flex-direction:column;align-items:center;user-select:none;-webkit-user-select:none}.scroll-picker-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600}.scroll-picker-viewport{position:relative;width:64px;overflow:hidden;cursor:grab;border-radius:12px;background:#f8fafc}.scroll-picker-viewport:active{cursor:grabbing}.scroll-picker-track{will-change:transform;transition:none;position:relative;z-index:1}.scroll-picker-item{display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:500;color:#94a3b8;transition:color .15s,font-size .15s;font-variant-numeric:tabular-nums}.scroll-picker-item.active{color:#1e293b;font-size:1.5rem;font-weight:700}.scroll-picker-highlight{position:absolute;left:4px;right:4px;background:#e0e7ff;border-radius:8px;border:2px solid #818cf8;z-index:0;pointer-events:none}.scroll-picker-fade{position:absolute;left:0;right:0;height:60px;z-index:2;pointer-events:none}.scroll-picker-fade-top{top:0;background:linear-gradient(to bottom,rgba(248,250,252,.95),transparent)}.scroll-picker-fade-bottom{bottom:0;background:linear-gradient(to top,rgba(248,250,252,.95),transparent)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.25rem;color:#1e293b}.modal-close{background:transparent;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;line-height:1;padding:4px;border-radius:4px;transition:all .2s}.modal-close:hover{color:#ef4444;background:#fee2e2}.modal-body{padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e2e8f0}.btn-secondary{padding:10px 16px;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-primary{padding:10px 20px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #2563eb33}.btn-primary:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 6px #2563eb4d}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.primer-contacto-modal{max-width:650px;width:95%}.pc-info-panel{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px;background:#f8fafc;border-radius:8px;margin-bottom:20px}.pc-info-group label{font-size:.8rem;color:#64748b;margin-bottom:4px;display:block;font-weight:500}.pc-info-group p{font-size:.95rem;color:#1e293b;margin:0;font-weight:600}.pc-machine-panel{margin-bottom:20px;padding:15px;background:#e0e7ff;border-radius:8px;border-left:4px solid #4338ca}.pc-machine-panel h3{margin:0 0 10px;font-size:.9rem;color:#4338ca;text-transform:uppercase;letter-spacing:.5px}.pc-machine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;font-size:.9rem;color:#334155}.pc-loading,.pc-empty{font-size:.9rem;color:#64748b;margin:0}.pc-form .form-group{margin-bottom:15px}.pc-form textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;box-sizing:border-box}.pc-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pc-last-counter{font-weight:400;color:#4338ca;font-size:.8rem}.pc-form input[type=number]{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;font-family:inherit;box-sizing:border-box}.pc-form input[type=number]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pc-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:0}.pc-field-half{margin-bottom:15px}.pc-form select{width:100%;padding:10px 30px 10px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;font-family:inherit;box-sizing:border-box;background:#fff;color:#1e293b;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.pc-form select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pc-form select:disabled{background-color:#f1f5f9;color:#94a3b8;cursor:not-allowed}.pc-time-picker{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.pc-time-separator{font-size:2rem;font-weight:700;color:#475569;margin-top:20px}.pc-error{background:#fee2e2;color:#b91c1c;padding:10px 15px;border-radius:6px;font-size:.9rem;margin-bottom:15px;border-left:3px solid #ef4444}@media(max-width:500px){.pc-inline-fields{grid-template-columns:1fr}}.dp-container{position:relative;display:inline-block;width:100%}.dp-input{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border:1.5px solid #e5e7eb;border-radius:.45rem;background:#fff;cursor:pointer;font-size:.875rem;color:#111827;font-family:inherit;transition:border-color .15s,box-shadow .15s;min-height:38px;box-sizing:border-box;-webkit-user-select:none;user-select:none}.dp-input:hover{border-color:#d1d5db}.dp-input:focus-within,.dp-container.dp-open .dp-input{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.dp-icon{width:16px;height:16px;flex-shrink:0;color:#9ca3af}.dp-display{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-placeholder{color:#9ca3af}.dp-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:#9ca3af;cursor:pointer;border-radius:50%;padding:0;flex-shrink:0;transition:color .15s,background .15s}.dp-clear:hover{color:#ef4444;background:#fef2f2}.dp-chevron{width:14px;height:14px;flex-shrink:0;color:#9ca3af;transition:transform .15s}.dp-cal{position:absolute;top:calc(100% + 4px);left:0;z-index:1100;width:280px;background:#fff;border:1px solid #e5e7eb;border-radius:.6rem;box-shadow:0 8px 30px #0000001f;padding:.6rem;animation:dpFadeIn .15s ease-out}.dp-cal--above{top:auto;bottom:calc(100% + 4px)}@keyframes dpFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dp-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem;padding:0 .15rem}.dp-nav-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:.35rem;padding:0;transition:background .12s,color .12s}.dp-nav-btn:hover{background:#f3f4f6;color:#111827}.dp-month-year{border:none;background:none;font-size:.85rem;font-weight:600;color:#111827;cursor:pointer;padding:.3rem .6rem;border-radius:.35rem;transition:background .12s;font-family:inherit}.dp-month-year:hover{background:#f3f4f6}.dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.2rem}.dp-wd{text-align:center;font-size:.7rem;font-weight:600;color:#9ca3af;padding:.2rem 0;text-transform:uppercase}.dp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.dp-day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;background:none;font-size:.8rem;color:#374151;cursor:pointer;border-radius:50%;padding:0;font-family:inherit;transition:background .1s,color .1s}.dp-day:hover:not(.dp-empty){background:#eff6ff;color:#2563eb}.dp-day.dp-empty{cursor:default}.dp-today{font-weight:700;color:#2563eb;background:#eff6ff}.dp-selected{background:#2563eb!important;color:#fff!important;font-weight:600}.dp-year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:.3rem 0;max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch}.dp-year-cell{display:flex;align-items:center;justify-content:center;border:none;background:none;font-size:.8rem;color:#374151;cursor:pointer;padding:.45rem 0;border-radius:.35rem;font-family:inherit;transition:background .1s}.dp-year-cell:hover{background:#eff6ff;color:#2563eb}.dp-year-active{background:#2563eb!important;color:#fff!important;font-weight:600}.dp-year-today{font-weight:700;color:#2563eb}.dp-footer{display:flex;justify-content:center;padding-top:.4rem;border-top:1px solid #f3f4f6;margin-top:.4rem}.dp-today-btn{border:none;background:none;font-size:.78rem;font-weight:600;color:#2563eb;cursor:pointer;padding:.3rem .8rem;border-radius:.3rem;font-family:inherit;transition:background .12s}.dp-today-btn:hover{background:#eff6ff}@media(max-width:420px){.dp-cal{width:260px;left:50%;transform:translate(-50%)}.dp-cal--above{transform:translate(-50%)}}.dashboard-home{display:flex;flex-direction:column;gap:1.75rem;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start}.page-title{font-size:1.6rem;font-weight:800;color:#111827;margin-bottom:.2rem}.page-sub{font-size:.9rem;color:#6b7280}.page-sub strong{color:#374151}.refresh-btn{width:38px;height:38px;border-radius:.5rem;background:#fff;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .15s}.refresh-btn:hover{background:#f3f4f6;color:#111827}.refresh-btn svg{width:18px;height:18px}.filters-bar{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem}.filter-group{display:flex;flex-direction:column;gap:.3rem}.filter-group label{font-size:.78rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.filter-group input[type=date],.filter-group input[type=number]{padding:.5rem .75rem;border:1.5px solid #e5e7eb;border-radius:.5rem;color:#111827;font-size:.875rem;font-family:inherit;background:#fff;transition:border-color .15s}.filter-group input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.filter-group.checkbox-filter label{display:flex;align-items:center;gap:.5rem;text-transform:none;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;padding:.5rem 0}.filter-group.checkbox-filter input{width:16px;height:16px;accent-color:#2563eb}.apply-btn{padding:.55rem 1.25rem;background:#111827;color:#fff;font-weight:600;font-size:.875rem;border-radius:.5rem;cursor:pointer;transition:all .15s;border:none;align-self:flex-end}.apply-btn:hover{background:#1f2937}.dash-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:#6b7280;font-size:.95rem}.dash-error{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#b91c1c;font-size:.9rem}.dash-error svg{width:20px;height:20px;flex-shrink:0}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:box-shadow .15s}.stat-card:hover{box-shadow:0 4px 12px #0000000f}.stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:22px;height:22px}.stat-blue .stat-icon{background:#eff6ff;color:#2563eb}.stat-amber .stat-icon{background:#fffbeb;color:#d97706}.stat-green .stat-icon{background:#f0fdf4;color:#16a34a}.stat-red .stat-icon{background:#fef2f2;color:#dc2626}.stat-teal .stat-icon{background:#f0fdfa;color:#0d9488}.stat-orange .stat-icon{background:#fff7ed;color:#ea580c}.stat-ocupacion .stat-icon{background:#faf5ff;color:#7c3aed}.stat-contacto .stat-icon{background:#ecfdf5;color:#059669}.stat-body{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:800;color:#111827;line-height:1.1}.stat-label{font-size:.8rem;color:#6b7280;margin-top:.2rem}.stat-sub{font-size:.72rem;color:#9ca3af;margin-top:.1rem}.pc-ok{color:#16a34a;font-weight:600}.pc-warn{color:#dc2626;font-weight:600}.tec-cards-section{display:flex;flex-direction:column;gap:.75rem}.tec-cards-title{font-size:1.05rem;font-weight:700;color:#111827}.tec-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.85rem}.tec-card{display:flex;flex-direction:column;gap:.65rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem 1.15rem;transition:box-shadow .15s,border-color .15s}.tec-card:hover{box-shadow:0 4px 14px #0000000f;border-color:#d1d5db}.tec-card-top{display:flex;align-items:center;gap:.75rem}.tec-card-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#eff6ff;display:flex;align-items:center;justify-content:center}.tec-card-avatar img{width:100%;height:100%;object-fit:cover}.tec-card-initials{font-size:.82rem;font-weight:700;color:#2563eb;letter-spacing:.02em}.tec-card-info{display:flex;flex-direction:column;min-width:0;flex:1}.tec-card-name{font-size:.88rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tec-card-hours{font-size:.75rem;color:#6b7280}.tec-card-pct{font-size:1.1rem;font-weight:800;border:2px solid;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.tec-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;border-top:1px solid #f3f4f6;padding-top:.6rem}.tec-metric{display:flex;flex-direction:column;align-items:center;gap:.1rem}.tec-metric-val{font-size:1.15rem;font-weight:800;color:#111827;line-height:1.1}.tec-metric-lbl{font-size:.68rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.tec-card-bar-section{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid #f3f4f6;padding-top:.5rem}.tec-bar-label{font-size:.72rem;color:#6b7280;font-weight:500;white-space:nowrap}.tec-bar-row{display:flex;gap:.4rem}.tec-tag{font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:10px;min-width:28px;text-align:center}.tec-tag-ok{background:#f0fdf4;color:#16a34a}.tec-tag-warn{background:#fef2f2;color:#dc2626}@media(max-width:560px){.tec-cards-grid{grid-template-columns:1fr}}.tables-stack{display:flex;flex-direction:column;gap:1.25rem}.ticket-section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;border-top-width:3px}.border-blue{border-top-color:#2563eb}.border-red{border-top-color:#dc2626}.border-orange{border-top-color:#ea580c}.border-teal{border-top-color:#0d9488}.border-green{border-top-color:#16a34a}.border-purple{border-top-color:#7c3aed}.section-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6}.section-title{font-size:.95rem;font-weight:700;color:#111827}.count-badge{font-size:.75rem;font-weight:700;padding:.15rem .6rem;border-radius:20px}.badge-blue{background:#eff6ff;color:#2563eb}.badge-red{background:#fef2f2;color:#dc2626}.badge-orange{background:#fff7ed;color:#ea580c}.badge-teal{background:#f0fdfa;color:#0d9488}.badge-green{background:#f0fdf4;color:#16a34a}.badge-purple{background:#faf5ff;color:#7c3aed}.table-wrapper{overflow-x:auto}.ticket-table{width:100%;border-collapse:collapse;font-size:.875rem}.ticket-table th{padding:.65rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;background:#fafafa;border-bottom:1px solid #f3f4f6}.ticket-table td{padding:.75rem 1rem;color:#374151;border-bottom:1px solid #f9fafb;vertical-align:top}.ticket-table tr:last-child td{border-bottom:none}.ticket-table tr:hover td{background:#f9fafb}.ticket-no{font-weight:700;color:#2563eb}.ticket-detalle{max-width:260px;color:#6b7280;font-size:.82rem}.hours-badge{padding:.2rem .6rem;border-radius:20px;font-size:.78rem;font-weight:600;white-space:nowrap}.hours-badge.low{background:#f0fdf4;color:#16a34a}.hours-badge.mid{background:#fffbeb;color:#d97706}.hours-badge.high{background:#fef2f2;color:#dc2626}.metrica-cell{text-align:center}.metrica-ok,.metrica-fail{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%}.metrica-ok{background:#f0fdf4;color:#16a34a}.metrica-fail{background:#fef2f2;color:#dc2626}.metrica-ok svg,.metrica-fail svg{width:15px;height:15px}.filter-row th{padding:.3rem .5rem .5rem;background:#fafafa;border-bottom:1px solid #e5e7eb}.col-filter{width:100%;padding:.3rem .5rem;border:1px solid #e5e7eb;border-radius:.35rem;font-size:.72rem;font-family:inherit;color:#374151;background:#fff;-webkit-appearance:none;transition:border-color .15s}.col-filter:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.col-filter-select{padding:.3rem .35rem;cursor:pointer}.col-filter::placeholder{color:#d1d5db}.clear-filters-btn{-webkit-appearance:none;margin-left:auto;padding:.2rem .6rem;font-size:.7rem;font-weight:600;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.35rem;cursor:pointer;transition:all .15s}.clear-filters-btn:hover{background:#e5e7eb;color:#374151}.empty-msg{padding:1.5rem 1.25rem;color:#9ca3af;font-size:.875rem}.contacto-btn{padding:.3rem .85rem;font-size:.78rem;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .15s}.contacto-btn:hover{background:#2563eb;color:#fff;border-color:#2563eb}.nuevo-reporte-btn{padding:.3rem .85rem;font-size:.78rem;font-weight:600;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .15s}.nuevo-reporte-btn:hover{background:#16a34a;color:#fff;border-color:#16a34a}.detenido-badge{display:inline-block;padding:.3rem .85rem;font-size:.78rem;font-weight:600;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:20px;white-space:nowrap;cursor:default}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:1.4rem}.filters-bar{flex-direction:column;align-items:flex-start}.apply-btn{width:100%}}@media(max-width:600px){.ticket-table thead{display:none}.ticket-table,.ticket-table tbody{display:block}.ticket-table tr{display:block;border-bottom:1px solid #e5e7eb;padding:.85rem 1rem}.ticket-table tr:last-child{border-bottom:none}.ticket-table tr:hover td{background:transparent}.ticket-table td{display:flex;align-items:baseline;gap:.5rem;padding:.25rem 0;border-bottom:none;font-size:.875rem;color:#374151}.ticket-table td:before{content:attr(data-label);min-width:72px;font-size:.68rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding-top:.1rem}.ticket-table td[data-label=Ticket]{padding-bottom:.6rem;margin-bottom:.35rem;border-bottom:1px solid #f3f4f6;align-items:center}.ticket-table td[data-label=Ticket]:before{display:none}.ticket-table td[data-label=Detalle]{align-items:flex-start}.ticket-detalle{max-width:none}.ticket-table td[data-label=""]{justify-content:flex-end;gap:.5rem;padding-top:.6rem;margin-top:.35rem;border-top:1px solid #f3f4f6}.ticket-table td[data-label=""]:before{display:none}}.parts-page{display:flex;flex-direction:column;gap:1.5rem;max-width:1000px;margin:0 auto}.parts-header{display:flex;align-items:flex-start;justify-content:space-between}.parts-title{font-size:1.6rem;font-weight:800;color:#111827;margin-bottom:.2rem}.parts-sub{font-size:.9rem;color:#6b7280}.parts-count{font-size:.8rem;font-weight:700;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;border-radius:20px;padding:.25rem .8rem;white-space:nowrap;align-self:center}.search-bar{display:flex;gap:.75rem}.search-input-wrap{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.85rem;width:18px;height:18px;color:#9ca3af;pointer-events:none}.search-input{width:100%;padding:.65rem 2.5rem;border:1.5px solid #e5e7eb;border-radius:.6rem;font-size:.9rem;color:#111827;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s}.search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.clear-btn{position:absolute;right:.75rem;font-size:.75rem;color:#9ca3af;cursor:pointer;background:none;border:none;padding:.2rem .3rem;border-radius:4px;transition:color .15s}.clear-btn:hover{color:#374151}.search-btn{padding:.65rem 1.25rem;background:#111827;color:#fff;font-weight:600;font-size:.875rem;border-radius:.6rem;cursor:pointer;border:none;transition:background .15s;white-space:nowrap}.search-btn:hover{background:#1f2937}.parts-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:#6b7280}.spin-ring{width:24px;height:24px;border:2px solid #e5e7eb;border-bottom-color:#2563eb;border-radius:50%;display:inline-block;animation:rotation .8s linear infinite}.parts-error{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#b91c1c;font-size:.9rem}.parts-error svg{width:20px;height:20px;flex-shrink:0}.parts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem 2rem;color:#9ca3af;text-align:center}.parts-empty svg{width:48px;height:48px;opacity:.4}.parts-empty p{font-size:.9rem}.parts-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.parts-table{width:100%;border-collapse:collapse;font-size:.9rem}.parts-table th{padding:.75rem 1.25rem;text-align:left;font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;background:#fafafa;border-bottom:1px solid #f3f4f6}.parts-table td{padding:.85rem 1.25rem;color:#374151;border-bottom:1px solid #f9fafb}.parts-table tr:last-child td{border-bottom:none}.parts-table tr:hover td{background:#f9fafb}.part-number{font-family:Courier New,monospace;font-weight:700;color:#2563eb;background:#eff6ff;padding:.2rem .55rem;border-radius:.35rem;font-size:.85rem;letter-spacing:.02em}.part-desc{color:#6b7280}@media(max-width:540px){.search-bar{flex-direction:column}.search-btn{width:100%}}.settings-page{display:flex;flex-direction:column;gap:1.75rem;max-width:720px;margin:0 auto}.settings-title{font-size:1.6rem;font-weight:800;color:#111827;margin-bottom:.2rem}.settings-sub{font-size:.9rem;color:#6b7280}.user-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem}.user-avatar-lg{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-card-name{font-size:1rem;font-weight:700;color:#111827}.user-card-role{font-size:.8rem;color:#2563eb;font-weight:600}.user-card-email{font-size:.82rem;color:#9ca3af;margin-top:.1rem}.email-loading{font-size:.78rem;color:#d1d5db;font-style:italic}.settings-sections{display:flex;flex-direction:column;gap:1.25rem}.settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.settings-card-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #f3f4f6;background:#fafafa}.settings-card-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-card-icon svg{width:20px;height:20px}.settings-card-icon.blue{background:#eff6ff;color:#2563eb}.settings-card-icon.amber{background:#fffbeb;color:#d97706}.settings-card-title{font-size:.95rem;font-weight:700;color:#111827}.settings-card-sub{font-size:.8rem;color:#9ca3af;margin-top:.1rem}.settings-form{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.settings-field{display:flex;flex-direction:column;gap:.35rem}.settings-field label{font-size:.8rem;font-weight:600;color:#374151}.settings-field input{padding:.65rem .9rem;border:1.5px solid #e5e7eb;border-radius:.5rem;font-size:.9rem;color:#111827;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s}.settings-field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.settings-error{font-size:.85rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:.4rem;padding:.55rem .85rem}.settings-success{font-size:.85rem;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.4rem;padding:.55rem .85rem}.settings-actions{display:flex;justify-content:flex-end}.settings-save-btn{padding:.65rem 1.5rem;background:#2563eb;color:#fff;font-weight:600;font-size:.875rem;border-radius:.5rem;border:none;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:.5rem;min-width:130px;justify-content:center}.settings-save-btn:hover:not(:disabled){background:#1d4ed8}.settings-save-btn.amber{background:#d97706}.settings-save-btn.amber:hover:not(:disabled){background:#b45309}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.btn-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-bottom-color:#fff;border-radius:50%;animation:rotation .8s linear infinite;display:inline-block}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.parametros-page{padding:2rem;max-width:1200px;margin:0 auto;width:100%;animation:fadeIn .4s ease-out}.parametros-tabs{display:flex;gap:1rem;margin-bottom:2rem;padding:.5rem;border-radius:var(--radius-lg);background:#fff;border:1px solid #e5e7eb;position:relative;flex-wrap:wrap;align-items:center}.param-tab{padding:.75rem 1.5rem;border:none;background:transparent;border-radius:var(--radius-md);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:.9rem;font-weight:500;line-height:1.4;color:#6b7280;cursor:pointer;transition:all .2s ease;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.param-tab:hover{color:#1f2937;background:#e5e7eb}.param-tab.active{background:#0a2540;color:#fff;box-shadow:0 4px 12px #0a254033}.param-dropdown{position:relative;display:inline-block}.param-tab-more{display:flex;align-items:center;gap:.25rem}.param-dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-md);box-shadow:0 10px 25px #00000026;z-index:1000;min-width:200px;margin-top:.5rem;overflow:hidden}.param-dropdown-item{display:block;width:100%;padding:.75rem 1rem;border:none;background:transparent;text-align:left;color:#6b7280;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.9rem;line-height:1.4;-webkit-appearance:none;-moz-appearance:none;appearance:none;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.param-dropdown-item:hover{background:#f3f4f6;color:#1f2937}.param-dropdown-item.active{background:#eff6ff;color:#0a2540;font-weight:600}.placeholder-tab{padding:4rem 2rem;text-align:center;color:var(--text-secondary);background:var(--bg-card);border-radius:var(--radius-lg);border:1px dashed var(--border-color);font-size:1.1rem}.tab-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.tab-toolbar h2{font-size:1.25rem;color:var(--text-primary);margin:0}.btn-add{display:inline-flex;align-items:center;gap:.5rem;background:#0a2540;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem}.btn-add:hover{background:#052d52;transform:translateY(-1px);box-shadow:0 4px 12px #0a25404d}.btn-icon-edit{color:#0a2540;background:#0a25401a;border:none;border-radius:var(--radius-sm);padding:.5rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.btn-icon-edit:hover{background:#0a2540;color:#fff}.btn-icon-suspend{color:#ef4444;background:#ef44441a;border:none;border-radius:var(--radius-sm);padding:.5rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.btn-icon-suspend:hover{background:#ef4444;color:#fff}.btn-icon-delete{color:#ef4444;background:#ef44441a;border:none;border-radius:var(--radius-sm);padding:.5rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.btn-icon-delete:hover{background:#ef4444;color:#fff}.status-badge{display:inline-flex;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.02em}.status-activo{background:#10b98126;color:var(--success-color)}.status-suspendido{background:#ef444426;color:var(--danger-color)}@media(max-width:768px){.parametros-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}.param-tab{flex:1 0 auto}.tab-toolbar{flex-direction:column;align-items:flex-start;gap:1rem}}.modal-header{background:var(--primary-color);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.form-group-param label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-group-param input,.form-group-param select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group-param input:focus,.form-group-param select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0a25401a}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:#f8fafc;flex-shrink:0}.btn-cancel{padding:.75rem 1.5rem;border:1px solid #cbd5e1;background:#fff;color:#64748b;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:all .2s}.btn-submit{padding:.75rem 1.5rem;border:none;background:#0a2540;color:#fff;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;font-size:.95rem}.form-group-param input[type=checkbox]{width:auto;margin-right:.5rem;cursor:pointer}.form-group-param label{display:flex;align-items:center;font-weight:500;color:var(--text-primary);font-size:.9rem;cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#0a254066;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;width:90%;max-width:500px;border-radius:var(--radius-lg);box-shadow:0 10px 25px #0000001a;animation:slideUp .3s ease-out;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}form{display:flex;flex-direction:column;height:100%;overflow:hidden}.modal-header{background:#f3f4f6;color:#1f2937;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.2rem;font-weight:500}.close-btn{background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem;opacity:.8;transition:opacity .2s}.close-btn:hover{opacity:1}.modal-body{padding:1.5rem;flex:1;overflow-y:auto;min-height:0}.form-group-param{margin-bottom:1.25rem}.form-group-param label{display:block;margin-bottom:.5rem;font-weight:500;color:#1f2937;font-size:.9rem}.form-group-param input,.form-group-param textarea,.form-group-param select{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:.375rem;font-family:inherit;font-size:.95rem;transition:all .2s ease;color:#1f2937;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group-param input:focus,.form-group-param textarea:focus,.form-group-param select:focus{outline:none;border-color:#0a2540;box-shadow:0 0 0 3px #0a25401a}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f8fafc;flex-shrink:0}.btn-cancel{padding:.75rem 1.5rem;border:1px solid #cbd5e1;background:#fff;color:#64748b;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f8fafc;color:#334155;border-color:#94a3b8}.btn-submit{padding:.75rem 1.5rem;border:none;background:#0a2540;color:#fff;border-radius:.375rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;font-size:.95rem}.btn-submit:hover{background:#052d52;transform:translateY(-1px);box-shadow:0 4px 12px #0a25404d}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.settings-error{padding:.75rem;background:#ef44441a;color:#dc2626;border-radius:.375rem;font-size:.9rem;border-left:3px solid #dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content--wide{max-width:620px}.cm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media(max-width:480px){.cm-grid-2{grid-template-columns:1fr}}.cm-section-label{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.72rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.cm-contacts-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#2563eb;color:#fff;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:0}.cm-contacts-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px dashed #e5e7eb}.cm-contacts-loading{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#9ca3af;padding:.5rem 0 .75rem}.cm-no-contacts{font-size:.85rem;color:#9ca3af;margin:0 0 .75rem}.cm-contacts-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.cm-contact-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .85rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.cm-contact-row--pending{background:#eff6ff;border-color:#bfdbfe}.cm-contact-info{display:flex;align-items:center;gap:.5rem;min-width:0}.cm-principal-badge{color:#f59e0b;font-size:.9rem;flex-shrink:0}.cm-contact-nombre{display:block;font-size:.82rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-contact-email{display:block;font-size:.78rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-btn-delete-contact{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;background:#ef44441a;color:#ef4444;border:none;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;margin-left:.5rem}.cm-btn-delete-contact:hover:not(:disabled){background:#ef4444;color:#fff}.cm-btn-delete-contact:disabled{opacity:.5;cursor:not-allowed}.cm-add-contact-form{background:#f9fafb;border:1.5px dashed #d1d5db;border-radius:10px;padding:.9rem 1rem}.cm-contact-err{margin:0 0 .5rem;font-size:.8rem;color:#dc2626}.cm-add-contact-row{display:grid;grid-template-columns:1fr 1.4fr;gap:.5rem;margin-bottom:.5rem}@media(max-width:480px){.cm-add-contact-row{grid-template-columns:1fr}}.cm-input-sm{width:100%;padding:.45rem .75rem;border:1.5px solid #d1d5db;border-radius:6px;font-size:.85rem;font-family:inherit;background:#fff;color:#1e293b;transition:border-color .15s;box-sizing:border-box}.cm-input-sm:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.cm-add-contact-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.cm-check-label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.cm-check-label input[type=checkbox]{width:15px;height:15px;accent-color:#2563eb;cursor:pointer}.cm-btn-add-contact{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .9rem;background:#0f172a;color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.cm-btn-add-contact:hover:not(:disabled){background:#1e293b}.cm-btn-add-contact:disabled{opacity:.6;cursor:not-allowed}.btn-spin--sm{width:12px;height:12px;border-width:2px}.graficos-grid{display:flex;flex-direction:column;gap:1.25rem}.graficos-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.graficos-group-label{font-size:.72rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.09em;padding-bottom:.4rem;border-bottom:1px solid #f3f4f6;margin-top:.5rem}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.chart-card-wide{grid-column:1 / -1}.chart-card-header{padding:1rem 1.25rem .5rem;border-bottom:1px solid #f3f4f6;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.chart-card-title{font-size:.95rem;font-weight:700;color:#111827;margin:0}.chart-card-sub{font-size:.78rem;color:#9ca3af;font-weight:400}.chart-card-body{padding:1.25rem}.chart-empty{text-align:center;color:#9ca3af;font-size:.875rem;padding:2rem 1rem;margin:0}.chart-error{text-align:center;color:#dc2626;font-size:.875rem;padding:1rem;margin:0}.donut-wrapper{display:flex;align-items:center;gap:1.5rem}.donut-svg{width:180px;height:180px;flex-shrink:0;transform:rotate(-90deg)}.donut-segment{transition:opacity .2s}.donut-segment:hover{opacity:.8}.donut-total-value{font-size:18px;font-weight:800;fill:#111827;transform:rotate(90deg);transform-origin:center}.donut-total-label{font-size:11px;fill:#9ca3af;font-weight:500;transform:rotate(90deg);transform-origin:center}.donut-legend{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#374151}.legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-value{font-weight:600;color:#111827;white-space:nowrap}.legend-pct{color:#9ca3af;font-size:.75rem;white-space:nowrap;min-width:38px;text-align:right}.stacked-chart{display:flex;flex-direction:column;gap:.5rem}.stacked-row{display:flex;align-items:center;gap:.6rem}.stacked-label{width:120px;flex-shrink:0;font-size:.8rem;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.stacked-track{flex:1;height:26px;display:flex;border-radius:4px;overflow:hidden;background:#f9fafb}.stacked-fill{height:100%;display:flex;align-items:center;justify-content:center;transition:width .5s cubic-bezier(.4,0,.2,1);min-width:0}.stacked-green{background:#22c55e}.stacked-red{background:#ef4444}.stacked-num{font-size:.72rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.15);padding:0 .25rem}.stacked-total{width:32px;flex-shrink:0;font-size:.78rem;font-weight:700;color:#6b7280;text-align:right}.stacked-legend-row{display:flex;gap:1rem;justify-content:center;margin-top:.25rem}.prod-chart{display:flex;flex-direction:column;gap:.5rem}.prod-row{display:flex;align-items:center;gap:.6rem}.prod-label{width:120px;flex-shrink:0;font-size:.8rem;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.prod-track{flex:1;height:26px;display:flex;border-radius:4px;overflow:hidden;background:#f9fafb}.prod-fill{height:100%;display:flex;align-items:center;justify-content:center;transition:width .5s cubic-bezier(.4,0,.2,1);min-width:0}.prod-green{background:#22c55e}.prod-amber{background:#f59e0b}.prod-num{font-size:.72rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.15);padding:0 .25rem}.holds-type-chart{display:flex;flex-direction:column;gap:.75rem}.holds-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.holds-type-col{display:flex;flex-direction:column;gap:.35rem}.holds-type-heading{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding-bottom:.35rem;border-bottom:2px solid;margin:0 0 .25rem}.holds-no-afecta{color:#16a34a;border-color:#22c55e}.holds-si-afecta{color:#dc2626;border-color:#ef4444}.holds-type-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .5rem;border-radius:.375rem;background:#f9fafb}.holds-type-name{font-size:.8rem;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holds-type-badge{font-size:.75rem;font-weight:700;padding:.1rem .5rem;border-radius:20px;white-space:nowrap}.holds-type-badge.no-afecta{background:#f0fdf4;color:#16a34a}.holds-type-badge.si-afecta{background:#fef2f2;color:#dc2626}.bar-chart{width:100%}.bar-chart-bars{display:flex;align-items:flex-end;gap:.4rem;height:220px;padding-top:1.5rem}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0;height:100%}.bar-val{font-size:.7rem;font-weight:700;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.bar-track{flex:1;width:100%;max-width:48px;display:flex;align-items:flex-end;border-radius:4px 4px 0 0;overflow:hidden;background:#f9fafb}.bar-fill{width:100%;border-radius:4px 4px 0 0;transition:height .5s cubic-bezier(.4,0,.2,1);min-height:3px}.bar-label{font-size:.7rem;color:#6b7280;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.hbar-chart{display:flex;flex-direction:column;gap:.5rem}.hbar-row{display:flex;align-items:center;gap:.6rem}.hbar-label{width:130px;flex-shrink:0;font-size:.8rem;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.hbar-rank{color:#d1d5db;font-weight:800;font-size:.75rem;margin-right:.3rem}.hbar-track{flex:1;height:24px;background:#f9fafb;border-radius:4px;overflow:hidden}.hbar-fill{height:100%;border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1);min-width:3px}.hbar-val{width:80px;flex-shrink:0;font-size:.78rem;font-weight:700;color:#111827;white-space:nowrap}.grouped-chart{display:flex;flex-direction:column;gap:1rem}.grouped-legend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.grouped-bars{display:flex;align-items:flex-end;gap:1.5rem;height:200px;padding-top:1rem;justify-content:center}.grouped-col{display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%}.grouped-bar-group{flex:1;display:flex;align-items:flex-end;gap:.25rem}.grouped-bar-track{width:36px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border-radius:4px 4px 0 0;overflow:hidden;background:#f9fafb;position:relative}.grouped-bar-val{font-size:.68rem;font-weight:700;color:#374151;position:absolute;top:-16px;white-space:nowrap}.view-tabs{display:flex;gap:0;background:#f3f4f6;border-radius:.5rem;padding:3px;align-self:flex-start}.view-tab{display:flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:none;background:transparent;border-radius:.375rem;font-size:.82rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .15s;white-space:nowrap;-webkit-appearance:none;font-family:inherit;line-height:1.4}.view-tab:hover{color:#374151}.view-tab.active{background:#fff;color:#111827;box-shadow:0 1px 3px #00000014}.view-tab svg{width:15px;height:15px}@media(max-width:900px){.graficos-row{grid-template-columns:1fr}.donut-wrapper{flex-direction:column;align-items:center}.donut-legend{width:100%}.holds-type-grid{grid-template-columns:1fr}}@media(max-width:600px){.hbar-label,.stacked-label,.prod-label{width:90px;font-size:.72rem}.hbar-val{width:60px;font-size:.72rem}.bar-chart-bars{height:160px}.chart-card-body{padding:.75rem}.stacked-track,.prod-track{height:22px}.stacked-num,.prod-num{font-size:.65rem}}.reportes-page{display:flex;flex-direction:column;gap:1.25rem;max-width:1200px;margin:0 auto}.report-group-label{font-size:.72rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.09em;padding-bottom:.4rem;border-bottom:1px solid #f3f4f6;margin-top:.5rem}.kpi-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.section-controls{margin-left:auto;display:flex;align-items:center;gap:.75rem}.export-csv-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border:1.5px solid #16a34a;border-radius:.4rem;background:#f0fdf4;color:#16a34a;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.export-csv-btn:hover{background:#16a34a;color:#fff}.section-filter{display:flex;align-items:center;gap:.5rem}.section-filter label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.section-filter select{padding:.3rem .6rem;border:1.5px solid #e5e7eb;border-radius:.4rem;font-size:.82rem;color:#374151;background:#fff;cursor:pointer;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.section-filter select:focus{outline:none;border-color:#2563eb}.rpt-badge{display:inline-block;padding:.15rem .55rem;border-radius:20px;font-size:.78rem;font-weight:700}.rpt-amber{background:#fffbeb;color:#d97706}.rpt-green{background:#f0fdf4;color:#16a34a}.rpt-red{background:#fef2f2;color:#dc2626}.cc-block{border-bottom:1px solid #f3f4f6}.cc-block:last-child{border-bottom:none}.cc-header{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:#fafafa;flex-wrap:wrap}.cc-title{font-size:.9rem;font-weight:700;color:#7c3aed;min-width:80px}.cc-kpis{display:flex;gap:1rem;flex-wrap:wrap;flex:1}.cc-kpi{font-size:.78rem;color:#6b7280;white-space:nowrap}.cc-kpi strong{color:#111827}.cc-cost{color:#059669;font-weight:600}.cc-cost strong{color:#059669}.cc-table{font-size:.82rem}.mono-code{font-family:Courier New,Consolas,monospace;font-size:.8rem;background:#f8fafc;padding:.15rem .45rem;border-radius:4px;border:1px solid #e2e8f0;color:#475569}.rank-cell{color:#d1d5db;font-weight:800;font-size:.8rem;white-space:nowrap;width:36px}.cost-value{color:#111827;font-weight:700}.empty-row-msg{text-align:center;padding:1.75rem 1rem;color:#9ca3af;font-size:.875rem}@media(max-width:1100px){.kpi-grid-4{grid-template-columns:repeat(4,1fr)}}@media(max-width:860px){.kpi-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.kpi-grid-4{grid-template-columns:1fr 1fr}.section-controls{display:none}}.svc-page{display:flex;flex-direction:column;gap:1.5rem;max-width:1300px;margin:0 auto}.svc-section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;border-top-width:3px;border-top-color:#2563eb}.svc-section--green{border-top-color:#16a34a}.svc-section-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6;flex-wrap:wrap}.svc-section-title{font-size:.95rem;font-weight:700;color:#111827;margin:0}.svc-search-wrap{display:flex;align-items:center;gap:.4rem;background:#fff;border:1.5px solid #e5e7eb;border-radius:.45rem;padding:.3rem .6rem;margin-left:auto;min-width:220px;transition:border-color .15s}.svc-search-wrap:focus-within{border-color:#2563eb}.svc-search{border:none;outline:none;font-size:.82rem;color:#374151;background:transparent;flex:1;min-width:0}.svc-search-clear{background:none;border:none;cursor:pointer;color:#9ca3af;display:flex;align-items:center;padding:0;transition:color .15s}.svc-search-clear:hover{color:#6b7280}.svc-pagination{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.75rem 1.25rem;border-top:1px solid #f3f4f6;flex-wrap:wrap}.svc-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .4rem;border:1.5px solid #e5e7eb;border-radius:.35rem;background:#fff;color:#374151;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.svc-page-btn:hover:not(:disabled):not(.svc-page-btn--active){background:#f3f4f6;border-color:#d1d5db}.svc-page-btn--active{background:#2563eb;border-color:#2563eb;color:#fff;cursor:default}.svc-page-btn:disabled{opacity:.35;cursor:not-allowed}.svc-page-ellipsis{font-size:.82rem;color:#9ca3af;padding:0 .15rem;-webkit-user-select:none;user-select:none}.svc-page-info{font-size:.78rem;color:#9ca3af;margin-left:.5rem;white-space:nowrap}.mono-badge{font-family:Courier New,Consolas,monospace;font-size:.8rem;font-weight:700;color:#4338ca;background:#eef2ff;padding:.15rem .45rem;border-radius:4px;white-space:nowrap}.actions-cell{display:flex;gap:.5rem;justify-content:flex-end}.svc-hours-cell{font-size:.82rem;font-weight:600;color:#374151}.svc-hours-hold{color:#b45309}.svc-serial-btn{font-family:Courier New,Consolas,monospace;font-size:.8rem;font-weight:700;background:#eef2ff;padding:.15rem .45rem;border-radius:4px;border:1px solid #c7d2fe;color:#2563eb;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.svc-serial-btn:hover{background:#e0e7ff;border-color:#818cf8}.svc-details-btn{display:inline-flex;align-items:center;padding:.28rem .75rem;border:1.5px solid #2563eb;border-radius:.4rem;background:#eff6ff;color:#1d4ed8;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.svc-details-btn:hover{background:#2563eb;color:#fff}.svc-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.svc-modal{background:#fff;border-radius:.75rem;box-shadow:0 20px 60px #0003;width:100%;max-width:820px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.svc-modal--sm{max-width:480px}.svc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6;flex-shrink:0}.svc-modal-title{font-size:1.05rem;font-weight:700;color:#111827;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.svc-modal-close{background:none;border:none;cursor:pointer;color:#6b7280;display:flex;align-items:center;padding:.2rem;border-radius:.35rem;transition:background .15s,color .15s}.svc-modal-close:hover{background:#f3f4f6;color:#111827}.svc-modal-body{overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.svc-detail-section{border:1px solid #f3f4f6;border-radius:.5rem;padding:1rem;background:#fafafa}.svc-detail-title{font-size:.8rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.07em;margin:0 0 .75rem}.svc-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem 1rem}.svc-detail-grid>div{display:flex;flex-direction:column;gap:.15rem}.svc-label{font-size:.72rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.svc-detail-full{margin-top:.75rem;display:flex;flex-direction:column;gap:.25rem}.svc-detail-text{margin:0;font-size:.85rem;color:#374151;line-height:1.5;background:#fff;border:1px solid #e5e7eb;border-radius:.35rem;padding:.5rem .75rem}.svc-inner-table{font-size:.82rem}.svc-report-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .9rem;background:#eff6ff;color:#1d4ed8;border:1.5px solid #2563eb;border-radius:999px;font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;font-family:inherit;transition:background .15s,transform .15s,box-shadow .15s}.svc-report-btn:hover{background:#dbeafe;transform:translateY(-1px);box-shadow:0 3px 8px #2563eb33}.svc-empty-text{margin:0;color:#9ca3af;font-size:.85rem}.svc-assign-section{background:#f8faff;border-color:#dbeafe}.svc-assign-grid{display:flex;flex-direction:column;gap:.75rem}.svc-assign-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.svc-assign-label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:#374151;min-width:150px;flex-shrink:0}.svc-assign-ctrl{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.svc-assign-select{flex:1;min-width:0;padding:.4rem .65rem;border:1.5px solid #e5e7eb;border-radius:.4rem;font-size:.84rem;color:#111827;background:#fff;cursor:pointer;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.svc-assign-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.svc-assign-select:disabled{opacity:.6;cursor:not-allowed}.svc-assign-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem .9rem;border:none;border-radius:.4rem;background:#2563eb;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;min-width:72px;transition:background .15s}.svc-assign-btn:hover:not(:disabled){background:#1d4ed8}.svc-assign-btn:disabled{opacity:.65;cursor:not-allowed}.svc-assign-btn--full{align-self:flex-end;padding:.45rem 1.2rem;gap:.4rem}.svc-save-msg{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;padding:.45rem .75rem;border-radius:.4rem;margin-bottom:.75rem}.svc-save-msg--ok{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.svc-save-msg--err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.svc-hold-section{background:#fffdf7;border-color:#fde68a}.svc-hold-section--active{background:#fffbeb;border-color:#f59e0b;border-width:1.5px}.svc-hold-section .svc-detail-title{display:flex;align-items:center;gap:.4rem;color:#92400e}.svc-hold-form{display:flex;flex-direction:column;gap:.75rem}.svc-hold-razon-row{display:flex;flex-direction:column;gap:.35rem}.svc-hold-textarea{width:100%;padding:.5rem .65rem;border:1.5px solid #e5e7eb;border-radius:.4rem;font-size:.84rem;font-family:inherit;color:#111827;background:#fff;resize:vertical;min-height:52px;transition:border-color .15s;box-sizing:border-box}.svc-hold-textarea:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 3px #d977061a}.svc-hold-textarea:disabled{opacity:.6;cursor:not-allowed}.svc-hold-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1.1rem;border:none;border-radius:.4rem;background:#d97706;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;align-self:flex-end;min-width:130px;transition:background .15s}.svc-hold-btn:hover:not(:disabled){background:#b45309}.svc-hold-btn:disabled{opacity:.55;cursor:not-allowed}.svc-hold-active-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1.5px solid #fbbf24;border-radius:.5rem;padding:.85rem 1rem;flex-wrap:wrap}.svc-hold-active-info{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.svc-hold-active-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;color:#b45309;background:#fef3c7;padding:.2rem .65rem;border-radius:999px;width:fit-content}.svc-hold-pulse{width:8px;height:8px;border-radius:50%;background:#f59e0b;animation:holdPulse 1.5s ease-in-out infinite}@keyframes holdPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.svc-hold-active-detail{display:flex;flex-direction:column;gap:.1rem;font-size:.84rem;color:#374151}.svc-hold-restore-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1.1rem;border:none;border-radius:.4rem;background:#059669;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;min-width:155px;transition:background .15s;flex-shrink:0}.svc-hold-restore-btn:hover:not(:disabled){background:#047857}.svc-hold-restore-btn:disabled{opacity:.6;cursor:not-allowed}.svc-hold-block-banner{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:#fffbeb;border:1px solid #fde68a;border-radius:.4rem;font-size:.82rem;font-weight:600;color:#92400e;margin-bottom:.75rem}.svc-report-btn--disabled{opacity:.45;cursor:not-allowed;pointer-events:auto}.svc-report-btn--disabled:hover{background:#eff6ff;transform:none;box-shadow:none}.svc-maq-info-grid{display:flex;flex-direction:column;border:1px solid #f3f4f6;border-radius:.5rem;overflow:hidden}.svc-maq-info-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .9rem;border-bottom:1px solid #f3f4f6;background:#fff}.svc-maq-info-row:last-child{border-bottom:none}.svc-maq-info-row:nth-child(2n){background:#fafafa}.svc-maq-info-val{font-size:.875rem;color:#111827;font-weight:500;text-align:right}@media(max-width:768px){.svc-search-wrap{margin-left:0;width:100%;min-width:0}.svc-modal{max-height:95vh}.svc-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.svc-modal-overlay{align-items:flex-end;padding:0}.svc-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:92vh;box-shadow:0 -8px 40px #0003}.svc-modal--sm{max-width:100%}.svc-assign-row{flex-direction:column;align-items:flex-start}.svc-assign-label{min-width:0}.svc-assign-ctrl{width:100%}.svc-hold-active-card{flex-direction:column;align-items:stretch}.svc-hold-restore-btn{width:100%}.svc-hold-btn{align-self:stretch}}@media(max-width:480px){.svc-detail-grid{grid-template-columns:1fr}}.ck-page{max-width:680px;margin:0 auto;padding:0 0 3rem}.ck-page--admin{max-width:100%;margin:0;padding:0 0 3rem}.ck-section{margin-top:1.75rem}.ck-section-title{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.ck-active-card{background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:16px;padding:1.75rem 1.5rem;color:#fff;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;box-shadow:0 8px 32px #0f172a40;position:relative;overflow:hidden}.ck-active-card:before{content:"";position:absolute;top:-40px;right:-40px;width:150px;height:150px;background:#ffffff0a;border-radius:50%}.ck-active-badge{display:inline-flex;align-items:center;gap:.45rem;background:#22c55e26;border:1px solid rgba(34,197,94,.4);color:#86efac;font-size:.78rem;font-weight:700;letter-spacing:.05em;padding:.25rem .75rem;border-radius:999px;text-transform:uppercase}.ck-pulse{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:ckPulse 1.6s ease-in-out infinite}@keyframes ckPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.ck-active-ticket{font-size:1rem;color:#94a3b8;margin-top:.25rem}.ck-ticket-num{font-weight:800;font-family:Courier New,monospace;color:#60a5fa;font-size:1.05em}.ck-active-timer{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;line-height:1;color:#fff}.ck-active-since{font-size:.82rem;color:#94a3b8}.ck-active-notas{font-size:.85rem;color:#cbd5e1;font-style:italic;margin:.25rem 0 0;max-width:380px}.ck-map-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#93c5fd;text-decoration:none;border-bottom:1px dashed rgba(147,197,253,.4);padding-bottom:1px;transition:color .15s}.ck-map-link:hover{color:#bfdbfe}.ck-map-link--sm{font-size:.75rem;color:#3b82f6}.ck-map-link--sm:hover{color:#1d4ed8}.ck-checkout-btn{margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem;background:#ef4444;color:#fff;border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;box-shadow:0 4px 12px #ef444459}.ck-checkout-btn:hover{background:#dc2626;transform:translateY(-1px)}.ck-checkout-btn:active{transform:translateY(0)}.ck-tickets-grid{display:grid;gap:.85rem;grid-template-columns:1fr}@media(min-width:560px){.ck-tickets-grid{grid-template-columns:repeat(2,1fr)}}.ck-ticket-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 1px 4px #0000000d;transition:box-shadow .15s}.ck-ticket-card:hover{box-shadow:0 4px 14px #0000001a}.ck-ticket-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ck-ticket-card-cliente{font-size:.88rem;font-weight:600;color:#1e293b}.ck-ticket-card-resp{font-size:.8rem;color:#64748b}.ck-ticket-card-detalle{font-size:.78rem;color:#94a3b8;margin:.15rem 0 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ck-ticket-maq{font-family:Courier New,monospace;font-size:.75rem;background:#f1f5f9;color:#475569;padding:.15rem .45rem;border-radius:5px;white-space:nowrap}.ck-checkin-btn{margin-top:.6rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:#1d4ed8;color:#fff;border:none;border-radius:8px;padding:.55rem 1rem;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s;width:100%}.ck-checkin-btn:hover{background:#1e40af}.ck-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;color:#94a3b8;text-align:center}.ck-empty p{margin:0;font-size:.9rem}.ck-history-list{display:flex;flex-direction:column;gap:.6rem}.ck-history-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem}.ck-history-row--active{border-color:#22c55e;background:#f0fdf4}.ck-history-row-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ck-badge-active{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#15803d;background:#dcfce7;border:1px solid #bbf7d0;padding:.1rem .45rem;border-radius:999px}.ck-history-dur{margin-left:auto;font-size:.8rem;font-weight:700;color:#475569}.ck-history-times{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem;font-size:.78rem;color:#64748b}.ck-history-times span{display:inline-flex;align-items:center;gap:.25rem}.ck-history-coords{margin-top:.35rem;display:flex;gap:.75rem}.ck-geo-status{display:flex;align-items:flex-start;gap:.4rem;font-size:.82rem;border-radius:8px;padding:.55rem .75rem;margin-bottom:.5rem}.ck-geo-status--loading{background:#f8fafc;color:#64748b}.ck-geo-status--ok{background:#f0fdf4;color:#15803d}.ck-geo-status--err{background:#fef2f2;color:#b91c1c}.ck-modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}@media(min-width:560px){.ck-modal-overlay{align-items:center;padding:1rem}}.ck-modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 -8px 40px #0003;display:flex;flex-direction:column}@media(min-width:560px){.ck-modal{border-radius:16px;max-height:80vh}}.ck-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid #f1f5f9}.ck-modal-header h3{font-size:1.05rem;font-weight:700;color:#1e293b;margin:0}.ck-modal-close{background:none;border:none;cursor:pointer;color:#64748b;padding:.25rem;border-radius:6px;display:flex;align-items:center;transition:color .15s}.ck-modal-close:hover{color:#1e293b}.ck-modal-body{padding:1.1rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:.85rem}.ck-modal-ticket-info{display:flex;flex-direction:column;gap:.5rem;background:#f8fafc;border-radius:10px;padding:.85rem 1rem}.ck-modal-ticket-info>div{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.ck-modal-desc{font-size:.9rem;color:#475569;margin:0;line-height:1.6}.ck-label{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ck-modal-field{display:flex;flex-direction:column;gap:.35rem}.ck-textarea{border:1px solid #e2e8f0;border-radius:8px;padding:.6rem .75rem;font-size:.88rem;color:#1e293b;resize:vertical;transition:border-color .15s;font-family:inherit;line-height:1.5}.ck-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ck-modal-footer{display:flex;gap:.75rem;padding:1rem 1.25rem 1.25rem;border-top:1px solid #f1f5f9}.ck-btn-secondary{flex:1;background:#f1f5f9;color:#475569;border:none;border-radius:10px;padding:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.ck-btn-secondary:hover{background:#e2e8f0}.ck-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.ck-btn-primary{flex:2;background:#1d4ed8;color:#fff;border:none;border-radius:10px;padding:.75rem;font-size:.9rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:background .15s}.ck-btn-primary:hover{background:#1e40af}.ck-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ck-btn-checkout{flex:2;background:#ef4444;color:#fff;border:none;border-radius:10px;padding:.75rem;font-size:.9rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:background .15s}.ck-btn-checkout:hover{background:#dc2626}.ck-btn-checkout:disabled{opacity:.6;cursor:not-allowed}.ck-map-modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:620px;max-height:92vh;overflow:hidden;box-shadow:0 -8px 40px #0003;display:flex;flex-direction:column}@media(min-width:560px){.ck-map-modal{border-radius:16px;max-height:85vh}}.ck-map-embed-wrap{flex:1;min-height:320px;background:#f1f5f9;position:relative}.ck-map-embed-wrap iframe{width:100%;height:100%;min-height:320px;border:none;display:block}.ck-map-modal-footer{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;border-top:1px solid #f1f5f9;flex-shrink:0}.ck-map-open-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:#1d4ed8;text-decoration:none;padding:.5rem 1rem;border:1.5px solid #bfdbfe;border-radius:8px;background:#eff6ff;transition:background .15s;flex:1;justify-content:center}.ck-map-open-link:hover{background:#dbeafe;text-decoration:none}button.ck-map-link,button.ck-map-link--sm{background:none;border:none;cursor:pointer;font-family:inherit;padding:0 0 1px}.ck-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:10px;font-size:.88rem;font-weight:600;z-index:2000;white-space:nowrap;max-width:90vw;box-shadow:0 4px 20px #0003;animation:ckToastIn .25s ease}@keyframes ckToastIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.ck-toast--ok{background:#166534;color:#dcfce7}.ck-toast--err{background:#991b1b;color:#fee2e2}.spin-ring--sm{width:14px;height:14px;border-width:2px}.ck-admin-wrap{display:flex;flex-direction:column;gap:0}.ck-pulse-dot{display:inline-block;width:10px;height:10px;background:#22c55e;border-radius:50%;animation:ckPulse 1.6s ease-in-out infinite;flex-shrink:0}.ck-admin-cards{display:flex;flex-direction:column;gap:.7rem}.ck-admin-active-card{background:#fff;border:1px solid #bbf7d0;border-left:4px solid #22c55e;border-radius:12px;padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 1px 4px #22c55e14}.ck-admin-active-left{display:flex;align-items:center;gap:.85rem;flex:1;min-width:0}.ck-admin-active-name{font-weight:700;font-size:.95rem;color:#1e293b}.ck-admin-active-ticket{font-size:.82rem;color:#64748b;margin-top:.1rem}.ck-admin-active-since{font-size:.75rem;color:#94a3b8;margin-top:.1rem}.ck-admin-active-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.ck-admin-active-timer{font-size:1.4rem;font-weight:800;color:#15803d;letter-spacing:-.02em;line-height:1}.ck-avatar{width:34px;height:34px;min-width:34px;background:#e0e7ff;color:#3730a3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem}.ck-avatar--lg{width:42px;height:42px;min-width:42px;font-size:1rem}.ck-empty-sm{color:#94a3b8;font-size:.88rem;padding:.75rem 0}.ck-admin-hist-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.ck-admin-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-left:auto}.ck-filter-select,.ck-filter-date{border:1px solid #e2e8f0;border-radius:8px;padding:.4rem .65rem;font-size:.83rem;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.ck-filter-select:focus,.ck-filter-date:focus{outline:none;border-color:#3b82f6}.ck-filter-clear{background:#f1f5f9;border:none;border-radius:6px;padding:.4rem .5rem;cursor:pointer;color:#64748b;display:flex;align-items:center;transition:background .15s}.ck-filter-clear:hover{background:#e2e8f0}.ck-admin-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #e2e8f0}.ck-admin-table{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff}.ck-admin-table thead th{background:#f8fafc;color:#64748b;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:.7rem .9rem;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.ck-admin-table tbody td{padding:.65rem .9rem;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#374151}.ck-admin-table tbody tr:last-child td{border-bottom:none}.ck-admin-table tbody tr:hover{background:#f8fafc}.ck-row-active{background:#f0fdf4!important}.ck-td-tecnico{display:flex;align-items:center;gap:.5rem;white-space:nowrap;font-weight:600}.ck-td-time{white-space:nowrap;color:#475569}.ck-td-dur{font-weight:700;color:#1e293b;white-space:nowrap}.ck-dur-live{color:#15803d}.ck-coords-cell{display:flex;gap:.5rem;align-items:center}.ck-no-coords{color:#d1d5db;font-size:.75rem}.ck-map-link--out{color:#dc2626}.ck-map-link--out:hover{color:#b91c1c}.ck-table-empty{text-align:center;padding:2rem;color:#9ca3af}.sig-wrap{display:flex;flex-direction:column;gap:.5rem}.sig-label{font-size:.85rem;font-weight:700;color:#374151;margin:0}.sig-canvas-box{position:relative;border:2px solid #e5e7eb;border-radius:.5rem;background:#fafafa;overflow:hidden;cursor:crosshair;touch-action:none}.sig-canvas-box:focus-within,.sig-canvas-box:hover{border-color:#2563eb}.sig-canvas{display:block;width:100%;height:160px;touch-action:none}.sig-hint{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:.72rem;color:#d1d5db;pointer-events:none;-webkit-user-select:none;user-select:none}.sig-clear{align-self:flex-end;padding:.25rem .75rem;font-size:.78rem;background:none;border:1px solid #e5e7eb;border-radius:.4rem;color:#9ca3af;cursor:pointer;transition:all .15s}.sig-clear:hover{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.evidencias-capture{margin-top:4px;padding:16px 20px}.evidencias-grid{display:flex;gap:12px;flex-wrap:wrap}.evidencia-thumb{position:relative;width:100px;height:100px;border-radius:10px;overflow:hidden;border:2px solid #e2e8f0;flex-shrink:0}.evidencia-thumb img{width:100%;height:100%;object-fit:cover}.evidencia-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#ef4444e6;color:#fff;border:none;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .15s}.evidencia-remove:hover{transform:scale(1.15)}.evidencia-number{position:absolute;bottom:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#1e293bb3;color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.evidencia-add{width:100px;height:100px;border-radius:10px;border:2px dashed #cbd5e1;background:#f8fafc;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#64748b;transition:all .2s;flex-shrink:0}.evidencia-add:hover{border-color:#818cf8;background:#eef2ff;color:#4338ca}.evidencia-add svg{width:28px;height:28px}.evidencia-add span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.evidencias-hint{margin:8px 0 0;font-size:.78rem;color:#94a3b8}.sr-page{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;padding-bottom:2rem}.sr-page-header{display:flex;align-items:flex-start;gap:1rem}.sr-back-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .9rem;background:#fff;border:1.5px solid #e5e7eb;border-radius:.5rem;color:#374151;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;flex-shrink:0;margin-top:.25rem}.sr-back-btn svg{width:16px;height:16px}.sr-back-btn:hover{background:#f3f4f6;border-color:#d1d5db}.sr-page-title{font-size:1.5rem;font-weight:800;color:#111827;margin:0 0 .2rem}.sr-page-sub{font-size:.875rem;color:#6b7280;margin:0}.sr-card{background:#fff;border:1px solid #e5e7eb;border-radius:.875rem;overflow:hidden}.sr-card-header{display:flex;align-items:center;gap:.65rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:700;letter-spacing:.01em}.sr-card-header svg{width:17px;height:17px;flex-shrink:0}.sr-card-header.blue{background:#eff6ff;color:#1d4ed8;border-bottom:1px solid #dbeafe}.sr-card-header.teal{background:#f0fdfa;color:#0f766e;border-bottom:1px solid #ccfbf1}.sr-card-header.amber{background:#fffbeb;color:#b45309;border-bottom:1px solid #fde68a}.sr-card-header.purple{background:#faf5ff;color:#7c3aed;border-bottom:1px solid #e9d5ff}.sr-card-header.green{background:#f0fdf4;color:#15803d;border-bottom:1px solid #bbf7d0}.sr-card-header.indigo{background:#eef2ff;color:#4338ca;border-bottom:1px solid #c7d2fe}.sr-card-header.red{background:#fef2f2;color:#b91c1c;border-bottom:1px solid #fecaca}.sr-card-header.dark{background:#1e293b;color:#f8fafc;border-bottom:none}.sr-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem 1.5rem;padding:1rem 1.25rem}.sr-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 1.5rem;padding:1rem 1.25rem}.sr-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;padding:1rem 1.25rem}.sr-border-top{border-top:1px solid #f3f4f6}.sr-field-ro{display:flex;flex-direction:column;gap:.25rem}.sr-lbl{font-size:.72rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.sr-val{font-size:.9rem;color:#111827;font-weight:500}.sr-val.accent{color:#2563eb;font-weight:700;font-size:1rem}.sr-val.accent-num{color:#059669;font-weight:700;font-size:1rem;font-variant-numeric:tabular-nums}.sr-val.mono{font-family:Courier New,monospace;font-size:.85rem}.sr-val.small{font-size:.8rem}.sr-field{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1.25rem}.sr-field label{font-size:.78rem;font-weight:600;color:#374151}.sr-field select,.sr-field input[type=text],.sr-field input[type=number],.sr-field input[type=time]{padding:.55rem .8rem;border:1.5px solid #e5e7eb;border-radius:.45rem;font-size:.875rem;color:#111827;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sr-field select:focus,.sr-field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.sr-field textarea{padding:.6rem .8rem;border:1.5px solid #e5e7eb;border-radius:.45rem;font-size:.875rem;color:#111827;font-family:inherit;resize:vertical;background:#fff;transition:border-color .15s,box-shadow .15s;line-height:1.55}.sr-field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.sr-charcount{font-size:.72rem;color:#d1d5db;text-align:right}.req{color:#ef4444}.sr-ticket-status{display:flex;gap:.5rem;flex-wrap:wrap}.sr-chip{display:flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border:1.5px solid #e5e7eb;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;color:#6b7280}.sr-chip input{display:none}.sr-chip.active-open{background:#eff6ff;border-color:#2563eb;color:#2563eb}.sr-chip.active-close{background:#fef2f2;border-color:#b91c1c;color:#b91c1c}.sr-billing-row{display:flex;gap:.75rem;padding:1rem 1.25rem;flex-wrap:wrap}.sr-billing-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1.5px solid #e5e7eb;border-radius:.5rem;font-size:.82rem;font-weight:600;color:#374151;cursor:pointer;transition:all .15s}.sr-billing-toggle input{display:none}.sr-billing-toggle.on{background:#f0fdf4;border-color:#86efac;color:#15803d}.sr-billing-toggle.off{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.billing-badge{padding:.15rem .5rem;border-radius:10px;font-size:.72rem;background:#00000012}.sr-billing-note{font-size:.78rem;color:#9ca3af;padding:0 1.25rem 1rem;margin:0}.sr-diag-client{display:flex;flex-direction:column;gap:.4rem;padding:1rem 1.25rem;background:#fafafa;border-bottom:1px solid #f3f4f6}.sr-client-detail{font-size:.875rem;color:#374151;font-weight:500}.sr-horas-efectivas{padding:.5rem 1.25rem;font-size:.85rem;color:#059669;background:#f0fdf4;border-top:1px solid #bbf7d0}.sr-counter-hint{font-size:.72rem;color:#9ca3af}.sr-companions{padding:1rem 1.25rem}.sr-companions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.sr-companions-header .sr-lbl{font-weight:600;font-size:.85rem;color:#374151}.sr-add-companion-btn{-webkit-appearance:none;padding:.4rem .85rem;font-size:.78rem;font-weight:600;color:#4f46e5;background:#eef2ff;border:1.5px solid #c7d2fe;border-radius:.5rem;cursor:pointer;transition:background .15s,border-color .15s}.sr-add-companion-btn:hover{background:#e0e7ff;border-color:#a5b4fc}.sr-companions-empty{font-size:.8rem;color:#9ca3af;font-style:italic;margin:0}.sr-companion-row{display:flex;align-items:flex-end;gap:.6rem;padding:.6rem 0;border-bottom:1px solid #f3f4f6;flex-wrap:wrap}.sr-companion-row .sr-field{flex:1;min-width:120px}.sr-companion-row .sr-field label{font-size:.72rem;color:#6b7280;margin-bottom:.2rem;display:block}.sr-companion-row .sr-field select,.sr-companion-row .sr-field input{width:100%;padding:.45rem .6rem;border:1.5px solid #e5e7eb;border-radius:.5rem;font-size:.82rem;-webkit-appearance:none}.sr-companion-hours{display:flex;align-items:center;padding-bottom:.15rem;min-width:55px}.sr-comp-eff{font-size:.82rem;font-weight:600;color:#059669}.sr-comp-eff.dim{color:#d1d5db}.sr-companion-row .sr-remove-btn{margin-bottom:.25rem}@media(max-width:600px){.sr-companion-row{flex-direction:column;align-items:stretch;gap:.4rem}.sr-companion-row .sr-field{min-width:100%}.sr-companion-hours{align-self:flex-end}}.sr-parts-search-row{display:flex;gap:.6rem;padding:1rem 1.25rem;align-items:flex-start}.sr-parts-search-wrap{flex:1;position:relative}.sr-parts-search{width:100%;padding:.55rem .8rem;border:1.5px solid #e5e7eb;border-radius:.45rem;font-size:.875rem;font-family:inherit;color:#111827;background:#fff;transition:border-color .15s,box-shadow .15s}.sr-parts-search:focus{outline:none;border-color:#4338ca;box-shadow:0 0 0 3px #4338ca14}.sr-parts-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 8px 24px #0000001a;list-style:none;margin:0;padding:.35rem 0;z-index:200;max-height:220px;overflow-y:auto}.sr-parts-dropdown li{display:flex;flex-direction:column;padding:.55rem .9rem;cursor:pointer;transition:background .1s}.sr-parts-dropdown li:hover{background:#f5f3ff}.sr-parts-dropdown li .pnum{font-size:.78rem;color:#4338ca;font-weight:700;font-family:Courier New,monospace}.sr-parts-dropdown li .pdesc{font-size:.85rem;color:#374151}.sr-search-spin{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid #e5e7eb;border-bottom-color:#4338ca;border-radius:50%;animation:sr-spin .8s linear infinite}.sr-qty-input{width:70px;padding:.55rem .5rem;border:1.5px solid #e5e7eb;border-radius:.45rem;font-size:.875rem;font-family:inherit;text-align:center;flex-shrink:0}.sr-add-part-btn{padding:.55rem 1.1rem;background:#4338ca;color:#fff;border:none;border-radius:.45rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.sr-add-part-btn:hover:not(:disabled){background:#3730a3}.sr-add-part-btn:disabled{opacity:.4;cursor:not-allowed}.sr-table-wrap{overflow-x:auto;padding:0 1.25rem 1.25rem}.sr-table{width:100%;border-collapse:collapse;font-size:.875rem}.sr-table th{padding:.55rem .75rem;text-align:left;font-size:.72rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f3f4f6;background:#fafafa}.sr-table td{padding:.65rem .75rem;color:#374151;border-bottom:1px solid #f9fafb;vertical-align:middle}.sr-table tr:last-child td{border-bottom:none}.sr-table tr:hover td{background:#fafafa}.sr-table .center{text-align:center}.mono-badge{font-family:Courier New,monospace;font-size:.8rem;font-weight:700;color:#4338ca;background:#eef2ff;padding:.2rem .5rem;border-radius:.3rem}.sr-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid #e5e7eb;border-radius:.35rem;color:#9ca3af;cursor:pointer;font-size:.8rem;transition:all .15s}.sr-remove-btn:hover{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.pending-count{display:inline-block;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:10px;padding:.15rem .6rem;font-size:.8rem;font-weight:700}.sr-action-select{padding:.3rem .4rem;border:1px solid #e5e7eb;border-radius:.35rem;font-size:.85rem;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sr-pending-note{font-size:.82rem;color:#9ca3af;padding:.75rem 1.25rem .25rem;margin:0}.sr-sigs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.25rem}.sr-save-error{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.65rem;color:#b91c1c;font-size:.88rem}.sr-save-error svg{width:18px;height:18px;flex-shrink:0}.sr-footer-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.sr-cancel-btn{padding:.7rem 1.5rem;background:#fff;border:1.5px solid #e5e7eb;border-radius:.5rem;color:#374151;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .15s}.sr-cancel-btn:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.sr-save-btn{padding:.7rem 1.75rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-weight:700;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .15s;min-width:160px;justify-content:center}.sr-save-btn svg{width:17px;height:17px}.sr-save-btn:hover:not(:disabled){background:#1d4ed8}.sr-save-btn:disabled{opacity:.6;cursor:not-allowed}.sr-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:4rem;color:#6b7280}.sr-spinner,.sr-btn-spin{width:20px;height:20px;border:2px solid #e5e7eb;border-bottom-color:#2563eb;border-radius:50%;animation:sr-spin .8s linear infinite;display:inline-block}.sr-btn-spin{width:16px;height:16px;border-bottom-color:#fff;border-color:#ffffff59}.sr-page-error{padding:2rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#b91c1c}@keyframes sr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.sr-grid-4,.sr-grid-3{grid-template-columns:1fr 1fr}.sr-grid-2,.sr-sigs-grid{grid-template-columns:1fr}.sr-parts-search-row{flex-wrap:wrap}.sr-qty-input,.sr-add-part-btn{width:100%}.sr-footer-actions{flex-direction:column-reverse}.sr-cancel-btn,.sr-save-btn{width:100%;justify-content:center}}@media(max-width:480px){.sr-grid-4,.sr-grid-3{grid-template-columns:1fr}.sr-billing-row{flex-direction:column}.sr-billing-toggle{justify-content:space-between}}.footer-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.support-card{width:100%;padding:1.25rem;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:.75rem}.support-title{font-size:.8rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.support-links{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.support-link{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-weight:500;font-size:.875rem;transition:all var(--transition-fast);padding:.35rem .5rem;border-radius:var(--radius-sm)}.support-link:hover{color:var(--accent-primary);background:#2563eb0d;text-decoration:none}.icon-wrapper{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f3f4f6;color:var(--text-secondary);transition:all var(--transition-fast)}.support-link:hover .icon-wrapper{background:#dbeafe;color:var(--accent-primary)}.icon-wrapper svg{width:14px;height:14px}.divider-dot{width:3px;height:3px;border-radius:50%;background:var(--border-color)}.copyright{text-align:center;font-size:.78rem;color:var(--text-muted);line-height:1.6}.copyright a{color:var(--text-secondary)}.copyright a:hover{color:var(--accent-primary);text-decoration:underline}@media(max-width:480px){.support-links{flex-direction:column;gap:.4rem}.divider-dot{display:none}.support-link{width:100%;justify-content:center}}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative;overflow:hidden;align-items:center;justify-content:center;padding:2rem 1rem}.background-shapes{display:none}.main-content{width:100%;max-width:420px;z-index:1;display:flex;flex-direction:column;gap:1.25rem;animation:fadeUp .45s ease-out both}.auth-card{padding:2.5rem 2rem;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1.75rem}.logo-container{display:flex;flex-direction:column;align-items:center;gap:.75rem}.logo-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #2563eb40;margin-bottom:.25rem}.logo-image{max-width:200px;height:auto}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.view-transition{position:relative;width:100%}@media(max-width:640px){.auth-card{padding:2rem 1.5rem}.logo-image{max-width:160px}}
