@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary:#1565c0;--primary-dark:#0d47a1;--primary-light:#1e88e5;--accent:#ff6f00;--success:#2e7d32;--danger:#c62828;--warning:#e65100;--bg:#f4f6f9;--surface:#fff;--border:#e0e0e0;--text:#212121;--text-secondary:#757575;--shadow:0 2px 8px #00000014;--radius:12px;--radius-sm:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}#root{background:var(--surface);max-width:480px;min-height:100dvh;margin:0 auto;position:relative;box-shadow:0 0 40px #0000001f}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.w-full{width:100%}.text-sm{font-size:.875rem}.text-center{text-align:center}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-auto{margin-top:auto}.mb-4{margin-bottom:16px}.p-4{padding:16px}.px-4{padding-left:16px;padding-right:16px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:12px;padding-bottom:12px}.relative{position:relative}.hidden{display:none}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:500;text-decoration:none;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--bg);color:var(--primary);border:1.5px solid var(--primary)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-block{width:100%}.btn-sm{padding:6px 14px;font-size:.8rem}.input-group{flex-direction:column;gap:4px;display:flex}.input-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.input-field{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);outline:none;padding:12px 14px;font-size:.95rem;transition:border-color .2s}.input-field:focus{border-color:var(--primary)}.input-field.error{border-color:var(--danger)}.input-error{color:var(--danger);font-size:.8rem}.input-wrapper{position:relative}.input-wrapper .input-field{padding-right:44px}.input-icon-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;align-items:center;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-body{padding:16px}.topbar{background:var(--primary);color:#fff;z-index:50;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.topbar h1{font-size:1.05rem;font-weight:600}.topbar-icon{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);z-index:50;display:flex;position:sticky;bottom:0}.bottom-nav-item{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px;font-size:.7rem;transition:color .15s;display:flex}.bottom-nav-item.active{color:var(--primary)}.tabs{border-bottom:1.5px solid var(--border);background:var(--surface);display:flex}.tab-btn{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;flex:1;padding:12px 4px;font-size:.82rem;font-weight:500;transition:color .15s,border-color .15s}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tarea-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border-left:4px solid var(--primary-light);cursor:pointer;margin:0 12px 10px;padding:14px 16px;transition:box-shadow .15s}.tarea-card:active{box-shadow:none}.tarea-card h3{font-size:.95rem;font-weight:600}.tarea-card .meta{color:var(--text-secondary);margin-top:4px;font-size:.8rem}.tarea-badge{border-radius:20px;margin-top:6px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge-pendiente{color:var(--warning);background:#fff3e0}.badge-proceso{color:var(--primary);background:#e3f2fd}.badge-completada{color:var(--success);background:#e8f5e9}.cajero-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 12px 12px;overflow:hidden}.cajero-header{background:var(--primary);color:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.cajero-body{padding:14px 16px}.comment-item{gap:10px;margin-bottom:12px;display:flex}.comment-avatar{object-fit:cover;background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:600;display:flex}.comment-bubble{background:var(--bg);border-radius:0 12px 12px;flex:1;padding:8px 12px;font-size:.875rem}.comment-bubble.mine{background:#e3f2fd;border-radius:12px 0 12px 12px}.comment-meta{color:var(--text-secondary);margin-top:4px;font-size:.72rem}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{flex:1;justify-content:center;align-items:center;min-height:200px;display:flex}.offline-banner{background:var(--warning);color:#fff;text-align:center;padding:6px;font-size:.8rem;font-weight:500}.pending-lock{pointer-events:none;opacity:.65}.avatar{object-fit:cover;border:3px solid var(--primary);border-radius:50%;width:72px;height:72px}.avatar-placeholder{background:var(--primary);color:#fff;border:3px solid var(--primary);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.8rem;font-weight:700;display:flex}.auth-page{background:linear-gradient(160deg, var(--primary-dark) 0%, var(--primary) 60%, var(--primary-light) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{background:var(--surface);border-radius:20px;width:100%;max-width:400px;padding:32px 24px;box-shadow:0 8px 40px #00000040}.auth-logo{background:var(--primary);color:#fff;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;font-size:2.2rem;display:flex}@keyframes atmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes atmSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-banner{background:var(--primary-dark);color:#fff;border-radius:var(--radius);z-index:100;align-items:center;gap:10px;width:calc(100% - 24px);max-width:420px;padding:12px 16px;display:flex;position:fixed;bottom:70px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000004d}.install-banner p{flex:1;font-size:.85rem;font-weight:500}.estados-grid{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.estado-chip{border:1.5px solid var(--border);background:var(--bg);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .15s}.estado-chip.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.foto-preview{border-radius:var(--radius-sm);object-fit:cover;width:100%;max-height:200px}.foto-thumbnail{border-radius:var(--radius-sm);object-fit:cover;cursor:pointer;width:80px;height:80px}.indicadores-row{gap:8px;padding:12px;display:flex}.indicador-card{background:var(--surface);border-radius:var(--radius-sm);text-align:center;box-shadow:var(--shadow);flex:1;padding:12px 8px}.indicador-card .num{color:var(--primary);font-size:1.6rem;font-weight:700}.indicador-card .lbl{color:var(--text-secondary);margin-top:2px;font-size:.7rem}.scroll-area{flex:1;padding-bottom:80px;overflow-y:auto}
